Для создания шаблонов документов необходимо было создать подстановки, которые можно использовать внутри шаблона. Для шаблонного языка был выбран язык Liquid, документация по синтаксису доступна по адресу http://wiki.github.com/tobi/liquid/liquid-for-designers.

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

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

Подстановки

Если в описании подстановки упоминается слово "список", то под ним понимается строка, состоящая из элементов, разделённых запятой (,).
Плюсом (plus) помечены подстановки, реализованные в текущей версии.
Выделением помечены подстановки возвращающие массив объектов, свойства которых описаны в таблице

Подстановки для документов

Объект в шаблоне: 'doc'

  Номер документа: {{doc.vc_doc_no}}

(plus)

VC_DOC_NO

Номер документа

(plus)

D_DOC_FULL_MONTH

Дата создания, полный месяц

(plus)

D_DOC_YEAR

Дата создания, год

(plus)

D_DOC_MONTH

Дата создания, месяц

(plus)

D_DOC_DAY

Дата создания, день

(plus)

CLIENT_TARIFS

Список тарифов, на которые подписан абонент

(plus)

CLIENT_DOC_NO

Номер документа

(plus)

CLIENT_DOC_SERIAL

Серия документа

(plus)

CLIENT_DOCUMENT

Кем выдан документ

(plus)

CLIENT_ADDRESS

Адрес получателя

(plus)

CLIENT_PHONE

Контактный телефон абонента

(plus)

CLIENT_BIRTH_PLACE

Место рождения

(plus)

CLIENT_BIRTHDAY

Дата рождения

(plus)

CLIENT_DOC_DATE

Дата получения документа

(plus)

CLIENT_CODE

Код получателя

(plus)

CLIENT_NAME

Имя получателя

(plus)

BILL_COMPOSITION

Состав счёта

  • vc_good_name - Наименование товара
  • vc_unit_base_name - Единица измерения
  • n_quant - Единица измерения
  • n_price - Цена
  • n_sum - Сумма

(plus)

BILL_TOTALS

Итого счета

  • n_good_count - количество наименований
  • n_sum_sum - Общая сумма
  • n_sum_tax_sum - Общая сумма налогов
  • n_sum_wo_tax_sum - Общая сумма без налогов

Подстановки для абонентов

Объект в шаблоне: 'user'

  Имя пользователя: {{user.full_name}}

(plus)

ADDRESS

Адрес

(plus)

ACCOUNTS_LIST

Список счетов

(plus)

FULL_NAME

Полное имя

(plus)

DOCUMENTS_LIST

Список документов

(plus)

PARENT_TYPE_ID

Тип родителя

(plus)

SERVICES

Службы и сервисы

  • n_service_id - идентификатор службы
  • vc_service - название службы
  • vc_login - Логин
  • vc_pass - Пароль (заполняется только при смене паролей)

(plus)

DEVICES

Оборудование

  • vc_device_code - код устройства
  • vc_addr_code - адрес подключения
  • n_good_type_id - тип оборудования
  • vc_ip_code - IP-адрес
  • vc_subnet_mask - Маска подсети
  • vc_default_gw - Шлюз по умолчанию

Подстановки для Объектов

Подстановки для Констант

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

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

К документу приложен пример файла, использующий текущие возможности шаблонов.

Подстановки хранятся в базе, и создаются по нашему запросу.