Печать в MSWord и Open Office Writer — различия между версиями

Материал из GB wiki
Перейти к: навигация, поиск
Строка 4: Строка 4:
  
  
'''''Для создания Word-ой формы необходимо:'''''
+
'''''Для экспорта данных из ПФ в документ MS Word необходимо'''''
  
# Создать новую форму, выбрать вид формы Word-овая.
+
# Создать новую печатную форму, выбрав вид формы «Word-овая».
# В редакторе печатных форм в свойствах формы (свойства элемента: TGBWordReport) задать имя файла-шаблона, имя файла-результата. Если отмечена галочка «Внедрить», содержимое файла-шаблона сохранится в печатной форме.
+
# В редакторе печатных форм в свойствах формы задать имя файла-шаблона и, если нужно, имя файла-результата. Если отмечена галочка «Внедрить», файл-шаблон будет внедрён в печатную форму.
 
Остальные параметры установить как для основной печатной формы.
 
Остальные параметры установить как для основной печатной формы.
  
 +
'''''Структура печатной формы'''''
  
'''''Для формирования печатной формы:'''''
+
# В ПФ должны располагаться все необходимые [[Бэнд|бэнды]] для вывода нужной информации. Тип бэндов – «Custom».
 +
# В каждом бэнде определяются поля, необходимые для передачи в документ Word (поля, уже имеющиеся в датаседе бэнда переопределять не нужно).
  
# В ПФ должны располагаться все необходимые [[Бэнд|бэнды]] для вывода нужной информации. Тип бэндов – Custom.
+
'''''Файл-шаблон'''''
# В каждом бэнде определяем поля, необходимые для передачи в документ Word.
 
  
'''''Файл-шаблон:'''''
+
Создается документ-шаблон формата MSWord. Документ-шаблон – это обычный документ MSWord, содержащий текст, таблицы, рисунки и пр., в котором для указания границ бэндов и последующего вывода данных из ГБ используются ''«Word-поля»'' типа «Формула» (в Word – пункт меню «Вставка» - «Поле…» - «Формула…»).
 +
<br>Таким образом в том месте документа, в котором нужно обозначить границу бэнда или вывести значение какого-то поля из ГБ, вставляется «Формула», содержащая имена соответствующих датасета и поля в ГБ.
  
Создается документ-шаблон формата MSWord. В документе часть данных – константы, то есть текст, а часть – динамически изменяющиеся значения. В тех местах, где должны выводиться эти значения, вставляются поля (пункт меню «Вставка» - «Поле…» - «Формула…»).
+
Границы бэндов в шаблоне обозначаются полями с ключевыми словами:
 +
$GBDataSetBegin.XXX (начало бэнда)
 +
$GBDataSetEnd.XXX (конец бэнда)
 +
где XXX &ndash; имя датасета данного бэнда в ГБ.
  
Поле должно иметь следующий вид:
+
Внутри бэнда располагаются поля, принадлежащие ему. Поля обозначаются ключевым словом $GBField.XXX.YYY, где XXX &ndash; имя датасета данного бэнда, YYY &ndash; имя поля в данном датасете, например:
* Для описания начала датасета – $GBDataSetBegin.DataSet.
+
$GBField.DataSet.DocNumber
* Для описания поля (хранящего переданное из ГБ значение) – $GBField.DataSet.SName.
+
Кроме имён полей можно использовать функции ГБ, например:
* Для описания конца датасета - $GBDataSetEnd.DataSet.
+
  $GBField.DataSet.FormatDate(`YYYY-MM-DD`,DocDate)
  
 +
Необходимо соблюдать вложенность бэндов в шаблоне. Например, внешний бэнд для основных полей документа (DataSet) и вложенный в него источник товарных строчек документа (Goodies):
  
Необходимо соблюдать вложенность бэндов в шаблоне. Например источник товарных строчек документа должен быть «вложен» в границы описания источника полей документа.
+
$GBDataSetBegin.DataSet
 
+
  $GBField.DataSet.DocNumber
Пример:
+
  $GBDataSetBegin.Goodies
 
+
    $GBField.Goodies.Articul.Name
$GBDataSetBegin.DataSet
+
  $GBDataSetEnd.Goodies
:$GBField.DataSet.SDocNum
+
$GBDataSetEnd.DataSet
::$GBDataSetBegin.Goodies
 
:::$GBField.Goodies.SArt
 
::$GBDataSetEnd.Goodies
 
$GBDataSetEnd.DataSet
 
 
 
В данном примере поля SDocNum, SArt определены в соответствующих бэндах печатной формы. Отступы приведены для наглядности, поля могут располагаться в любом месте строки.
 
  
 +
