Просмотр Исходного

При создании и редактировании шаблона возможно использование переменных печати в формате Django Template. Возможные тэги django template можно посмотреть в данной статье https://djbook.ru/rel1.6/ref/templates/builtins.html Для вставки значения из переменной в шаблоне необходимо использовать две пары фигурных скобок с названием переменной внутри, т.е. вот так \-  {{ название_переменной }} . Ниже приведен небольшой пример.

[Использование шаблона печати и его настройка^Шаблон.png] - Это один из шаблонов по умолчанию, карточка абонента. При печати карточки такого абонента - [Использование шаблона печати и его настройка^Абонент.png] может быть создан следующий html-документ \- [Использование шаблона печати и его настройка^Карточка.png]. Обратите внимание что текст шаблона содержащий переменные был заменен на различный текст. Так например вместо *{{ abonent.name }}* было подставлено _"ООО Лучший провайдер"_. Важно заметить и знать, что если при печати переменная не содержит значения, то будет вставлена пустая строка и никаких сообщений об ошибке не появится.

Ниже приведен неполный список доступных к использованию переменных:
* *abonent* \- Информация по абоненту. У этой переменной есть поля, содержащие более детальную информацию. Список полей:
** *name* \- ФИО абонента
** *contract_number* \- Номер договора абонента.
** *email* \- Адрес электронной почты абонента.
** *sms* \- Телефонный номер абонента.
** *home* \- Адрес дома абонента.
** *a_home_number* \- Номер квартиры абонента.
** *create_date* \- Дата договора.
** *nds* \- процент НДС
* *tarif* \- Тариф абонента. У этой переменной есть поля, содержащие более детальную информацию. Список полей:
** *name* \- Название тарифа.
** *tarif_group* \- Текстовое имя группы тарифа.
** *limit* \- Ограничение по данному тарифу.
** *get_abon_sum* \- Абонентская плата тарифа.
* *users* \- Содержит список учетных записей абонента. *{{ users.0 }}* \- первая учетная запись абонента, *{{ users.1 }}* \- вторая учетная запись абонента, *{{ users.2 }} *\- третья учетная запись абонента и т.д.. У каждой учетной записи есть поля, содержащие более детальную информацию. Список полей:
** *login* \- логин учетной записи.
** *psw* \- пароль учетной записи.
** *ip* \- IP адрес учетной записи.
** *mask* \- Маска подсети учетной записи.
** *mask_str* \- Маска подсети в десятичной форме.
** *pull* \- IP пул абонента
*** *gateway* \- шлюз, указанный в пуле
* *full_credit_summ* \- сумму текущего счёта + задолженность за предыдущий период.
* *services* \- Содержит список активных услуг абонента. *{{ services.0 }}* \- первая услуга абонента, *{{ services.1 }}* \- вторая услуга абонента, *{{ services.2 }} *\- третья услуга абонента и т.д.. У каждой услуги есть поля, содержащие более детальную информацию. Список полей:
** *comment* \- Примечание.
** *usluga* \- Услуга абонента. У этой переменной есть поля, содержащие более детальную информацию. Список полей:
*** *name* \- Название услуги.
*** *nds* \- процент НДС
*** *summa* \- цена услуги
*** *activate_pay* \- стоимость подключения услуги
* *active_services* \- Содержит список включенных, но, не обязательно, активных услуг абонента. *{{* *active_services{*}*.0 }}* \- первая услуга абонента, *{{* *active_services{*}*.1 }}* \- вторая услуга абонента, *{{* *active_services{*}*.2 }} *\- третья услуга абонента и т.д.. У каждой услуги есть поля, содержащие более детальную информацию. Список полей аналогичен *services*
* *operator* \- Оператор связи, обслуживающий абонента. У этой переменной есть поля, содержащие более детальную информацию.
** *name* \- Название оператора связи.
** *email* \- Адрес электронной почты оператора связи.
** *sms* \- Телефон оператора связи.
* *operator_attrs* \- Содержит список значений реквизитов оператора. Полный список доступных реквизитов можно посмотреть в разделе _"Справочники"_ на вкладке _"Реквизиты"_ - [Использование шаблона печати и его настройка^Реквизиты.png]. Для указания реквизита через точку к названию переменной необходимо дописать его номер, т.е. например *{{ operator_attrs.25 }}* подставит значения реквизита _"Юридический адрес"_.
* *abonent_attrs* \- Содержит список значений реквизитов абонента. Полный список доступных реквизитов можно посмотреть в разделе _"Справочники"_ на вкладке _"Реквизиты"_ \- [Использование шаблона печати и его настройка^Реквизиты.png]. Для указания реквизита через точку к названию переменной необходимо дописать его номер, т.е. например *{{ abonent_attrs.33 }}* подставит значения реквизита _"Комментарий"_.
* *abonent_attrs_names* \- Содержит список названий реквизитов абонента. Например *{{ abonent_attrs_names.33 }}* подставит название реквизита, т.е. _"Комментарий"_.
* *voip_logs* \- Содержит список звонков у каждой учетной записи абонента. 
** *account_number* \- Номер абонента в учетной записи
*** *s_time* \- время начала звонка.
*** *mask* \- маска исходящего номера.
*** *direction_name* \- направление звонка
*** *v* \- время звонка в минутах
*** *bill_sum* \- стоимость звонка.
* *descr* \- содержимое поля "Описание" при формировании документа.
* *abonent_status* \- статус подключения
* *abonent_substatus* \- подстатус подключения

{tip}
Вывод всех доступных в шаблоне переменных
{code}
{% debug %}
{code}
{tip}

{info}Для того, чтобы печатать финансовые документы, как PDF, необходимо перейти в настройки оператора связи - настройки биллинга и включить опцию "Печатать финансовые документы, как PDF"{info}

!PDF.png|border=1!