ИД формы - как получить?

Автор Злоп, 29 января 2026, 13:37

« назад - далее »

Злоп

Форму отчета/обработки можно открыть как
ОткрытьФорму("Отчет",,ПолныйПуть);
А можно открыть форму (в т.ч. и как новый экземпляр самой себя) как
ОткрытьФорму("Отчет#КакойТоУникальныйИд",,ПолныйПуть);
.
Вопрос: можно ли в открывшейся форме получить этот КакойТоУникальныйИд, не прибегая к передаче его через параметры формы Форма.Параметр?

В т.ч. и когда открываем форму из самой себя не указывая КакойТоУникальныйИд, а просто
ОткрытьФорму("Отчет#",,ПолныйПуть);
- каждый раз открывается новый экземпляр формы...

Злоп

Для чего это: когда я вызвал дочернюю форму из самой себя с новым уникальным ИД (и такая цепочка может быть длинной) - при закрытии дочерней формы надо вернуться в родительскую (еще незакрытую). Например, UCHOICE чтобы можно было вызывать из самой себя длинной цепочкой, что позволит строить сложные отборы...

Злоп

В Формексе такого не нашел. а хотелось бы, типа как атрибут РасширениеФормы или как-то иначе...

АЛьФ

РасширениеФормы::Метка
Синтаксис:
Метка
Назначение:
Доступ к значению метки формы. Атрибут для чтения/записи.
Возвращает/устанавливает метку формы, которая задается при вызове метода ОткрытьФорму()
после знака '#' в названии объекта.

Злоп

Не работает. РасширениеФормы.Метка - возвращает пусто.
Форма, кнопка "Сформировать" (тестовый пример скачать здесь: https://wdfiles.ru/4Ssxc)
.

Процедура Сформировать()
	МеткаНовойФормы = _GetPerformanceCounter();
	Сообщить("Открываем форму с меткой: "+МеткаНовойФормы);
	ОткрытьФорму("Отчет#"+МеткаНовойФормы,,РасположениеФайла());
КонецПроцедуры // Сформировать()

Процедура ПослеОткрытия()
	РФ = СоздатьОбъект("РасширениеФормы");
	МеткаЭтойФормы = РФ.Метка;
	Сообщить(СимволТабуляции+"метка открытой формы: " + МеткаЭтойФормы);
КонецПроцедуры // ПослеОткрытия

Харлампий Дымба

Не работает с внешними отчетами.
Если вызывать отчет из конфигурации, РасширениеФормы::Метка возвращает корректный Id в обоих случаях: и когда он явно задан, и когда присваивается системой.

Злоп

но где-то же эта "метка" хранится и для внешних, раз отрабатывает каждый раз новая форма даже просто если "Отчет#"

Злоп

Наверное, у Алексея просто руки не дошли до внешних отчетов в части этой метки.

АЛьФ

Цитата: Злоп от Вчера в 21:08Наверное, у Алексея просто руки не дошли до внешних отчетов в части этой метки.
Алексей тупо многие вещи просто для внешних отчётов не тестировал. Сегодня посмотрел, там и некоторые другие атрибуты не будут для внешних работать.

Злоп

Всяко бывает. Будем ждать Деда Мороза к следующему Новому году ;-)