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

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

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

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

Ведущий разработчик 1С (Внутренний учет)
Москва
зарплата от 200 000 руб.
Полный день

Инженер - программист 1С/разработчик 1С (middle)
Иркутск
зарплата от 100 000 руб. до 180 000 руб.
Полный день

Программист 1С
Иркутск
зарплата от 100 000 руб. до 180 000 руб.
Полный день

Ведущий разработчик 1С
Новосибирск
зарплата от 120 000 руб. до 150 000 руб.
Полный день