Версия для печати темы (https://pro1c.org.ua/index.php?s=c23c3d33059a4a45a77cf0c496343506&showtopic=47156)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Отловить процедуру при закрытии подиченной формы

Автор: dsfdsfsdf 10.08.18, 10:45

Вообщем такая проблема. Есть форма обработки из короторой я получаю другую форму. Задача отловить закрытие другой формы, и написать туда какиэто действия. Пробовал ставить модифицированост ьв истину не катит. Обычные формы. Вот пробую через оповещение но не катит.

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

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

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


Автор: takefive 10.08.18, 11:06

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

Автор: sava1 10.08.18, 11:06

оповестить отрабатывает в ОбработкаОповещения формы.

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

или откройте подчиненную форму модально.

Автор: dsfdsfsdf 10.08.18, 11:45

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

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

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

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

Я открываю форму подчиненную, потом жму на крестик, при этом я должен сделать вопрос сохранить форму или нет, как это сделать? не форму выбора а форму которую я открываю последней.

Автор: sava1 10.08.18, 12:00

Событие ПередЗакрытием
Отказ=Истина - не закрывается форма

Автор: dsfdsfsdf 10.08.18, 12:31

sava1 @ Сегодня, 13:00 * ,
Мне надо все сделать в обработке, не затрагивая код починенной формы

Автор: sava1 10.08.18, 13:40

"Я хочу поймать рыбку, не забрасывая удочку в речку...."

Автор: dsfdsfsdf 10.08.18, 14:14

sava1 @ Сегодня, 14:40 * ,
Я в коде написал свой способ, который не работает, нужно исправить или посоветовтаь другой.

Автор: takefive 10.08.18, 15:01

dsfdsfsdf @ Сегодня, 15:14 * ,
Вам нужно:
1 передать в форму выбора владельца формы
2 у владельца формы создать событие Обработка выбора где и ловить выбор

еще возможно надо установить в Истина форме выбора: Форма выбора и Закрывать при выборе

Автор: dsfdsfsdf 10.08.18, 15:04

Я уже целый день это мучаю, ест ь укого идеи?

Автор: sava1 10.08.18, 15:11

Цитата(dsfdsfsdf @ 10.08.18, 13:31) *
Мне надо все сделать в обработке, не затрагивая код починенной формы


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

Автор: dsfdsfsdf 10.08.18, 15:51

Модифицированость пробовал ставить в истину не катит и вложь тоже и после перед открытием.
Вы можете на примере по коду показать?

takefive @ Сегодня, 16:01 * ,
А причем тут ловить выбор к закрытию документа?

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua