Руководство разработчика

Визуальный шаблон окна типовой операции

Шаблон окна типовой операции задается после заголовка типовой операции перед ключевым словом ВЫЧИСЛИТЬ. Здесь может содержаться обычная текстовая информация, а также графы ввода, кнопки и опции, задаваемые при помощи специальных конструкций. Форматирование текста в окне типовой операции полностью соответствует заданному в шаблоне.

Пример:

Число        :&число&&&&&&&&&&&&&
Строка       :*строка************
Дата         :~дата
Код счета    :^код_счета^^^^^^^^^
Опция        :*%опция: "Опция"
Кнопка       :*#кнопка("My.ibl", "ОбрНаж"): "Кнопка"

Размер окна вычисляется в зависимости от содержимого. Пустые строки в конце шаблона не учитываются. Временно не используемые графы или текст можно закомментировать с помощью фигурных скобок.

Пример:

Дата 1 :~дата1 {Код счета    :^код_счета^^^^^^^^^}
Дата 2 :~дата2

Графа ввода счета будет отсутствовать в окне типовой операции.

Если в последней строке шаблона расположены только кнопки, то дополнительная строка не добавляется, а кнопки помещаются в одну линию с кнопками "ОК" и "Отмена". При этом разработчик должен убедиться, что дополнительные кнопки не перекрывают стандартные, т.е. находятся на достаточном расстоянии от них слева или справа.

В шаблоне типовой операции может использоваться специальный управляющий символ "|" (вертикальная черта). При обработке шаблона типовой операции этот символ заменяется пробелом, но перед этим позволяет подавить нежелательные эффекты, возникающие из-за похожести синтаксиса граф и кнопок на выражения внутреннего языка. Например, вертикальная черта может использоваться для разделения следующих одной за другой кнопок:

  *#кноп1("My.ibl", "ОбрНаж"): "Кнопка 1"   *#кноп2("My.ibl", "ОбрНаж"): "Кнопка 2"

Такой фрагмент шаблона даст ошибку, т.к. текст кнопок вычисляется как выражение. В соответствии с правилами внутреннего языка фрагмент:

"Кнопка 1"   *

является строковой константой и операцией умножения, после которой ожидается второй операнд. Для устранения такого нежелательного эффекта один из пробелов, разделяющих кнопки заменим вертикальной чертой:

  *#кноп1("My.ibl", "ОбрНаж"): "Кнопка 1" | *#кноп2("My.ibl", "ОбрНаж"): "Кнопка 2"

Теперь обработка шаблона произойдет без ошибки. При этом, вертикальная черта не добавляет в строку к кнопкам каких-то дополнительных элементов. Если такие кнопки заданы в последней непустой строке шаблона, то кнопки будут расположены в одну линию со стандартными. Также избежать подобных нежелательных эффектов позволяют строковые подстановки.

Другая возможность, связаная с использованием вертикальной черты – принудительное добавление пустых строк в конце шаблона. Например, это может потребоваться, чтобы кнопки последней строки располагались выше стандартных кнопок "ОК" и "Отмена".

Пример:

Дата      :~дата 
Код счета :^код_счета^^^^^^^^^
*#кноп1("My.ibl", "ОбрНаж"): "Кнопка 1" | *#кноп2("My.ibl", "ОбрНаж"): "Кнопка 2"
|

Для добавления дополнительных строк снизу вертикальная черта должна указываться строго в первой позиции. Для добавления нескольких дополнительных строк вертикальная черта может указываться в начале каждой или только последней строки - эффект будет одинаковый. Дополнительные строки участвуют в прокрутке содержимого типовой операции наряду с другими элементами и текстом. Эта возможность поддерживается начиная с версии 8.893.

Не рекомендуется использовать в шаблоне типовой операции символы табуляции (ASCII 9) и неразрывного пробела (ASCII 160), т.к. визуально они не отличимы от обычных пробелов, но создают текстовые блоки, влияющие на размер окна типовой операции.


См. также: