8.х Добавить нетиповой документ в подсистему Печать.

Тема в разделе "Конфигурирование на платформе "1С:Предприятие 8"", создана пользователем Sergey Volynkin, 6 фев 2016.

  1. TopicStarter Overlay
    Sergey Volynkin
    Offline

    Sergey Volynkin

    Регистрация:
    18 янв 2016
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    1
    Здравствуйте, такая проблема.

    Вопрос. Как подключить нетиповой документ к подсистеме печать и после этого подключить к нему внешнюю печатную форму(Подключить понятно как, добавить в спр. дополнительныеОтчетыИОбработки, только вот нужный док. там не отображается)

    Подробности в фото.

    Управление торговлей, редакция 11.1
    БИТ.CRM.3.0 редакция 3.0.7 (3.0.7.1)
    Copyright © 2011 - 2015, ООО "БТ". Все права защищены. (11.1.10.193) (http://v8.1c.ru/trade/)
    Copyright © ООО "1C", 2003-2015. Все права защищены
    (http://www.1c.ru)


    В базе существует нетиповой документ "Заявки логистам".
    Понадобилось создать для него печатную форму(решил создавать внешнюю печатную форму).
    На ранних этапах создания внешней печатной формы(создал макет, код для регистрации обработки в системе) начал отлаживать печатную форму(проверять, правильно ли выбираются данные в параметры макета печатной формы) с помощью обработки отладка внешних печатных форм 1.3.2 с инфостарта.
    Ну и, собственно заметил, что этот документ, к которому я пытаюсь прикрутить внешнюю печатную форму не подключен к подсистеме "печать". Попытался его подключить следующим способом(с ИТС сайта):

    Подсистема «Печать» предназначена для формирования печатных форм объектов на основе табличных макетов (формат MXL) или макетов офисных документов в форматах Microsoft Word и OpenOffice.org Writer.

    Подсистема предоставляет инструменты для размещения команд печати на формах в подменю Печать, форму предпросмотра печатных форм, а также различные сервисные возможности по сохранению печатных форм в файлы, отправке по электронной почте и формированию изображений QR-кодов. Кроме того, в подсистему входит рабочее место по редактированию макетов печатных форм.

    Настройка
    Необходимо принять решение по поводу состава объектов конфигурации (справочников, документов и т. п.), которые требуется выводить на печать, и в каком виде должны формироваться печатные формы. Затем создать для них команды печати, разработав описательную часть, логику формирования печатной формы, и внести изменения в модули форм, в которых предполагается выводить команды печати.

    Описательная часть находится в процедуре ДобавитьКомандыПечати, а логика формирования печатной формы зависит от того, в каком виде должна формироваться печатные формы:

    ● Формирование печатной формы в формате табличного документа (с предварительным просмотром или сразу на принтер).

    ● Формирование комплекта табличных документов (с предварительным просмотром или сразу на принтер).

    ● Формирование печатных форм с интерактивным запросом дополнительных параметров у пользователя.

    ● Вывод табличного документа в один из популярных форматов (Microsoft Word, Microsoft Excel, Adobe PDF, OpenOffice.org Writer, HTML, текстовый документ и другие).

    ● Формирование печатной формы в виде офисных документов в форматах Microsoft Word и OpenOffice.org Writer (для тех случаев, когда возможностей табличного макета недостаточно).

    Подготовительные действия
    На первом этапе нужно внедрить подсистему в те объекты, в которых предполагается использовать команды печати:

    1. В формах каждого объекта, где необходимо разместить команду печати, в процедуре ПриСозданииНаСервере добавить следующий код:

    &НаСервере
    Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    // СтандартныеПодсистемы.Печать
    УправлениеПечатью.ПриСозданииНаСервере(ЭтотОбъект);
    // Конец СтандартныеПодсистемы.Печать
    КонецПроцедуры
    По умолчанию команды печати располагаются на командной панели формы, но размещение можно переопределить, указав второй параметр в вызовеУправлениеПечатью.ПриСозданииНаСервере:

    УправлениеПечатью.ПриСозданииНаСервере(ЭтотОбъект, Элементы.ГруппаКомандПечати);
    Динамическое создание команд печати на форме может замедлять ее открытие, поэтому размещать команды печати рекомендуется в статической группе команд вида Подменю.

    2. В формах объекта, куда размещается команда печати (кроме форм списков), добавить код подключаемого обработчика команды:

    // СтандартныеПодсистемы.Печать
    &НаКлиенте
    Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
    УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтотОбъект, Объект);
    КонецПроцедуры
    // Конец СтандартныеПодсистемы.Печать
    3. В формах списка объекта, куда размещается команда печати, добавить код подключаемого обработчика команды:

    // СтандартныеПодсистемы.Печать
    &НаКлиенте
    Процедура Подключаемый_ВыполнитьКомандуПечати(Команда)
    УправлениеПечатьюКлиент.ВыполнитьПодключаемуюКомандуПечати(Команда, ЭтотОбъект, Элементы.Список);
    КонецПроцедуры
    // Конец СтандартныеПодсистемы.Печать
    Важно!

    Поле Ссылка динамического списка формы должно быть доступно в обработчике команды. Для этого необходимо у реквизита формы, содержащего динамический список, у поля Ссылка поставить флажок Использовать всегда.

    4. Добавить экспортную процедуру ДобавитьКомандыПечати в модуль менеджера:

    // Заполняет список команд печати.
    //
    // Параметры:
    // КомандыПечати – ТаблицаЗначений – состав полей см. в функции УправлениеПечатью.СоздатьКоллекциюКомандПечати
    //
    Процедура ДобавитьКомандыПечати(КомандыПечати) Экспорт
    КонецПроцедуры
    5. Добавить выбранные объекты в СписокОбъектов в процедуре ПриОпределенииОбъектовСКомандамиПечати общего модуляУправлениеПечатьюПереопределяемый:

    // Определяет объекты, в которых есть процедура ДобавитьКомандыПечати().
    //
    // Параметры:
    // СписокОбъектов - Массив - список менеджеров объектов.
    //
    Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
    СписокОбъектов.Добавить(Справочники._ДемоКонтактныеЛицаПартнеров);
    СписокОбъектов.Добавить(Справочники._ДемоКонтрагенты);
    СписокОбъектов.Добавить(Справочники._ДемоПартнеры);
    СписокОбъектов.Добавить(Справочники._ДемоФизическиеЛица);
    СписокОбъектов.Добавить(Справочники.Организации);
    СписокОбъектов.Добавить(Документы._ДемоОприходованиеТоваров);
    СписокОбъектов.Добавить(Документы._ДемоПеремещениеТоваров);
    СписокОбъектов.Добавить(Документы._ДемоСписаниеТоваров);
    СписокОбъектов.Добавить(Документы._ДемоСчетНаОплатуПокупателю);
    КонецПроцедуры

    http://its.1c.ru/db/bspdoc#content:446:1:issogl2_подготовительные_действия


    Вложения:

Поделиться этой страницей