Необходимо вызвать отчет ОтчетПоЗадолженностиСотрудниковПоСальдо, созданный в ЗУП 3.1 для выполнения через com соединение в базе Бухгалтерия КОРП 3.0.
Конечно можно было дать пользователю учетку и определить его права в базе ЗУП. Но делать это для выполнения только одного отчета казалось необоснованным.
Для решения этой задачи сначала пришлось создать механизм по которому внешний отчет вызывается программно без вызова формы отчета в самом ЗУПе. При этом пришлось модифицировать исполняемый отчет ОтчетПоЗадолженностиСотрудниковПоСальдо. В его модуле объекта создал новый экспортный метод СкомпоноватьОтчет(). Данный метод вызывался для формирования отчета без открытия формы и помещал результат в табличный документ. Кроме того потребовалось, чтобы отчет из базы ЗУП был интегрирован в конфигурацию. С внешними отчетами работу через сом-соединение организовать не получилось.
Затем данный функционал попробовал запустить в базе УАТ. Возникла сложность с указанием параметров отчета, которые перед его выполнением нужно поместить в компоновщик настроек. При работе Через сом-соединение все свойства и методы компоновщика настроек меняют свое название на английские аналоги. Но самой непреодолимым препятствием стало то, что типы свойств утрачиваются и все свойства имеют тип «сом-соединение». Для его преодоления в самом отчете ОтчетПоЗадолженностиСотрудниковПоСальдо был создан экспортный метод УстановитьПараметры. В него передавались настройки, имеющие элементарный тип (число, дата, строка булево) на их основании устанавливалось значения компоновщика настроек отчета самим отчетом на стороне присоединяемой базы ЗУП).
Возникла проблема с выполнением метода объекта УстановитьПараметры(). Перевод названия метода на английский SetParameters() помогло устранить проблему. Вместе с этим пришлось два вызываемые в этом методе процедуры поставить перед данным методом.
Тестировался
- на релизе 8.3 (8.3.13.1690) ЗУП КОРП, редакция 3.1 (3.1.9.229)
- на релизе 8.3 (8.3.13.1690) Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.72.66)