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