Печать в MSWord и Open Office Writer

Материал из GB wiki
Перейти к: навигация, поиск


Печать в MSWord из ГБ

Для экспорта данных из ПФ в документ MS Word необходимо

  1. Создать новую печатную форму, выбрав вид формы «Word-овая».
  2. В редакторе печатных форм в свойствах формы задать имя файла-шаблона и, если нужно, имя файла-результата. Если отмечен чекбокс «Внедрить», файл-шаблон будет внедрён в печатную форму.

Остальные параметры установить как для основной печатной формы.

Структура печатной формы

  1. В ПФ должны располагаться все необходимые бэнды для вывода нужной информации. Тип бэндов – «Custom».
  2. В каждом бэнде определяются поля, необходимые для передачи в документ Word (поля, уже имеющиеся в датасете бэнда переопределять не нужно).

Файл-шаблон

Создается документ-шаблон формата MS Word. Документ-шаблон – это обычный документ Word (doc), содержащий текст, таблицы, рисунки и пр., в котором для указания границ бэндов и последующего вывода данных из ГБ используются «Word-поля» типа «Формула» (в Word – пункт меню «Вставка» → «Поле…» → «Формула…» или Ctrl+F9).
Таким образом, в том месте документа, в котором нужно обозначить границу бэнда или вывести значение какого-то поля из ГБ, вставляются «Формулы», содержащие имена соответствующих датасетов и полей в ГБ.

Границы бэндов в шаблоне обозначаются полями с ключевыми словами:

$GBDataSetBegin.XXX (начало бэнда)
$GBDataSetEnd.XXX (конец бэнда)

где XXX – имя датасета данного бэнда в ГБ.

Внутри бэнда располагаются поля, принадлежащие ему. Поля обозначаются ключевым словом $GBField.XXX.YYY, где XXX – имя датасета данного бэнда, YYY – имя поля в данном датасете, например:

$GBField.DataSet.DocNumber

Кроме имён полей можно использовать функции ГБ, например:

 $GBField.DataSet.FormatDate(`YYYY-MM-DD`,DocDate)

Необходимо соблюдать вложенность бэндов в шаблоне. Например, внешний бэнд для основных полей документа (DataSet) и вложенный в него источник товарных строчек документа (Goodies):

$GBDataSetBegin.DataSet
 $GBField.DataSet.DocNumber
  $GBDataSetBegin.Goodies
   $GBField.Goodies.Articul.Name
  $GBDataSetEnd.Goodies
$GBDataSetEnd.DataSet

В документах-шаблонах Word «поля-формулы» используются для вывода значений из ГБ как в обычном тексте, так и в ячейках таблиц.

Печать в LibreOffice Writer из ГБ

Для экспорта данных из ПФ в документ Writer необходимо

  1. Создать новую печатную форму, выбрав вид формы «Word-овая».
  2. В редакторе печатных форм в свойствах формы задать имя файла-шаблона (тип odt) и, если нужно, имя файла-результата. Если отмечен чекбокс «Как файл», файл-шаблон будет внедрён в печатную форму (чекбокс «Внедрить» для печатных форм Writer неприменим из-за особенностей реализации LibreOffice).

Остальные параметры установить как для основной печатной формы.

Структура печатной формы

  1. В ПФ должны располагаться все необходимые бэнды для вывода нужной информации. Тип бэндов – «Custom».
  2. В каждом бэнде определяются поля, необходимые для передачи в документ Writer (поля, уже имеющиеся в датасеnе бэнда переопределять не нужно).

Файл-шаблон

Создается документ-шаблон формата Writer (odt). Документ-шаблон – это обычный документ Writer (odt), содержащий текст, таблицы, рисунки и пр., в котором для указания границ бэндов и последующего вывода данных из ГБ используются «Writer-поля» типа «Поле пользователя». Для вставки такого поля нужно во Writer открыть пункт меню «Вставка» → «Поле…» → «Ещё поля…» (или Ctrl+F2) и переключиться на вкладку «Переменные».
Затем добавляются поля. Для каждого такого поля нужно выбрать тип «Поле пользователя», формат «Текст», задать «Имя» (произвольное, не связано с именами в ГБ) и «Значение», содержащее имена датасета и поля в ГБ.
Таким образом, в том месте документа, в котором нужно обозначить границу бэнда или вывести значение какого-то поля из ГБ, вставляются «Поля пользователя», содержащие имена соответствующих датасетов и полей в ГБ.

Ключевые слова для границ бэндов и полей, правила вложенности бэндов, возможность использования функций ГБ для полей и т.п. аналогичны таковым для печатных форм MS Word (см. выше).

Примечание. В отличие от шаблонов Word, в документах-шаблонах Writer «Поля пользователя» используются только в обычном тексте, а ячейках таблиц нужно использовать текстовое описание поля (т.е. вместо вставки «Writer-поля» со значением $GBField.DataSet.DocNumber в ячейки таблиц нужно вставлять само это значение в виде обычного текста).

Например:

Наименование товара Артикул
$GBField.Goodies.Articul.Name $GBField.Goodies.Articul.Number

Пример файла-шаблона для MS Word
Пример печатной формы для Writer