|
Внешняя печатная форма на СКД, пример | ☑ | ||
---|---|---|---|---|
0
Alexander AVN
22.11.20
✎
20:33
|
Всем доброго вечера!
Поделитесь, пожалуйста, примером внешней печатной формы с макетом СКД. В идеале нужно для УТ11. |
|||
1
Asmody
22.11.20
✎
20:39
|
(0) На ИС такого как грязи
|
|||
2
Alexander AVN
22.11.20
✎
20:42
|
Согласен, есть, но только за мани)
|
|||
3
Asmody
22.11.20
✎
20:44
|
На ИТС есть примеры
|
|||
4
ДенисЧ
22.11.20
✎
20:52
|
(3) А ИТС, типа, халявный ))))
(0) Сделай просто. Сначала просто напиши отчёт, который тебе будет твою форму создавать. Потом в гугле - "шаблон внешней печатной формы для УТ11". 15 минут и результат готоа... |
|||
5
Alexander AVN
24.11.20
✎
09:09
|
Попытался сотворить, но в итоге получаю ошибку "в обработчике печати не был сформирован табличный документ...". Код модуля ниже:
Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0.0.0"); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма(); ПараметрыРегистрации.Версия = "1.0"; ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг"); НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = НСтр("ru = 'Моя печатная форма'"); НоваяКоманда.Идентификатор = "ОсновнаяСхемаКомпоновкиДанных"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); НоваяКоманда.Модификатор = "ПечатьMXL"; Возврат ПараметрыРегистрации; КонецФункции Функция Печать(ОбъектыНазначения, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Макет); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек); КомпоновщикНастроек.ЗагрузитьНастройки(Макет.НастройкиПоУмолчанию); Настройки = КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка", ОбъектыНазначения[0]); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(Макет, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Возврат ТабДок; КонецФункции |
|||
6
ilya_Sov
24.11.20
✎
15:17
|
В конструкторе пробовал???
|
|||
7
Alexander AVN
24.11.20
✎
19:59
|
Не совсем понял, про какой конструктор речь
|
|||
8
Alexander AVN
24.11.20
✎
20:07
|
Запрос простейший, в консоли работает
|
|||
9
Михаил Козлов
24.11.20
✎
20:44
|
(5) Странно: в моих ВПФ Печать(...) процедура, а не функция: сформированный табличный документ помещается в коллекцию печатных форм.
|
|||
10
mikecool
24.11.20
✎
21:28
|
(9) скорее всего - БСП роляет
|
|||
11
Alexander AVN
24.11.20
✎
22:39
|
(9) а ведь товарищ Михаил прав оказался, надо было начинать с процедуры... и чуть поправить функцию - в итоге заработало!!! Спасибо)))
Рабочий код ниже, надеюсь, кому-то пригодится. Это просто находка, если быстро нужна ВПФ без нудного рисования макета! Функция СведенияОВнешнейОбработке() Экспорт ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0.0.0"); ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиПечатнаяФорма(); ПараметрыРегистрации.Версия = "1.0"; ПараметрыРегистрации.Назначение.Добавить("Документ.РеализацияТоваровУслуг"); НоваяКоманда = ПараметрыРегистрации.Команды.Добавить(); НоваяКоманда.Представление = НСтр("ru = 'Моя печатная форма'"); НоваяКоманда.Идентификатор = "ОсновнаяСхемаКомпоновкиДанных"; НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыВызовСерверногоМетода(); НоваяКоманда.Модификатор = "ПечатьMXL"; Возврат ПараметрыРегистрации; КонецФункции Процедура Печать(МассивОбъектов, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) Экспорт ПараметрыПечати = Новый Структура; УправлениеПечатью.ВывестиТабличныйДокументВКоллекцию(КоллекцияПечатныхФорм, "ОсновнаяСхемаКомпоновкиДанных", "ОсновнаяСхемаКомпоновкиДанных", ПечатьМакета(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода)); КонецПроцедуры Функция ПечатьМакета(МассивОбъектов, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода) ТабДок = Новый ТабличныйДокумент; Макет = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); ИсточникДоступныхНастроек = Новый ИсточникДоступныхНастроекКомпоновкиДанных(Макет); КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных; КомпоновщикНастроек.Инициализировать(ИсточникДоступныхНастроек); КомпоновщикНастроек.ЗагрузитьНастройки(Макет.НастройкиПоУмолчанию); Настройки = КомпоновщикНастроек.Настройки; Настройки.ПараметрыДанных.УстановитьЗначениеПараметра("Ссылка", МассивОбъектов[0]); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(Макет, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ТабДок); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); Возврат ТабДок; КонецФункции |
|||
12
Saval1986
09.04.21
✎
13:32
|
(11) Спасибо. Помогло =)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |