![]() |
|
ут 11.5 вызов печати впф кодом | ☑ | ||
---|---|---|---|---|
0
saradip
31.07.23
✎
13:28
|
Добрый день.
Как заставить механизм БСП печатать ВПФ? Используя УправлениеПечатьюКлиент.ВыполнитьКомандуПечати, либо ДополнительныеОтчетыИОбработкиКлиент, либо что-то еще (хз что) Есть: Обработка формирует массив документов, далее вызывает УправлениеПечатьюКлиент.ВыполнитьКомандуПечати и выводит стандартную форму счета на оплату. Нужно: Я добавил модернизированную впф счета на оплату через доп. обработки и отчеты, теперь хочу, печатать впф в том же модуле, из того же массива. Как сейчас, в новых конфигурациях решить данную задачу? |
|||
1
saradip
31.07.23
✎
14:24
|
Ладно, хотя бы укажите на актуальность данного решения:
1. МассивСчетов найден заблаговременно 2. "Идентификатор" известен изначально из данных ВПФ 3. "ИмяОбъекта" известно изначально из данных ВПФ Код исполняется в другой внешней обработке &НаКлиенте Процедура Сформировать(Команда) ТабДок = СформироватьВнешнююПечатнуюФорму(МассивСчетов); КоллекцияПечатныхФорм = УправлениеПечатьюКлиент.НоваяКоллекцияПечатныхФорм("Идентификатор"); КоллекцияПечатныхФорм[0].ТабличныйДокумент = ТабДок; УправлениеПечатьюКлиент.ПечатьДокументов(КоллекцияПечатныхФорм,, ЭтотОбъект); КонецПроцедуры &НаСервереБезКонтекста Функция СформироватьВнешнююПечатнуюФорму(МассивДокументов) КоллекцияПечатныхФорм = Новый ТаблицаЗначений; ПараметрыИсточника = Новый Структура; ПараметрыИсточника.Вставить("ИдентификаторКоманды", "Идентификатор"); //ИдентификаторКоманды ПараметрыИсточника.Вставить("ОбъектыНазначения", МассивДокументов); ОбъектыПечати = Новый СписокЗначений; ОбъектыПечати.ЗагрузитьЗначения(МассивДокументов); ВнешняяОбработка = Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта", "ИмяОбъекта"); //ПоискОбработки ДополнительныеОтчетыИОбработки.ПечатьПоВнешнемуИсточнику(ВнешняяОбработка, ПараметрыИсточника, КоллекцияПечатныхФорм, ОбъектыПечати, Неопределено); Если КоллекцияПечатныхФорм.Количество() > 0 Тогда ТабДок = КоллекцияПечатныхФорм[0].ТабличныйДокумент; Иначе ТабДок = Новый ТабличныйДокумент; КонецЕсли; Возврат ТабДок; КонецФункции |
|||
2
saradip
31.07.23
✎
16:43
|
Упрощенный вариант
&НаКлиенте Процедура ПечатьВПФ(МассивСчетов) ВПФ = НайтиВПФ(); Если ВПФ.Пустая() Тогда Возврат; КонецЕсли; ПараметрыОткрытия = Новый Структура("ИсточникДанных, ПараметрыИсточника"); ПараметрыОткрытия.ИсточникДанных = ВПФ; ПараметрыОткрытия.ПараметрыИсточника = Новый Структура("ИдентификаторКоманды, ОбъектыНазначения"); ПараметрыОткрытия.ПараметрыИсточника.ИдентификаторКоманды = "Идентификатор"; ПараметрыОткрытия.ПараметрыИсточника.ОбъектыНазначения = МассивСчетов; ОткрытьФорму("ОбщаяФорма.ПечатьДокументов", ПараметрыОткрытия); КонецПроцедуры &НаСервереБезКонтекста Функция НайтиВПФ() Возврат Справочники.ДополнительныеОтчетыИОбработки.НайтиПоРеквизиту("ИмяОбъекта", "ИмяОбъекта"); КонецФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |