Директивы печатной формы указывают ее параметры и действуют до конца формы или до тех пор, пока их не отменят, либо переопределят.
Директивы начинаются с символа # и пишутся заглавными буквами (за исключением директивы #Barcode).
Таблица 4. Директивы печатных форм
| Директива | Значение |
|---|---|
| #FORM ИмяФормы | Задание имени документа, которое будет высвечиваться в списке печатаемых документов. Директива обязательно должна присутствовать в начале шаблона. |
| #ENDFORM | Конец печатной формы. Директива обязательно должна присутствовать в конце шаблона. |
| // | Однострочный комментарий. Текст, расположенный в строке после комментария, программа игнорирует. |
| #LANG |
Двухбуквенное обозначение языка. Например, Данная директива поддерживает следующие языки:
|
| #PORTRAIT #LANDSCAPE |
Задают ориентацию ПФ, портретную или альбомную соответственно. Если не задан ни один из этих параметров, то по умолчанию используется портретная ориентация. |
| #UNDERLINE {Символ подчеркивания} |
Формат: #UNDERLINE {Символ подчеркивания} В фигурных скобках указывается символ или набор символов, которые будут определяться в строке как начало, либо конец подчеркивания строки. Например,
Адрес *отправителя* — В данном случае слово «адрес» не будет подчеркнуто, а «отправителя» будет. |
| #STRETCH {Символ растягивания} | В фигурных скобках указывается символ или набор символов. Следующий за этим знаком символ будет растягивать строку. Если длина строки больше ширины страницы, то будет происходить не растягивание, а сжатие строки до размеров страницы. |
| #ENDSTRETCH | Отменяет режим растягивания. |
| #PRINTPAGENUMBER |
Печатать номера страниц. Формат: #PRINTPAGENUMBER {расположение номера страницы} В качестве атрибута директивы необходимо указать TOP или BOTTOM, а ПоГориз — LEFT, CENTER или RIGHT.
Например, |
| #ALIGN |
Режим выравнивания строки по странице. Выравнивание происходит следующим образом:
Директива работает по умолчанию, если только не задана директива |
| #DONTALIGN | Отменяет выравнивание строки и печатает ее, как она есть. |
| #SPLIT {Символ разделителя} |
Символ разделителя. Формат: #SPLIT {Символ разделителя} (Ширина левой половины до разделителя) В фигурных скобках указывается символ или набор символов разделителя. В обычных скобках указывается число, либо формула. Например, |
| #ENDSPLIT | Отмена режима разделения страницы. |
| #ALIAS |
|
| #NEWPAGE | Принудительный переход на следующую страницу. |
| #TABLE |
Начало таблицы и ее параметры. В фигурных скобках длины столбцов через точку с запятой. Формат: #TABLE {Ширины столбцов} Параметры Например,
Параметры — значения GRID или SPACE GRID — линия между позициями в документе. SPACE — пустая строка между позициями в документе. |
| #ENDTABLE | Конец таблицы. |
| #BODY | Начало тела таблицы. |
| #N | Номер позиции внутри #BODY, тела таблицы |
| #ENDBODY | Конец тела таблицы. |
| #SUMI_P, #SUMD_P и #SUMM_P | Суммы по столбцам на странице. Целое число, число с плавающей запятой и денежном формате (2 знака после запятой) соответственно. |
| #SUMI, #SUMD и #SUMM | Суммы по столбцам итоговые по всем позициям. Целое число, число с плавающей запятой и денежном формате (2 знака после запятой). |
| #SUM(ИмяПеременной) | Сумма какой-либо переменной в таблице. |
| #BLOCK | Неделимая часть. Если текст внутри блока не помещается на страницу, то переносится на следующую. |
| #ENDBLOCK | Конец неделимой части. |
| #Barcode | Директива вывода номера текущего документа в штрих-код при печати. Возможен вывод штрих-кода тремя способами.
|
| #WORDWRAP | Директива переноса строки с использованием символа разрыва строки.
Возможные значения:
Директива предназначена для переноса текста печатной формы на следующую строчку. Без использования директивы длинный текст может не поместиться на листе и будет оборван. Текст, заключенный в параметры директивы, корректно переносится на следующую строку печатной формы при превышении размеров формы, которые определяются системой автоматически для каждого принтера. Формат использования директивы: #WORDWRAP 1 <Строка> #WORDWRAP 0, то есть текст должен быть размещен отдельной строкой между #WORDWRAP 1 и #WORDWRAP 0. Пример строки для шаблона печатной формы: #WORDWRAP 1 Грузополучатель и его адрес: $ClientName;, $ClientAttr845; #WORDWRAP 0. |
| #IF Переменная |
Условие на переменную. Если указанная в директиве переменная возвращает непустое значение, то при формировании печатной формы обрабатывается шаблон, указанный в директиве между строками #IF и #ENDIF, в противном случае шаблон игнорируется. Структура директивы: #IF Переменная Шаблон #ENDIF В шаблоне может быть использован любой текст и другие переменные, описанные в данном разделе. Шаблон может быть многострочным. Пример использования смотрите в описании директивы #LIST. |
| #ENDIF | Конец условия на переменную. |
| #LIST($OrderActionsAvail, $Comment) |
Директива возвращает перечень комментариев по активным на момент формирования печатной формы акций для клиента, на которого оформлен документ, в виде:
Пример использования директив IF, ENDIF, LIST($OrderActionsAvail, $Comment) и переменной OrderActionsAvail Чтобы отобразить информацию об акциях, используя директивы IF, ENDIF, LIST($OrderActionsAvail, $Comment) и переменную OrderActionsAvail, добавьте в описание печатной формы следующий код: #IF $OrderIsActionsAvail Уважаемый клиент! Вашему вниманию предлагаются следующие акции: #List($OrderActionsAvail, $Comment) Подробности – у нашего мобильного сотрудника. #ENDIF Вид при печати документа если акции доступны (пример): Уважаемый клиент! Вашему вниманию предлагаются следующие акции: Купите две упаковки лимонада и получите пачку сока. Купите три упаковки сока и получите бутылку лимонада. Подробности – у нашего мобильного сотрудника. Если акции не доступны, указанный текст не будет выведен на печать. |
| #FONTSIZE N |
Директива настройки размера шрифта текста, выводимого в печатной форме, где N - размер шрифта. Значение N для растровых принтеров - число от 6 до 12. Пример:
|
| #LINEHEIGHT M |
Директива настройки межстрочного интервала текста, выводимого в печатной форме с момента указания этой директивы до следующей директивы #LINEHEIGHT M , либо до конца печатной формы, где М – числовое значение интервала. По умолчанию М=1,2*max(N) (т.е. 1N = высота шрифта,0,2N непосредственно между строками, max(N) – максимальное значение N в данной строке), где N — размер шрифта, указанный в директиве #FONTSIZE. Пример:
При указании директивы необходимо соблюдать следующие требования:
|
|
#PAGEHEADER строка для вывода в колонтитул #ENDPAGEHEADER |
Директива для вывода колонтитула на каждый лист документа. Для вывода верхнего колонтитула указывается директива #PAGEHEADER. Для вывода нижнего колонтитула указывается директива #PAGEHEADER BOTTOM. Строка для вывода в колонтитул может содержать текст, атрибуты и другие директивы. При использовании директивы #PAGEHEADER должны быть выполнены следующие условия:
|