Внешняя обработка групповой печати документов для УТ11


Внешняя обработка групповой печати документов для УТ11. В обработке реализована групповая печать для следующих документов: Отчет о розничных продажах, Поступление товаров и услуг, Реализация товаров и услуг, Возврат товаров от клиента, Возврат товаров поставщику. Для этих документов можно вывести на печать встроенные печатные формы, общие печатные формы (через встроенные обработки) и внешние печатные формы. При этом встроенные печатные формы и общие печатные формы задаются в коде обработки, а внешние печатные формы подключаются автоматически.

 Обработка создавалась как универсальная – то есть предназначенная для выбора любого вида документа созданного в конфигурации УТ11 с последующим выбором любой печатной формы, принадлежащей к выбранному виду документов (встроенные и внешние печатные формы). Кроме того необходимо было реализовать возможность обора по общим реквизитам документов из списка выбранных видов документов.

 Но в процессе реализации пришлось отказаться от универсальности. В УТ11 используется управляемый интерфейс, и формирование всех печатных форм реализовано через вызов команд. Получить список этих команд нет никаких проблем, но реализовать запуск этих команд у меня не получилось (может это не возможно, а может не хватило знаний). Поэтому пришлось действовать по старинке. Была создана таблица значений с описанием видов документов и наименованием встроенных печатных форм принадлежащих этим видам документов. Далее обнаружилось, что печать общих печатных форм реализована через встроенные обработки. Эта информация так же была добавлена в таблицу значений, но с добавление информации о встроенной обработке, которая формирует общую печатную форму. Информация о внешних печатных формах добавляется в таблицу значений автоматически на основании информации справочника “ДополнительныеОтчетыИОбработки” – это единственное что получилось сделать универсальным. Остается добавить, что этот алгоритм реализован в самой конфигурации, когда нажимается кнопка “Дополнительные печатные формы” из меню “печать” списков документов.

 Таким образом, для подключения других документов конфигурации необходимо по аналогии дописать информацию о печатных формах в таблицу значений “ТабСоотвВидДокКПечФормам” в процедуре ПриСозданииНаСервере() в модуле формы “Форма”. Кроме того при выборе видов документов вызывается форма “ФормаВыбораВидовДокументов”. Здесь в процедуре ПриСозданииНаСервере() определяются виды документов обрабатываемые данной обработкой.

 Обработка была создана на основе обработки “Универсальный журнал документов” из конфигурации УТ10. Основная переделка заключалась в том, что  обработка была реализована на объекте ПостроителеОтчетов. Данный объект не используется в Тонком клиенте. Поэтому пришлось заменить его на объект СхемаКомпоновкиДанных.

Нюансы данной обработки:

  1. При открытии обработки период выбора документов – текущая дата. При смене периода производится выборка документов заданного вида и с заданным отбором.
  2. При открытии обработки список с отборами скрыт. По кнопке “показать отборы” открывается список с отборами. По умолчанию в отборах задан отбор – Проведен=Да. Это необходимо потому, что встроенные печатные формы формируются только для проведенных документов. После формирования списка отборов необходимо обновить список документов по кнопке “Обновить”.
  3. Поля для отбора формируются при выборе видов документов. При этом поля формируются по одинаковым названиям реквизитов документов, при условии наличия этих реквизитов во всех выбранных видах документов. Алгоритм взят из обработки “Универсальный журнал документов”.
  4. Вывод печатных форм производится по кнопке “Печать”.  Сформированные печатные формы выводятся по стандартной схеме в отдельных окнах. При этом если для некоторого вида документов выбрано более одной встроенной печатной формы – выбранные печатные формы будут сформированы в одном окне на разных закладках.

 Ну и в заключение: так как полной универсальности не удалось добиться, то данную обработку можно рассматривать как тестовую для изучения работы на платформе 8.2 с управляемым интерфейсом. Хотя и обработка считается законченным решением в существующем виде.

Файлы обработки:

-