|
|
Строка 1: |
Строка 1: |
− | [[Категория:Печатные формы]]
| + | GPmXNw <a href="http://uzekmmezefzl.com/">uzekmmezefzl</a>, [url=http://lpfyuuninvgi.com/]lpfyuuninvgi[/url], [link=http://dypmcfejgfxv.com/]dypmcfejgfxv[/link], http://kbqigbtvjbsj.com/ |
− | | |
− | == Общие данные == | |
− | | |
− | Печать в MSExcel была сделана для удобства редактирования форм, с уже заполненными данными из документов и отчетов. Заполнение шаблона в MSExcel организовано так же как и в QuickReport. Соответственно основные элементы из QuickReport были перенесены в шаблоны MSExcel.
| |
− | | |
− | Для организации печати в MSExcel необходимо наличие:
| |
− | #Excel-ной печатной формы в ГБ (TGBExcelReport). Содержит ссылки на входной шаблон и путь к файлу-результату. Кроме того, используется для того чтобы получить данные с ГБ, т.е. доступ к датасетам.
| |
− | #Файл–шаблон формата MSExcel. Шаблон заполняется по определенным правилам, которые будут описаны [[Печать в MSExcel#Шаблон в MSExcel|ниже]].
| |
− | | |
− | == Печатная Форма в ГБ == | |
− | | |
− | При создании Печатной Формы в ГБ следует пользоваться предоставленными интерфейсными средствами для заполнения необходимых полей. Размер, положение, шрифт, цвет и т.д., - не имеют значения, поскольку данная форма используется только для того, что бы получить данные и рассчитать необходимые переменные.
| |
− | | |
− | Совет: все расчеты лучше делать в ПФ ГБ, хиповые поля (Heap.xxx) присваивать переменным, для дальнейшего использования.
| |
− | | |
− | Пример:
| |
− | | |
− | [[FILE:VarsInExcelPF.png]]
| |
− | | |
− | == Шаблон в MSExcel ==
| |
− | | |
− | Путь к файлу шаблону указывается в поле «Имя файла-шаблона» в свойствах печатной формы (двойной «клик» мыши на печатной форме).
| |
− | Галка «Внедрить» позволяет внедрить содержимое файла шаблона в печатную форму.
| |
− | | |
− | При создании шаблона в MSExcel-е используются следующие ключевые слова:
| |
− | | |
− | {|cellpadding="3" cellspacing="0" border="1"
| |
− | !Название
| |
− | !Можно использовать в столбце
| |
− | !Описание
| |
− | |-
| |
− | |$GBComment
| |
− | |align="center"|A
| |
− | |Комментарий. Строка удаляется
| |
− | |-
| |
− | |$GBInitCounter.Value
| |
− | |align="center"|любой
| |
− | |Инициализация счетчика (нач. значение). Ячейка очищается
| |
− | |-
| |
− | |$GBCounter
| |
− | |align="center"|любой
| |
− | |Автоинкрементный счетчик
| |
− | |-
| |
− | |$GBDatasetBegin.DataSetName
| |
− | |align="center"|A
| |
− | |Начало датасета. Строка удаляется
| |
− | |-
| |
− | |$GBField.DataSetName.FieldName
| |
− | |align="center"|любой
| |
− | |Поле
| |
− | |-
| |
− | |$GBDatasetEnd.DataSetName
| |
− | |align="center"|A
| |
− | |Конец датасета. Строка удаляется
| |
− | |-
| |
− | |$GBStop
| |
− | |align="center"|любой
| |
− | |Остановка обработки последующих ячеек. Строка удаляется
| |
− | |-
| |
− | |$GBPaste
| |
− | |align="center"|А
| |
− | |Вставка из буфера скопированных данных
| |
− | |}
| |
− | | |
− | | |
− | * Как и в QiuckReport используются «бэнды», то есть области где доступны поля из указанного источника данных.
| |
− | | |
− | Обозначения:
| |
− | | |
− | $GBDatasetBegin.xxx - начало бэнда,
| |
− | $GBDatasetEnd.xxx - конец бэнда.
| |
− | | |
− | где xxx - имя Источника данных.
| |
− | | |
− | Для того, чтобы использвать не все записи датасета, можно использовать стандартный механизм: в бэнде добавить переменную с устровием фильтрации и указать имя этой переменной в свойстве бэнда "Фильтровать по полю"
| |
− | | |
− | * Имена полей из источника и переменных вызываются как «поле» в QuickReport.
| |
− | | |
− | Обозначения:
| |
− | | |
− | $GBField.xxx.yyy - где xxx – имя источника, yyy – имя поля, или переменной. При чем, использовать эту команду можно только внутри конструкции $GBDataSetBegin.xxx и $GBDataSetEnd.xxx.
| |
− | | |
− | yyy может быть любым выражением, в котором участвуют поля датасета xxx, то есть можно использовать [[:Category:Функции ГБ|функции]] встроенного языка ГБ, например $GBField.DataSet.FormatDate("dd mmmm yy", OperationDate).
| |
− | | |
− | Пример:
| |
− | | |
− | [[FILE:exampleExcel1.png]] | |
− | | |
− | | |
− | * $GBPaste используется для вставки в файл-результат скопированных в буфер обмена данных, после этой команды не должно быть заполненных ячеек. В печатной форме ГБ следует задать две переменные :SetPresetName:=`моя предустановка`, :CopyGrid:=1.
| |
− | | |
− | | |
− | При печати обрабатываются все Листы MSExcel-ного файла. Всё графическое оформление документа делается средствами MSExcel - шапка документа, шапка таблицы товарных строк, и подвал. В процессе работы все ключевые слова заменяются на данные из БД ($GBField), или исчезают целой строкой ($GBDatasetEnd).
| |
− | | |
− | '''Внимание!''' В отличие от принципов QuickReport при создании «бэндов» в MSExcel используется вложенность бэндов.
| |
− | | |
− | Например, шаблон для печати документов:
| |
− | | |
− | | |
− | $GBDatasetBegin.DataSet
| |
− | | |
− | Шапка документа
| |
− | | |
− | :$GBDatasetBegin.Goodies
| |
− | ::$GBDatasetBegin.Certificates
| |
− | ::Товарные строки
| |
− | ::$GBDatasetEnd.Certificates
| |
− | :$GBDatasetEnd.Goodies | |
− | :$GbDatasetBegin.GoodiesTotals
| |
− | | |
− | :Итоги по товарным строкам
| |
− | | |
− | :$GbDatasetEnd.GoodiesTotals
| |
− | $GBDatasetEnd.DataSet
| |
− | | |
− | '''Примечание''':
| |
− | | |
− | Начиная с версии ГБ 1.7.0.84 печатная форма может содержать несколько бэндов на каждом уровне вложенности.
| |
− | | |
− | | |
− | Поскольку сам MSExcel является мощным вычислительным средством, можно использовать встроенные функции вычисления на основе данных, полученных из ГБ. Например, можно рассчитать сумму по товарным строкам и итоговую сумму:
| |
− | | |
− | Расчет суммы по строке:
| |
− | | |
− | [[FILE:SumInExcel1.png]]
| |
− | | |
− | | |
− | Расчет итогов по колонке:
| |
− | | |
− | [[FILE:SumInExcel2.png]] | |
− | | |
− | Следует обратить внимание на диапазон, указанный при использовании функции «=СУММ()». Поскольку при печати товарных строк в MSExcel происходит ВСТАВКА последующей строки (между $GBDataSetBegin и $GBDataSetEnd), то в формуле динамически изменяется диапазон ячеек.
| |
− | | |
− | | |
− | [[FILE:Пример Excel-ной ПФ.txt]]
| |