Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Отловить процедуру при закрытии подиченной формы
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
dsfdsfsdf
Вообщем такая проблема. Есть форма обработки из короторой я получаю другую форму. Задача отловить закрытие другой формы, и написать туда какиэто действия. Пробовал ставить модифицированост ьв истину не катит. Обычные формы. Вот пробую через оповещение но не катит.
Процедура КнопкаВыполнитьНажатие(Кнопка)
    Попытка
        ФормаВыбора = Документы.РегламентированныйОтчет.ПолучитьФормуВыбора();
        ФормаВыбора.ДокументСписок.Отбор.НаименованиеОтчета.ВидСравнения = ВидСравнения.Равно;
        ФормаВыбора.ДокументСписок.Отбор.НаименованиеОтчета.Значение = "Декларация по НДС";
        ФормаВыбора.ДокументСписок.Отбор.НаименованиеОтчета.Установить();
        ФормаВыбора.Заголовок = "Выберите документ ""Декларация по НДС""";
        ВыбДок = ФормаВыбора.ОткрытьМодально();  
        ФормаДок = ВыбДок.ПолучитьФорму();        
        //ФормаДок.ОткрытьМодально();
        
        ОткрытьФорму(ФормаДок,,,,,,сохранение(ФормаДок),);
        Оповестить("ЗакрытьФорму",сохранение(ФормаДок),ФормаДок);

    Исключение
    КонецПопытки
КонецПроцедуры

функция сохранение(ФормаДок)
    Попытка
            ФормаДок.ЭтотОбъект.Записать();
        Исключение
            Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
        КонецПопытки;
    
КонецФункции;

takefive
dsfdsfsdf @ Сегодня, 11:45 необходимо зарегистрироваться для просмотра ссылки ,
ЗначениеВыбора = ФормаВыбора.ОткрытьМодально();
ЗначениеВыбора - это значение из формы выбора
в форме выбора пишете
ЭтоФорма.Закрыть(ЗначениеКотороеНужноВернуть)
sava1
оповестить отрабатывает в ОбработкаОповещения формы.

вызывать Оповестить надо из подчиненной формы, а не при ее открытии

или откройте подчиненную форму модально.
dsfdsfsdf
Процедура КнопкаВыполнитьНажатие(Кнопка)
    ФормаВыбора = Документы.РегламентированныйОтчет.ПолучитьФормуВыбора();
        ФормаВыбора.ДокументСписок.Отбор.НаименованиеОтчета.ВидСравнения = ВидСравнения.Равно;
        ФормаВыбора.ДокументСписок.Отбор.НаименованиеОтчета.Значение = "Декларация по НДС";
        ФормаВыбора.ДокументСписок.Отбор.НаименованиеОтчета.Установить();
        ФормаВыбора.Заголовок = "Выберите документ ""Декларация по НДС""";
        ВыбДок = ФормаВыбора.ОткрытьМодально();  
        ФормаДок = ВыбДок.ПолучитьФорму();

        ФормаДок.Открыть();
        //ФормаДок.Закрыть();
        //      Попытка
        //    ФормаДок.ЭтотОбъект.Записать();
        //Исключение
        //    Сообщить(ОписаниеОшибки(), СтатусСообщения.Важное);
        СтруктураПараметров = Новый Структура("Ссылка");
        СтруктураПараметров.Ссылка = ФормаДок;

        Открытьформу("Отчет.РегламентированныйОтчетДекларацияНДС.Форма.ФормаОтчета2017", СтруктураПараметров,,,,"Сохранение")
        
        //КонецПопытки;
    КонецПроцедуры
    
        

Процедура Сохранение() Экспорт
    Сообщить("***")
КонецПроцедуры;

Я открываю форму подчиненную, потом жму на крестик, при этом я должен сделать вопрос сохранить форму или нет, как это сделать? не форму выбора а форму которую я открываю последней.
sava1
Событие ПередЗакрытием
Отказ=Истина - не закрывается форма
dsfdsfsdf
sava1 @ Сегодня, 13:00 необходимо зарегистрироваться для просмотра ссылки ,
Мне надо все сделать в обработке, не затрагивая код починенной формы
sava1
"Я хочу поймать рыбку, не забрасывая удочку в речку...."
dsfdsfsdf
sava1 @ Сегодня, 14:40 необходимо зарегистрироваться для просмотра ссылки ,
Я в коде написал свой способ, который не работает, нужно исправить или посоветовтаь другой.
takefive
dsfdsfsdf @ Сегодня, 15:14 необходимо зарегистрироваться для просмотра ссылки ,
Вам нужно:
1 передать в форму выбора владельца формы
2 у владельца формы создать событие Обработка выбора где и ловить выбор

еще возможно надо установить в Истина форме выбора: Форма выбора и Закрывать при выборе
dsfdsfsdf
Я уже целый день это мучаю, ест ь укого идеи?
sava1
Цитата(dsfdsfsdf @ 10.08.18, 13:31) необходимо зарегистрироваться для просмотра ссылки
Мне надо все сделать в обработке, не затрагивая код починенной формы


На момент Ваших действий форма уже будет закрыта. Что и как Вы собираетесь сохранять ?
dsfdsfsdf
Модифицированость пробовал ставить в истину не катит и вложь тоже и после перед открытием.
Вы можете на примере по коду показать?

takefive @ Сегодня, 16:01 необходимо зарегистрироваться для просмотра ссылки ,
А причем тут ловить выбор к закрытию документа?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.