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

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 3033 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 148 08.11.21 13:44 Сейчас в теме
Если отчёт формируется через общую форму БСПшную, то тут можно найти "Форма.Параметры.ИмяОтчета".
Вроде этот параметр всегда есть. И там именно имя отчёта в конфигураторе, а не ключ варианта.
РеквизитФормыВЗначение не получится использовать, чтобы обойтись без доработок существующего модуля формы. Если хотим использовать переопределяемые модули.
Если Форма.Параметры.Свойство("ИмяОтчета") И Форма.Параметры.ИмяОтчета = "ВыручкаИСебестоимостьПродаж" ...
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

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

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

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)