1. Trofimov_M 02.04.14 14:51 Сейчас в теме

Получение результата закрытия формы в немодальном режиме

// есть процедура выбора; без передачи доп параметров
&НаКлиенте
Процедура ДобавитьХарактеристику(Команда)
Оповещение = Новый ОписаниеОповещения("ДобавитьХарактеристикуЗавершение", ЭтотОбъект);
ОткрытьФорму("ПланВидовХарактеристик.ВидыХарактеристик.ФормаВыбора",,,,,, Оповещение);
КонецПроцедуры

// процедура-асинхрон обработки выбора
&НаКлиенте
Процедура ДобавитьХарактеристикуЗавершение(ВидХарактеристики, Параметры) Экспорт
Если ВидХарактеристики = Неопределено Тогда
Возврат;
КонецЕсли;
КонецПроцедуры

Если посмотреть справку, то параметр Оповещение, передаваемый в процедуру ОткрытьФорму() содержит описание процедуры, которая будет вызвана после закрытия формы со следующими параметрами:
*Результат – значение, переданное при вызове метода Закрыть()
*ДопПараметры – переданы при создании оповещения.

Вопросы:
1) ГДЕ и КАК посмотреть значение параметра Результат при закрытии формы выбора? (до того, как форма выбора будет закрыта)
2) Как правильно обрабатывать передачу параметров в процедуру асинхронной обработки?
Обязательно ли создавать свою команду и вызывать метод Закрыть(Параметры) с передачей требуемых параметров для произвольных форм?
П.С. про передачу дополнительных параметров в описаниеОповещения и дальнейшее их переопределение и обработку в процедуре-асинхронной обработки знаю, но мне кажется это не вариант, т.к. там можно передать любой тип, а не обязательно структуру. Есть ли еще варианты???
Ответы
Избранное Подписка Сортировка: Древо
2. killitch 29 02.04.14 15:28 Сейчас в теме
3. Trofimov_M 02.04.14 15:58 Сейчас в теме
(2) Метод Оповестить и обработчик события ОбработкаОповещения. Их нужно использовать только для широковещательной рассылки сообщения всем открытым формам.
Вопрос в другом.
4. UncleVader 128 14.04.17 19:35 Сейчас в теме
Удалось ли решить этот вопрос?
5. odinassdeveloper 18.03.19 13:26 Сейчас в теме
некропостинг конечно, но может кому-то сэкономит время

&НаКлиенте
Процедура ПередЗакрытием(Отказ, ЗавершениеРаботы, ТекстПредупреждения, СтандартнаяОбработка)
	
	Если ЗавершениеРаботы Тогда
		Возврат;
	КонецЕсли; 
	
	Если ОсобыйРежимЗакрытия Тогда
		ОсобыйРежимЗакрытия = Ложь;
		СтандартнаяОбработка = Ложь;
		Отказ = Истина;
		ПодключитьОбработчикОжидания("ЗакрытьПоОсобенному", 0.1, Истина);
	КонецЕсли; 
	
КонецПроцедуры

&НаКлиенте
Процедура ЗакрытьПоОсобенному()
	
	Закрыть("Таки вот...");
	
КонецПроцедуры
Показать
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

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

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

Автор новостных обзоров на тему 1С и бухучета
Санкт-Петербург
По совместительству

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

Работа от Инфостарт
Санкт-Петербург
Временный (на проект)