Подстановки:

  1. Подстановки для документов
  2. Подстановки для субъектов

Краткое описание:

Для шаблонного языка выбран Liquid, документация по синтаксису доступна по адресу https://github.com/Shopify/liquid/wiki/Liquid-for-Designers/.

Использование подстановок
Hello {{name}}
Циклы
{% for item in array %}
  {{ item }}
{% endfor %}
Условия
{% if user.age > 18 %}
   Login here
{% else %}
   Sorry, you are too young
{% endif %}
Фильтры

Пример преобразования к верхнему регистру

Hello {{ 'tobi' | upcase }} => Hello TOBI

Пример взятия первых нескольких символов строки (первый параметром передаётся количество символов, вторым — подстрока, обозначающая факт обрезания входной строки):

{%assign vc_code = 'АБ-27'%}
{{vc_code|truncate:2,''}} => АБ
{{vc_code|truncate:4,'...'}} => А...

 

Константы

Для использования констант есть специальный объект CONST

{% if service.n_service_id == CONST.NETSERV_ARM_Private_Office %}
  Личный кабинет находится по адресу <a href="https://my.domen.ru/">https://my.domen.ru</a>.
{% endif %}

Дополнительные функции

Дополнительные параметры

Числовые

Применимы ко всем числам и числовым подстановкам

Работа с датами

Применимы ко всем датам

Пример:

{{ doc.d_time | simple_date }}
{{ doc.d_doc | full_date }}

Массивы

Пример:

Счета поставщика через запятую {{ doc.provider.accounts_personal | join_by_comma:'vc_code' }}

Штрихкоды

Из любой подстановки можно сделать штрихкод. Для этого после подстановки нужно добавить фильтр с параметрами:
1. Тип штирхкода. Поддерживаются:

2. Ширина, см (px)
3. Высота, см (px)

Для конкатенации подстановок или строк можно использовать фильтр append.
Пример:

{{doc.n_doc_id | append: doc.n_doc_type_id | barcode: 'BARCODE_PLS', 8, 3}}

Шаблоны для массовой генерации печатных форм

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

...
##-- begin document item (group by N, per page M) --##
...
##-- end document item --##
...
Параметры:
Текст в начале документа, выводится только 1 раз.
##-- begin document item (group by 5, per page 2) --##
Код абонента {{user.vc_code}} (выводится для всех сущностей, по которым выполняется массовая печать)
##-- end document item --##
Текст в конце документа, выводится только 1 раз.

Параметры group by и per page можно не указывать. В этом случае будут использоваться настройки из файла конфигурации приложения «Офис оператора связи»: print.items_in_file и print.items_per_page.

Текст в начале документа, выводится только 1 раз.
##-- begin document item --##
Код абонента {{user.vc_code}} (выводится для всех сущностей, по которым выполняется массовая печать)
##-- end document item --##
Текст в конце документа, выводится только 1 раз.