Вопрос по заголовкам в отчетах

 
Parents
  • Как показало расследование, такой переменной !!user действительно по умолчанию в PDMS нет. В Introduction можно писать не то же самое, что в командную строку, а только те выражения, которые заранее предопределены в макросах, описывающих репорты. Вот здесь и выяснилось, что в мануале говорится:
    The following examples are mainly taken from the templates supplied with the product.
    'Page No. ' + vtext (!pageno)
    'User name: ' + vtext(!!user)
    'Date: ' + vtext(!date) + ' ' + vtext(!time)
    ''
    'Nozzle Schedule for ' + vtext(!selhierarchy)
    'Summary: ' + vtext(!selsize) + ' Nozzles in Schedule'

    Я проверил - vtext(!date),  vtext(!time) работают, а vtext(!!user) - не работает, как и !pageno.
    Вскрытие показало, что в в скобках после vtext можно писать только те переменные, которые заданы в файле шаблона (на самом деле во временном файле в директории pdmswk, так как исполняется именно он, но в общем-то это одно и тоже :) )
    Так вот, переменная !!user там не описана, вот и не выводится.
    Судя по тому, что в отчие от даты и прочих вариантов, эта переменная глобальная, то скорее всего великий замысел разработчиков заключался в том, чтобы её можно было вводить независимо от репорта.
    Итого
    Есть два пути получить имя юзера во вступлении отчёта:
    1. Перед тем как запускать отчёт с vtext(!!user) надо ввести в командной строке !!user = 'Пупкин' либо var !!user evar username
    2. Поправить пару файликов в папочке C:\AVEVA\Pdms11.6.SP4\pdmsui\clib\rep (если интересно, могу написать, где именно)
Reply
  • Как показало расследование, такой переменной !!user действительно по умолчанию в PDMS нет. В Introduction можно писать не то же самое, что в командную строку, а только те выражения, которые заранее предопределены в макросах, описывающих репорты. Вот здесь и выяснилось, что в мануале говорится:
    The following examples are mainly taken from the templates supplied with the product.
    'Page No. ' + vtext (!pageno)
    'User name: ' + vtext(!!user)
    'Date: ' + vtext(!date) + ' ' + vtext(!time)
    ''
    'Nozzle Schedule for ' + vtext(!selhierarchy)
    'Summary: ' + vtext(!selsize) + ' Nozzles in Schedule'

    Я проверил - vtext(!date),  vtext(!time) работают, а vtext(!!user) - не работает, как и !pageno.
    Вскрытие показало, что в в скобках после vtext можно писать только те переменные, которые заданы в файле шаблона (на самом деле во временном файле в директории pdmswk, так как исполняется именно он, но в общем-то это одно и тоже :) )
    Так вот, переменная !!user там не описана, вот и не выводится.
    Судя по тому, что в отчие от даты и прочих вариантов, эта переменная глобальная, то скорее всего великий замысел разработчиков заключался в том, чтобы её можно было вводить независимо от репорта.
    Итого
    Есть два пути получить имя юзера во вступлении отчёта:
    1. Перед тем как запускать отчёт с vtext(!!user) надо ввести в командной строке !!user = 'Пупкин' либо var !!user evar username
    2. Поправить пару файликов в папочке C:\AVEVA\Pdms11.6.SP4\pdmsui\clib\rep (если интересно, могу написать, где именно)
Children
No Data