Содержание

Часть 1. Введение.

Шаблоны используются для создания печатных форм документов. Шаблон создается в обычном текстовом или табличном редакторе таком как: Microsoft Word, Microsoft Excel, OpenOffice Writer, OpenOffice Calc. DataExpress поддерживает следующие форматы шаблонов: DOCX, DOCM, ODT, Word XML, ODS, HTML. DataExpress работает с файлом шаблона напрямую, поэтому текстовый редактор может быть любым, способный открыть один из перечисленных форматов.

Шаблоны хранятся в папке, указанной в настройках программы: Папка шаблонов в настройках Если папка шаблонов не указана, то используется папка по умолчанию: <Папка программы>\templates. Печатная форма создается программой в папке вывода (выделена зеленым прямоугольником). Если папка не указана, то используется временная папка текущего пользователя. Для каждого из возможных форматов, вы можете указать программу, в которой будет открываться печатная форма. Если программа не указана, то документ открывается в программе по умолчанию.

Еще есть возможность указать папку шаблонов в командной строке (ключ t). Подробности читайте в руководстве пользователя.

Мы будем изучать шаблон, идущий вместе с базой DEMO_DB. Шаблоны находятся в папке по умолчанию. Открыть папку можно, выбрав пункт меню «Файл-Шаблоны-Папка шаблонов». Папка откроется в окне проводника. Папка шаблонов в проводнике Каждый шаблон связан с определенной формой. Привязка осуществляется через свойство формы: шаблоны. Свойство "Шаблоны" В отдельной строке указывается имя файла с расширением. Шаблоны допускается хранить в подпапках.

В Windows разделительным знаком при записи пути является обратная косая черта (\), в Linux - косая черта (/). При записи пути к папке шаблонов или шаблону не имеет значения какой разделитель применяется.

После привязки шаблонов становится доступной кнопка «Печать» на панели кнопок. Кнопка "Печать" Откроем наконец-то шаблон и посмотрим, что там внутри! Откроем шаблон «Счет», который привязан к форме «Продажа товаров». Редактирование шаблона По этому шаблону печатаются сведения о счете за покупку товаров определенным клиентом. Как видите, шаблон представляет собой обычный документ. Поля формы пишутся в квадратных скобках. Обратите внимание, что обращение к полю объекта имеет следующий вид: Объект|Поле (Клиент|Название, Клиент|Адрес).

В общем виде обращение к объекту можно записать так: Объект|Объект|…|Объект|Поле.

К слову сказать, вычисляемые надписи тоже можно напечатать таким же образом как и поля.

Список товаров перечисляется в таблице. Для того, чтобы напечатать более одной записи в таблице документа используется тег grid. Тег пишется в фигурных скобках. Сразу за тегом, отделяясь вертикальной чертой, идет параметр тега - название формы. Тег говорит программе, что следующие за тегом поля относятся к форме, указанной в теге. Область действия тега ограничивается тегом end. Когда программа встречает тег end, программа переходит к следующей записи и возвращается к тегу grid, тем самым повторяя действие уже для следующей записи. И так до тех пор, пока не будут напечатаны все записи. После этого программа переключается на предыдущую форму и идет дальше по шаблону.

Кроме тега grid, есть еще тег form. Отличие тегов grid и form в том, что grid используется для печати списка записей в таблице документа (!), а form - в тексте документа или в отдельной ячейке таблицы. Неправильное использование тегов может привести к нарушению структуры документа и текстовый редактор его не сможет открыть. Способ записи тегов одинаковый: form|Название формы, grid|название формы.

Если внимательно посмотреть на форму «Продажа товаров», то можно увидеть, что компонента «сумма прописью» нет на форме, но тем не менее данные печатаются. Дело в том, что «сумма прописью» - это вычисляемое поле - произвольное выражение, которое вычисляется при печати документа. Это очень удобно, когда нужно выполнить дополнительную обработку данных при печати.

Доступ к вычисляемым полям можно получить через одноименное свойство формы. Вычисляемые поля формы В первой колонке название вычисляемого поля, во второй - само выражение. Выражение может быть произвольным. Вычисляемое поле может представить в шаблоне в компактном виде довольно сложные вычисления. В окне мы видим два поля. Второе поле печатает номер строки таблицы. Т. к. поле принадлежит родительской форме, но находится внутри тега grid подчиненной формы, нужно перед именем поля поставить восклицательный знак, чтобы программа могла понять, что это поле принадлежит родительской форме (см. рисунок шаблона выше, первый столбец таблицы документа).

Резюме

  1. Поля пишутся в квадратных скобках: [Номер].
  2. Поля объектов пишутся следом за именем объекта, отделяясь вертикальной чертой: [Клиент|Название].
  3. Для печати списка записей формы используются теги grid и form. Тег grid используется для печати данных в таблице документа, form - в тексте документа или отдельной ячейки таблицы.
  4. Внутри тега можно обратиться к полю родительской записи, поставив перед именем поля восклицательный знак: [!№].
  5. Если поля расположены вне тега form или grid, то печатаются данные текущей записи родительской формы.
  6. Вычисляемые поля могут выполнять сложные вычисления при печати документа.