Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
22 ноя 2024, 05:11

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

Автор Sergey Volynkin3, 06 фев 2016, 19:02

0 Пользователей и 1 гость просматривают эту тему.

Sergey Volynkin3

Здравствуйте, такая проблема.

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

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


Управление торговлей, редакция 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_подготовительные_действия


Sergey Volynkin3

Тема Актуальна
Добавлено: 07 фев 2016, 17:04


Тема Актуальна

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск