Шаблон договора
Шаблон представляет собой произвольный документ в формате Microsoft Word 2007 (DOCX), в котором с помощью тегов отмечены места, в которые подставляются значения. Пример простого тега: [НачалоТура]. В процессе создания печатной формы Договора вместо данного тега будет выведена дата начала тура - "24 апреля 2014 г.".
Для договора определен свой набор тегов, который можно использовать в шаблоне. Для каждой таблицы документа "Заявка" можно использовать только заданные для этой таблицы теги. Например, внутри таблицы Отели определены теги [C], [По], [Отель], [ТипПитания], [Размещение].
Таблицы
Перед таблицей в шаблоне необходимо указать, какие данные будут выводиться (источник):
[Таблица источник=Отели]
Дополнительно можно также определить количество строк в заголовке и в итогах. По умолчанию считается, что в таблице заголовок состоит из одной строки и нет строки итогов.
[Таблица источник=Доплаты заголовок=1 итоги=1]
Фрагменты
Табличные данные можно выводить внутри текста с помощью специальной синтаксической конструкции - фрагмента. Пример фрагмента для перечисления через запятую имен и фамилий туристов с датой рождения в скобках.
Список туристов: <<#{Туристы}|, |[ФамилияИмя] ([ДатаРождения])>>
Фрагмент начинается символами <<, затем следует символ #, определяющий тип фрагмента, внутри фигурных скобок указывается название таблицы, далее между двумя символами | задается разделитель. В качестве разделителя может выступать любой текст, для перевода строки можно использовать пару символов \n. На этом заканчивается определение фрагмента и начинается содержательная часть, в которой можно использовать теги, определенные для таблицы. Заканчивается фрагмент символами >>.
Тип фрагмента задается одним из трех символов: #, ? и !
- # - содержимое фрагмента вычисляется и выводится для всех строк таблицы,
- ? - содержимое фрагмента вычисляется и выводится только для первой строки таблицы, если таблица не пустая,
- ! - содержимое фрагмента выводится только если таблица пустая.
Например, вывести информацию о первом туристе можно с помощью следующего фрагмента:
<<?{Туристы}[ФамилияИмя][Паспорт ? ", паспорт " + Паспорт][ДатаРождения ? ", дата рождения " + ДатаРождения]>>
Информацию о визовой поддержке можно вывести следующим образом:
Визовая поддержка<<!{Визы} не предоставляется>>.
С помощью фрагментов (типов ? и !) можно также выводить текст, если выполняется некоторое условие. Например, первый параграф с информацией о предоплате выводится только в том случае, если заполнено поле Предоплата в заявке, в противном случае выводится второй параграф:
<<?{СуммаПредоплаты}Необходимо внести предоплату в размере [СуммаПредоплаты] до [ДатаПредоплаты].>>
<<!{СуммаПредоплаты}Оплата в размере 100% от стоимости тура должна быть внесена до [ДатаОплаты].>>
Остались вопросы? Напишите нам на e-mail