1. YanSergey 29.12.16 14:19 Сейчас в теме

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

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

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

//КлючОбъекта -  реквизит формы отч. по умолчанию
//Отчет - реквизит формы отч. по умолчанию
Показать
9. YanSergey 29.12.16 16:12 Сейчас в теме
Спасибо.
Отчет на вопрос "зачем?" такой:
Есть подсистема оценка производительности в БСП.
Что бы не лепить в каждый отчет свою форму для замера времени формирования все делается одной общей формой.
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

Ведущий программист 1С; Оплачиваемый переезд в Ростов-на-Дону
Краснодар
зарплата от 50 000 руб. до 120 000 руб.
Полный день

Ведущий программист 1С; Оплачиваемый переезд в Ростов-на-Дону
Екатеринбург
зарплата до 120 000 руб.
Полный день

Ведущий программист 1С
Ростов-на-Дону
зарплата от 50 000 руб. до 120 000 руб.
Полный день

Консультант 1С
Москва
зарплата от 100 000 руб. до 140 000 руб.
Временный (на проект)