Имя: Пароль:
1C
 
Как отловить закрытие формы
0 ArturDoo
 
09.06.22
12:08
Добрый день. Как можно отловить закрытие открываемой формы Методом ОткрытьФорму("ОбщаяФорма.ВыбораСотрудника",,ЭтаФорма); в форме владельце?
1 Ryzeman
 
09.06.22
12:10
УФ?

<ОписаниеОповещенияОЗакрытии> (необязательный)
Тип: ОписаниеОповещения.
Содержит описание процедуры, которая будет вызвана при закрытии формы со следующими параметрами:
<РезультатЗакрытия> - значение, переданное при вызове метода Закрыть открываемой формы,
<ДополнительныеПараметры> - значение, которое было указано при создании объекта ОписаниеОповещения.
Если параметр не указан, то по завершению никакая процедура вызвана не будет.
Используется только в управляемом приложении.
2 ArturDoo
 
09.06.22
12:29
Попробовал так:
&НаКлиенте
Процедура КомандаОткрытьФормуВыбора(Команда)
    
    ПараметрыФорма = Новый Структура;
    ПараметрыФорма.Вставить("Владелец",ЭтаФорма);
    Оповещение = Новый ОписаниеОповещения("ВыполнитьПослеЗакрытияФормы", ЭтаФорма);
    ОткрытьФорму("ОбщаяФорма.ВыбораСотрудника",ПараметрыФорма,ЭтаФорма);    
КонецПроцедуры
Процедура ВыполнитьПослеЗакрытияФормы() Экспорт
    Сообщить("123");    
КонецПроцедуры

В форме владельце
Запись значения свойства 'val':
    форма: Элемент
    имя: {http://v8.1c.ru/8.2/mngsrv/ws}val
по причине:
Ошибка отображения типов:
Отсутствует отображение для типа 'ФормаКлиентскогоПриложения'
3 Выпрь
 
09.06.22
12:43
Лучше ОткрытьФормуАсинх
4 ArturDoo
 
09.06.22
12:43
Получилось
5 Ryzeman
 
09.06.22
12:48
(2) Ты в своём коде тут не используешь оповещение. Плюс в цитате из СП написано же, что в ВыполнитьПослеЗакрытияФормы() два параметра должно быть.
Судя по (4) ты и сам понял)
6 Мультук
 
гуру
09.06.22
12:56
(3)

В какой типовой можно уже вовсю использовать ОткрытьФормуАсинх ?

P.S.
Гугль говорит, что "это все" появилось с 8.3.18

в УТ 11.4 режим совместимости стоит 8.3.12
в УТ 11.5 режим совместимости стоит 8.3.16

или у меня что-то в голове поломалось?
Или есть более продвинутые типовые где уже - можно ?
7 banco
 
09.06.22
13:49
(3) Это где вы нашли такую функцию?
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн