Данные
Данные представляют собой совокупность полей, на основе которых строится печатный отчет. Большинство отчетов, как правило, основано на данных из БД. Для доступа к таким данным используются эффективные механизмы в QuickReport.
Кроме доступа к данным, определенным в проекте, QuickReport позволяют создавать новые компоненты в процессе формирования отчета. Как правило, данными являются такие элементы представления БД как Документы, Результаты отчетов, а так же элементы справочников. При чем в зависимости от того какие данные мы сейчас печатаем изменяются источники (названия ДатаСетов) данных.
Для отчетов это:
- ViewQuery - результаты отчета, в случае, если данные сгруппированы - значения первого уровня;
- SubDetailSet - используется при группировке - значения в группе;
- ThroughSummary - итоги суммирования по колонкам;
- ServerParams - параметры отчета. Используется для вывода параметров отчета. Содержит следующие поля (активны в зависимости от отчета):
- Depts - выбранные подразделения (их Id);
- iCurrency - валюта документов (Id);
- iFirms - собственные фирмы (их Id);
- iKinds - выбранные типы операций (их Id);
- iMinFlag - выбранное состояние документов (Id);
- iMaxDate - верхняя дата периода отчета (дата);
- iMinDate - нижняя дата периода отчета (дата);
- iStocks - выбранные склады (их Id);
- iDocTypes - выбранные типы документов (их Id);
- OnDate - на какую дату формируется отчет (дата);
- Posts - выбранные должности (их Id).
Для документов это:
- ActiveContracts - список действующих договоров для партнера;
- Certificates - список сертификатов на товары;
- Contracts - список всех договоров для партнера;
- DataSet - шапка документа (БЕЗ хиповых (Heap) полей);
- Diffs - список различий на закладке «приемка»;
- Expenses - список затрат;
- Goodies - список товаров;
- HeapSet - список всех хиповых полей документа;
- Links - список связей документа;
- Stages - список стадий документа;
- TaxesTotals - список сумм по всем налогам документа;
- InfoSet - список дополнительной информации по документу (скидки, не оплаченная сумма, и т.д.).
В процессе формирования отчета генерируются источники, содержащие итоговые суммы. Имя у такого источника формируется по принципу [ИСТОЧНИК_ОТЧЕТА]AutoSummarySet.
Например, GoodiesAutoSummarySet - источник, содержащий итоговые суммы по колонкам датасета Goodies. Может использоваться как источник данных при печати итогового бэнда.
Для вывода в печатной форме товарных строк из связанных товарных документов по определенному типу связи используется выражение DataSetName = 'Goodies(Linked=XXX) (или Caption = 'Goodies(Linked=ХХХ)), где ХХХ - код типа связи. При этом у бэндов нужно выбирать источник Goodies.
Если у печатной формы написать DataSetName = 'Diffs(X)' то форма будет печататься по закладке связей номер X. Нумерация начинается с нуля, например Diffs(0) в заказе - это различия заказа и фактур.
Кроме того, можно выводить в печатной форме информацию из источников, которые заполняются при работе отчета. Для этого нужно, чтобы название источника встречалось в параметре DataSetName либо в скрипте перед печатью, в виде :foo:='Название источника'.
Например: Чтобы создавать печатные формы, в которых Goodies - это сводный датасет товарных строк по выделенным документам, нужно указать DataSetName='ComboGoodies или :foo:='ComboGoodies в скрипте перед печатью.
Указать:
- PaymentsSet - чтобы можно было использовать оплаты;
- EntriesSet - чтобы можно было использовать проводки;
- GoodiesAndSertificates - чтобы можно было использовать сводный датасет товаров и сертификатов;
- Sources - чтобы можно было использовать субсет SOURCES товарных строк (в нем содержатся данные по себестоимости);
- PersonalDiscount - чтобы можно было использовать значения персональных скидок.