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

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

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

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

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

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

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

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

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

17 Comments

  1. veforg

    Лень двигатель прогресса — нет бы по одному печатать. Никогда не было необходимости, но видимо кому то может понадобиться.

    Reply
  2. ninch

    Как правило возникает задача задним числом — распечатать список документов. Ну и бывает так, что несколько печатных форм одного вида документов. Например реализация товаров и услуг — торг 12 и счет фактура.

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

    Reply
  3. kns

    ну тогда с почином

    Reply
  4. Spas12

    А для УТ 10 будет работать?

    Reply
  5. ninch

    (4) Spas12,

    Spas12 пишет:

    А для УТ 10 будет работать?

    Ну во первых нет — потому что все таки под управляемые приложения рассчитано. Во вторых там есть групповая обработка стандартная по моему как то так — в общем что-то там точно есть на эту тему:)

    Reply
  6. ninch

    Да, обработка действительно под это и делалась — чтобы в конце месяца печатать скопом все документы. Количество экземпляров тоже неплохо было бы — согласен. Но это уже навороты. Тут каждому свое — так сказать поле деятельности открыто. Все что можно сделать каждый может реализовать сам:)

    Подчиненность, это по моему вообще будет супер-пупер обработка. Я рад за такие идеи в голове у людей. МНе идея понравилась. Так держать!

    Reply
  7. ninch

    Кстати я бы был очень признателен если бы кто-то раскрутил не реализованную в данной обработке вещь — универсальная выборка встроенных печатных форм документов. Чтобы не приходилось прописывать самому (в алгоритме) вызовы встроенных печатных формы документов. Вот это было бы просто вах!!!

    Reply
  8. DimanYa

    А есть возможность напечать не только из формы документа, но и из справочника?

    Мне нужно например напечатать массово печатную форму из справочника «номенклатура».

    А если печатная форма внешняя?

    Reply
  9. ninch

    В(15) DimanYa,

    В описании к данной теме все расписано. Только документы. Но если взять эту обработку и пройтись по коду, то я думаю без особого труда можно будет поменять документы на справочники. А вот по поводу того что внешняя форма — опять же в описании написано что без проблем подцепляются внешние печатные формы. То есть поменяете код для справочников и спокойно сможете печатать внешние формы для них

    Reply
  10. _n26__

    Спасибо, пригодиться

    Reply
  11. vicmos

    спасибо

    Reply
  12. dskull86

    каким образом заполняется список печатных форм. Конфа не типовая, не могу забраться почему не заполняется?

    Reply
  13. PES1990

    Почему при нажатии на кнопку печать документы не выводятся на принтер!?

    Reply
  14. PES1990

    Не могу понять в чем дело, при нажатии на кнопку печать ничего не выводится на принтер… действий 0.. В чем может быть дело?

    Reply
  15. ninch

    (21) PES1990, Вы так прикиньте по дате создания какой это релиз УТ11. А нынче на дворе новая версия УТ11 11.1. Так что за отдельную плату я могу с этим разобраться. А так это есть инструмент который работал под определенной версией УТ. И как видите все потихоньку скачивали и вопросов о неработоспособности не задавали:)

    Ну а если серьезно, то смотреть надо на месте. Я же отсюда не вижу что там у вас нажато, какие галочки, какая конфигурация. Ну и смысл проделанной работы описан здесь — так что читайте

    Reply
  16. ninch

    (20) PES1990, И кстати что должно происходить по кнопке «печать»

    Вывод печатных форм производится по кнопке “Печать”. Сформированные печатные формы выводятся по стандартной схеме в отдельных окнах. При этом если для некоторого вида документов выбрано более одной встроенной печатной формы – выбранные печатные формы будут сформированы в одном окне на разных закладках.

    Так что никакой печати на принтер и не будет.

    Reply
  17. ninch

    (19) dskull86, Прошу прощения не видел ваш вопрос. как увидел отвечаю

    В описании все сказано на эту тему — надо прописать в алгоритме все возможные печатные формы для определенных видов документов. Но при этом внешние печатные формы подключаются автоматически.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *