Приветствую Вас ГостьСуббота, 18.05.2024, 08:12

Каталог статей


Возврат значения при закрытии формы

Чтобы при закрытии формы возвращалось значение, надо в параметрах метода Закрыть() указать нужное значение, например Закрыть(Объект.Ссылка);.

Если форму можно закрыть разными методами (кнопка "Выбор", "Закрыть", "Отмена" и т.д.), а возвращать какое-то значение надо всегда, тогда в процедуру формы ПриЗакрытии() надо добавит метод ОповеститьОВыборе(<значение>), например ОповеститьОВыборе(Объект.Ссылка);

Ещё пишут, что на форме родителя надо описать событие «ОбработкаВыбора» и указать в нем получение параметра по ключу из структуры. У меня работает и без этого, возможно потому что указан владелец формы в методе ОткрытьФорму().

Пример вызова на родительской форме:

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

&НаСервере
Функция СформироватьПараметры()
    Перем Результат;
    Результат = Новый Структура();
    ...    
    Возврат Результат;
КонецФункции

&НаСервере
Процедура ВыполнитьПослеЗаписиЗаявки(РезультатЗакрытия, ДопПараметры) Экспорт
    
    Если РезультатЗакрытия = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
   Объект.ЗаявкаНаРемонт = РезультатЗакрытия;   
    
КонецПроцедуры
 

В форме документа заявка пишем:

&НаКлиенте
Процедура ПриЗакрытии(ЗавершениеРаботы)
    ОповеститьОВыборе(Заявка.Ссылка);
КонецПроцедуры

Категория: Формы | Добавил: leshic (15.03.2021)
Просмотров: 4844 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Вход на сайт
Поиск
Категории раздела
СКД [48]
Регистры [7]
Формы [41]
Администрирование [35]
Запросы [10]
Объекты конфигурации и типы данных [20]
Взаимодействие с другими базами, приложениями и источниками данных [16]
Программирование [29]
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0