Недавно ко мне обратилась сотрудница одного из клиентов iScala, с которым я давно знаком, но до этого времени всё ограничивалось построением отчётов типа «Книга покупок» или «Книга продаж», а здесь речь зашла про печать УПД с одновременным формированием XML файла для передачи его через систему электронного документооборота (ЭДО). Не знаю, в курсе ли вы, что я категорически не создаю новых документов в Crystal, так как считаю, что Эпикору давно пора расстаться с этой устаревшей технологией? Так вот в случае с этим клиентом возникла некоторая проблема: они используют для выставления счетов-фактур клиентам не только модуль «Заказы на Продажу», но и сервисные заказы. Так в чём же проблема, наверное, спросите вы. А в том, что достаточно давно, видимо, ещё во времена Scala 5.0 какой-то умник решил сделать печать документов в сервисном модуле не так, как во всех остальных местах (т.е. с использованием DDF файлов), а в Crystal. К сожалению, ни хотлайн Эпикора, ни его вторая линия не смогли мне рассказать, как использовать канал MSRS, совмещающий технологию DDF файлов и современную технологию MS SQL Server Reporting Services, в случае отсутствия DDF файлов. Конечно, я не верю, что канал MSRS нельзя использовать взамен нелюбимого мною Кристала с этим модулем, но разбираться нет времени, тем более, что у меня нет виртуальной машины с настроенным модулем «Управление Сервисным Обслуживанием», а настраивать его с нуля и вводить тестовые данные — это потратить дефицитное время.
И я не стал настаивать, что должен быть выход, чтобы как-то настроить канал MSRS, а стал думать о другом выходе, который позволит получить набор данных со всеми необходимыми округлениями по алгоритмам самой iScala. И ведь такой выход есть. Достаточно включить дополнительную опцию компании № 322
Эта опция включает создание истории строк счетов-фактур из разных модулей при их закрытии и записывает всю необходимую вычисляемую информацию в таблицы модуля Книга Продаж. Останется только на их основе подготовить внешний отчёт SSRS и при его формировании создать XML файл. Дело техники, как говорится.
А если у вас есть куча свободного времени и вы разберётесь, как подключить в сервисном модуле канал MSRS и получать настраиваемый рекордсет непосредственно из iScala, не забудьте прислать пример и рассказать, как это делается. Или просто расскажите, какие имена полей можно использовать вместо DDF кодов