В документах-шаблонах MSWord для вывода значений из ГБ «поля-формулы» используются как в обычном тексте, так и в ячейках таблиц.
 +
<br><br>
 
== Печать в LibreOffice Writer из ГБ ==
 
== Печать в LibreOffice Writer из ГБ ==
  
'''''Для осуществления экспорта данных из ПФ в документ Writer необходимо:'''''
+
'''''Для экспорта данных из ПФ в документ Writer необходимо'''''
  
# Создать новую форму, выбрать вид формы Word-овая.
+
# Создать новую печатную форму, выбрав вид формы «Word-овая».
# Настройка печатной формы в ГБ аналогична настройки формы для экспорта в MSWord.
+
# В редакторе печатных форм в свойствах формы задать имя файла-шаблона (тип odt) и, если нужно, имя файла-результата. Если отмечен чекбокс «Как файл», файл-шаблон будет внедрён в печатную форму (чекбокс «Внедрить» для печатных форм Writer неприменим из-за особенностей реализации LibreOffice).
 
+
Остальные параметры установить как для основной печатной формы.
Файл-шаблон:
 
 
 
# В поле «Имя файла-шаблона» указать файл с расширением «odt».
 
# Создается документ-шаблон в Writer.  
 
  
Для передачи полей из ПФ используются поля двух типов:
+
'''''Структура печатной формы'''''
* Поле пользователя
 
* Поле подстановки
 
  
Формат для обоих типов полей «текст». Значения полей аналогичнs значениям полей в шаблоне формата MSWord.
+
# В ПФ должны располагаться все необходимые [[Бэнд|бэнды]] для вывода нужной информации. Тип бэндов &ndash; «Custom».
 +
# В каждом бэнде определяются поля, необходимые для передачи в документ Writer (поля, уже имеющиеся в датаседе бэнда переопределять не нужно).
  
Пример: $GBDataSetBegin.DataSet
+
'''''Файл-шаблон'''''
  
Так же необходимо сохранять вложенность бэндов.
+
Создается документ-шаблон формата Writer (odt). Документ-шаблон &ndash; это обычный документ Writer (odt), содержащий текст, таблицы, рисунки и пр., в котором для указания границ бэндов и последующего вывода данных из ГБ используются ''«Writer-поля»'' типа «Поле пользователя». Для вставки такого поля нужно во Writer открыть пункт меню «Вставка» - «Поле…» - «Ещё поля…» (или Ctrl+F2) и переключиться на вкладку «Переменные».
 +
<br>Затем добавляются поля. Для каждого такого поля нужно выбрать тип «Поля пользователя», формат «Текст», задать «Имя» (произвольное, не связано с именами в ГБ) и «Значение», содержащее имена датасета и поля в ГБ.
 +
<br>Таким образом в том месте документа, в котором нужно обозначить границу бэнда или вывести значение какого-то поля из ГБ, вставляется «Поле пользователя», содержащее имена соответствующих датасета и поля в ГБ.
  
ПРИМЕЧАНИЕ:
+
Ключевые слова для границ бэндов и полей, правила вложенности бэндов, возможность использования функций ГБ для полей и т.п. аналогичны таковым для печатных форм MS Word (см. выше).
  
Для вывода данных из ГБ в созданную в шаблоне таблицу поля вставлять не нужно, а описывать передаваемые из ГБ поля текстом.
+
Примечание.
 +
В отличие от шаблонов Word, в документах-шаблонах Writer «Поля пользователя» используются только в обычном тексте, а ячейках таблиц нужно использовать текстовое описание поля (т.е. вместо вставки «Writer-поля» со значением $GBField.DataSet.DocNumber" нужно вставить само это значение в виде обычного текста.
  
 
Например:
 
Например:
Строка 71: Строка 71:
 
!align="center"|Артикул
 
!align="center"|Артикул
 
|-
 
|-
|$GBDataSet.Goodies.SArtName
+
|$GBField.Goodies.SArtName
|$GBDataSet.Goodies.SNumber
+
|$GBField.Goodies.SNumber
 
|}
 
|}
  
[[File:Пример шаблона MsWord.doc]]
+
[[:File:Пример шаблона MsWord.doc|Пример файла-шаблона для MS Word]]
 +
<br>[[:File:Пример_ПФ_для_Writer.txt|Пример печатной формы для Writer]]

Версия 10:10, 10 марта 2022


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

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

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

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

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

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

Файл-шаблон

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

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

$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

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

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

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

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

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

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

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

Файл-шаблон

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

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

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

Например:

Наименование товара Артикул
$GBField.Goodies.SArtName $GBField.Goodies.SNumber

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