Как определить какой отчет формируется

1. YanSergey 145 29.12.16 14:19 Сейчас в теме
В корне конфигурации выбрана общая форма для отчетов.
Те отчеты у которых не задана своя форма используют эту общую форму.
На форме определена кнопка вызывающая процедуру "Сформировать".
Как внутри процедуры "Сформировать" определить название отчета, который запустили.
Есть "ЭтотОбъект", тип УправляемаяФорма
Есть "Отчет", тип ДанныеФормыСтруктура
В ДанныеФормыСтруктура есть ИдентификаторТипаОтчета типа УникальныйИдентификатор.
Как при помощи всего этого определить название отчета?
По теме из базы знаний
Найденные решения
7. Caspersky 29.12.16 15:50 Сейчас в теме
(5) пример:
ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Локальные переменные
	ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
	ОтчетМетаданные = ОтчетОбъект.Метаданные();
	...
	КлючОбъекта = ОтчетМетаданные.ПолноеИмя();
	...
КонецПроцедуры

//КлючОбъекта -  реквизит формы отч. по умолчанию
//Отчет - реквизит формы отч. по умолчанию
Показать
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
6. spacecraft 29.12.16 15:49 Сейчас в теме
(1) Отчет.Имя или Отчет.ПолноеИмя
На выбор.
8. starik-2005 3046 29.12.16 15:54 Сейчас в теме
(1) все зависит от ответа на вопрос: "зачем?". Общая форма так или иначе дернет метод модуля отчета "ПриКомпоновкеРезультата". Если, например, что-то в макет добавить - можно все в этой функции сделать.
2. DeniVi 29.12.16 15:07 Сейчас в теме
Попробуйте так:
ИмяОтчета = Отчет.КомпоновщикНастроек.Настройки.ПараметрыВывода.Элементы.Найти("Заголовок");
3. YanSergey 145 29.12.16 15:15 Сейчас в теме
(2) Не совсем то что нужно. Нужно название отчета как оно в дереве метаданных
4. ice-net 19 29.12.16 15:17 Сейчас в теме
попробуй на доноре отследить что передается в универсальную форму
5. YanSergey 145 29.12.16 15:31 Сейчас в теме
(4) Да вот пробовал, никак не получилось
7. Caspersky 29.12.16 15:50 Сейчас в теме
(5) пример:
ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	// Локальные переменные
	ОтчетОбъект = РеквизитФормыВЗначение("Отчет");
	ОтчетМетаданные = ОтчетОбъект.Метаданные();
	...
	КлючОбъекта = ОтчетМетаданные.ПолноеИмя();
	...
КонецПроцедуры

//КлючОбъекта -  реквизит формы отч. по умолчанию
//Отчет - реквизит формы отч. по умолчанию
Показать
9. YanSergey 145 29.12.16 16:12 Сейчас в теме
Спасибо.
Отчет на вопрос "зачем?" такой:
Есть подсистема оценка производительности в БСП.
Что бы не лепить в каждый отчет свою форму для замера времени формирования все делается одной общей формой.
10. AtamanovYS 149 08.11.21 13:44 Сейчас в теме
Если отчёт формируется через общую форму БСПшную, то тут можно найти "Форма.Параметры.ИмяОтчета".
Вроде этот параметр всегда есть. И там именно имя отчёта в конфигураторе, а не ключ варианта.
РеквизитФормыВЗначение не получится использовать, чтобы обойтись без доработок существующего модуля формы. Если хотим использовать переопределяемые модули.
Если Форма.Параметры.Свойство("ИмяОтчета") И Форма.Параметры.ИмяОтчета = "ВыручкаИСебестоимостьПродаж" ...
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот