Дополнительные отчеты и обработки отладка подгружаемой внешней печатной формы
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Вариант следующий; делаешь не подключаемую внешнюю печатную форму, а простой отчет, который формирует эту печатную форму. Отлаживаешь его как обычно. Как все отладишь, переносишь всё это в подключаемую внешнюю печатную форму. И всё!
Бубен пока не трогаем.))
Бубен пока не трогаем.))
У обработки добавляешь форму, на форму кладешь реквизит обработки со ссылкой.
Для реквизита на форму можно прописать автосохранение для удобства.
Добавляешь кнопку на форму, с вызовом процедуры печати.
Отлаживаешь, как обычную внешнюю обработку.
Для реквизита на форму можно прописать автосохранение для удобства.
Добавляешь кнопку на форму, с вызовом процедуры печати.
Отлаживаешь, как обычную внешнюю обработку.
Использую такой способ. В форме обработки:
// Реквизиты формы:
// ИдентификаторКоманды - строка
// ОбъектыНазначения - таблица значений
// ОбъектыНазначения.ОбъектНазначения - Документ ссылка необходимого типа/типов
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
Элементы.ИдентификаторКоманды.РежимВыбораИзСписка = Истина;
Элементы.ИдентификаторКоманды.СписокВыбора.Добавить("впфЗаказКлиента1");
Элементы.ИдентификаторКоманды.СписокВыбора.Добавить("впфЗаказКлиента2");
Элементы.ИдентификаторКоманды.СписокВыбора.Добавить("впфЗаказКлиента3");
ЭтотОбъект.ИдентификаторКоманды = "впфЗаказКлиента1";
КонецПроцедуры
&НаКлиенте
Процедура ВыполнитьОбработку(Команда)
ПараметрыОткрытия = Новый Структура("КоллекцияПечатныхФорм,ОбъектыПечати,ДополнительныеПараметры",,,Новый Структура());
ВыполнитьОбработкуНаСервере(ИдентификаторКоманды, ПараметрыОткрытия);
УправлениеПечатьюКлиент.ПечатьДокументов(ПараметрыОткрытия.КоллекцияПечатныхФорм, ПараметрыОткрытия.ОбъектыПечати, ПараметрыОткрытия.ДополнительныеПараметры);
КонецПроцедуры
&НаСервере
Процедура ВыполнитьОбработкуНаСервере(Знач ИдентификаторКоманды, ПараметрыОткрытия)
МассивОбъектов = Новый Массив();
Для Каждого СтрокаТ Из ЭтотОбъект.ОбъектыНазначения Цикл
МассивОбъектов.Добавить(СтрокаТ.ОбъектНазначения);
КонецЦикла;
ОбъектыПечати = Новый СписокЗначений();
КоллекцияПечатныхФорм = УправлениеПечатью.ПодготовитьКоллекциюПечатныхФорм(ИдентификаторКоманды);
ПараметрыВывода = УправлениеПечатью.ПодготовитьСтруктуруПараметровВывода();
РеквизитФормыВЗначение("Объект").Печать(
МассивОбъектов,
КоллекцияПечатныхФорм,
ОбъектыПечати,
ПараметрыВывода);
ПараметрыОткрытия.КоллекцияПечатныхФорм = ОбщегоНазначения.ТаблицаЗначенийВМассив(КоллекцияПечатныхФорм);
ПараметрыОткрытия.ОбъектыПечати = ОбъектыПечати;
КонецПроцедуры
Показать
Первый вариант (Стажер):
Создать форму обработки, на неё кинуть реквизит с нужным типом и команду, всю логику формирования табличного документа реализовывать в модуле формы, после отладки перенести код в модуль объекта
Второй вариант (Джун)
Создать форму обработки, на неё кинуть реквизит с нужным типом и команду, в обработчике команды получить объект обработки и вызывать экспортную процедуру модуля объекта обработки, которая сформирует табличный документ, который можно вывести на экран через метод Показать()
Третий вариант (Мидл)
Создать форму обработки, на неё кинуть реквизит с нужным типом и команду, в обработчике команды реализовать формирование печатной формы при помощи процедуры Печать() модуля объекта с последующим выводом результата в БСПшную форму печати
Четвертый вариант (Сеньор)
В модуле объекта обработки реализовать функцию переопределения контекста обработки на файл внешней обработки по заданному пути для возможности отладки в конфигураторе при выполнении интерактивной БСПшной команды печати в форме документа
Пятый вариант (Ленивый аналитик)
Подключить расширение, в котором реализован аналог четвертого варианта, например "УниверсальныеИнструменты"
Создать форму обработки, на неё кинуть реквизит с нужным типом и команду, всю логику формирования табличного документа реализовывать в модуле формы, после отладки перенести код в модуль объекта
Второй вариант (Джун)
Создать форму обработки, на неё кинуть реквизит с нужным типом и команду, в обработчике команды получить объект обработки и вызывать экспортную процедуру модуля объекта обработки, которая сформирует табличный документ, который можно вывести на экран через метод Показать()
Третий вариант (Мидл)
Создать форму обработки, на неё кинуть реквизит с нужным типом и команду, в обработчике команды реализовать формирование печатной формы при помощи процедуры Печать() модуля объекта с последующим выводом результата в БСПшную форму печати
Четвертый вариант (Сеньор)
В модуле объекта обработки реализовать функцию переопределения контекста обработки на файл внешней обработки по заданному пути для возможности отладки в конфигураторе при выполнении интерактивной БСПшной команды печати в форме документа
Пятый вариант (Ленивый аналитик)
Подключить расширение, в котором реализован аналог четвертого варианта, например "УниверсальныеИнструменты"
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот