Показать сообщение отдельно
Старый 11.10.2011, 17:19   #20  
Ace of Database is offline
Ace of Database
Участник
Аватар для Ace of Database
 
870 / 637 (23) +++++++
Регистрация: 14.10.2004
По поводу скорости разработки печатных форм с использованием данного инструмента.

1. Заморачиваться с XML и вызовами DLL не надо. Все делает специальный класс. Достаточно в нем вызвать метод printReport(). С точки зрения разработчика никаких технических заморочек нет, только работа с предметной областью. Заполнение данными конкретного поля выглядит так:
X++:
zReport.addValue("CTD_ReportTitle1", "CReceiverPhone", custTableReceiver.Phone);
где 1-й параметр - название источника данных, 2-й параметр - название поля, 3-й параметр - значение поля. Числовые поля можно округлять до любого количества знаков, оставлять только целую часть, не выводить нули и т.д.

2. Если вам не надо использовать настраиваемое количество копий и включать ваш отчет в комплект, то можно разработать свой класс с нуля и вызывать в нем класс, который заполняет XML данными и выводит отчет на экран либо на принтер.

3. Если вам надо использовать настраиваемое количество копий и\или включать ваш отчет в комплект, то нужно свой новый класс унаследовать от одного базового класса, и перекрыть в нем методы, которые выводят данные в поля источников данных отчета и задают название шаблона. В комлекте документов нужно указать код своего нового класса, чтобы он начал вызываться вместе с классами, отвечающими за печать других документов из комплекта.