|
Добавить внешний отчет в документ | ☑ | ||
---|---|---|---|---|
0
ArturDoo
07.09.22
✎
20:26
|
Добрый вечер. Хочу добавить внешний отчет в документ, в меню отчеты. Подскажите, что я не так заполнил в сведениях о внешней обработке, и можно ли заполнить параметр отчета при его открытии из документа?
Код модуля отчета: Функция СведенияОВнешнейОбработке() Экспорт ИмяОтчета = ЭтотОбъект.Метаданные().Имя; Синоним = ЭтотОбъект.Метаданные().Синоним; Синоним = ?(ЗначениеЗаполнено(Синоним),Синоним, ИмяОтчета); МассивНазначений = Новый Массив(); МассивНазначений.Добавить("Документ.ЗаказПоставщику"); РегистрационныеДанные = Новый Структура; РегистрационныеДанные.Вставить("Вид","Отчет"); РегистрационныеДанные.Вставить("Назначение",МассивНазначений); РегистрационныеДанные.Вставить("Наименование", Синоним); РегистрационныеДанные.Вставить("Версия", "1.0"); РегистрационныеДанные.Вставить("БезопасныйРежим", Истина); РегистрационныеДанные.Вставить("Информация", "Отчет """ + Синоним + """"); ТаблицаКоманд = ПолучитьТаблицуКоманд(); ДобавитьКоманду(ТаблицаКоманд, Синоним, "СформироватьОтчет" , "ОткрытиеФормы", Истина, ); РегистрационныеДанные.Вставить("Команды", ТаблицаКоманд); Возврат РегистрационныеДанные; КонецФункции #КонецОбласти #Область ОбработчикиСобытий Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка = Ложь; ОсновнаяСхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"); Настройки = КомпоновщикНастроек.ПолучитьНастройки(); ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(ОсновнаяСхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, , ДанныеРасшифровки); ДокументРезультат.Очистить(); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры #КонецОбласти #Область СлужебныеПроцедурыИФункции Функция ПолучитьТаблицуКоманд() Команды = Новый ТаблицаЗначений; Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка")); Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево")); Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка")); Возврат Команды; КонецФункции Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование = "ОткрытиеФормы", ПоказыватьОповещение = Ложь, Модификатор = "ПечатьMXL") НоваяКоманда = ТаблицаКоманд.Добавить(); НоваяКоманда.Представление = Представление; НоваяКоманда.Идентификатор = Идентификатор; НоваяКоманда.Использование = Использование; НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение; //НоваяКоманда.Модификатор = Модификатор; КонецПроцедуры |
|||
1
DrZombi
гуру
08.09.22
✎
08:23
|
(0) >>>> РегистрационныеДанные.Вставить("Вид","Отчет");
Увы, вам надо печатать, или отчеты выводить? >>> можно ли заполнить параметр отчета при его открытии из документа? К примеру, в БСП можно перед печатью, открывать форму обработки. В момент открытия формы, можно выполнить все что угодно, хоть вызвать другую внешнюю обработку и выполнить ее код. Все в ваших руках :) |
|||
2
DrZombi
гуру
08.09.22
✎
08:25
|
+ (0) Для формирования отчета на базе СКД, не нужна обработка.
Макет самого отчета можно разместить в обработке :) https://programmist1s.ru/programmnoe-formirovanie-otcheta-na-skd-v-1s/ |
|||
3
ArturDoo
08.09.22
✎
09:56
|
(1) Нужно отчет вывести, из вкладки отчеты, в документе Заказ поставщику
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |