Имя: Пароль:
1C
1С v8
Как оповестить форму владельца о закрытии подчиненной формы?? Обычные формы.
,
0 maksyandra
 
13.02.18
14:20
Как оповестить форму владельца о закрытии подчиненной формы без использования "открыть модально"?? Обычные формы.
1 polosov
 
13.02.18
14:21
Оповестить
2 maksyandra
 
13.02.18
14:23
(1) При вызове метода Оповестить в модуле подчиненной формы, почему-то вызывается процедура ОбработкаОповещения в самой подчиненной форме, а не в форме владельца.
3 Lexey_
 
13.02.18
14:34
(2) не только лишь ей:
Описание:
Посылает оповещение всем созданным формам


подойдет?
Форма (Form)

ОповеститьОВыборе (NotifyChoice)


Синтаксис:
ОповеститьОВыборе(<ЗначениеВыбора>)

Параметры:


<ЗначениеВыбора> (обязательный)
Тип: Произвольный.
Результат выбора.

Описание:
Посылает оповещение владельцу формы о выполнении выбора или подбора, передает ему выбранное значение. Закрывает форму в соответствии со значением свойства ЗакрыватьПриВыборе. Данное действие аналогично выполнению выбора в форме, открытой для выбора в поле ввода или ячейке табличного поля.
4 Сияющий в темноте
 
13.02.18
20:24
Экспортну функц ю в форме владельце,  вызвать ее через владел ца
5 Cyberhawk
 
13.02.18
22:07
Чем модальное открытие не подходит?
6 Лефмихалыч
 
13.02.18
22:19
(5) модальные формы используют только мудаки или от безысходности, когда по ряду причин вообще никак нельзя иначе.

(0) Оповестить()
И подумать - а на кой оно реально тебе надо вообще, оповещение
7 jsmith82
 
13.02.18
22:23
Оповести, будь мужиком
8 Cyberhawk
 
13.02.18
22:29
(6) То-то они повсюду: что в ОС, что в приложениях ))
9 Serg_1960
 
13.02.18
22:29
(2) Вот для этого и существует параметр в оповещении - чтобы различать кто, кому, чего и сколько :)
10 dumb851
 
13.02.18
22:35
будь мужиком, пиши в константу. каждой форме по константе.
на форме сделай обработчик ожидания и опрашивай константу.
11 Cyberhawk
 
13.02.18
22:42
(10) Жестко
12 Tateossian
 
13.02.18
22:58
А зачем оповещать?
13 Serg_1960
 
13.02.18
23:01
(0) Формы умеют между собой общаться. Это же азбука :)
(шутка, но в каждой шутке есть доля истины)

В подчиненной форме:

Оповестить("ХозяинУсталаХочуСпатьМожноМнеЗакрытьсяЗнакВопроса")

В форме-владельце, в ОбработкаОповещения(ИмяСобытия, Параметр, Источник):

Если ИмяСобытия = "ХозяинУсталаХочуСпатьМожноМнеЗакрытьсяЗнакВопроса" Тогда
   Оповестить("ХозяинРазрешаетЗакрытьсяИдиСпатьЭтоПриказ")
КонецЕсли

В подчиненной форме, в ОбработкаОповещения(ИмяСобытия, Параметр, Источник):

Если ИмяСобытия = "ХозяинРазрешаетЗакрытьсяИдиСпатьЭтоПриказ" Тогда
   ЭтаФорма.Закрыть()
КонецЕсли
14 Tateossian
 
13.02.18
23:02
Я почему это спросил: в подчиненной форме есть ссылка на форму-владельца. В при закрытии или другом терминальном обработчике вызвать функцию формы-владельца.
15 Tateossian
 
13.02.18
23:03
(13)  Зачем так изгаляться, если форма в области видимости подчиненной формы?
16 Serg_1960
 
13.02.18
23:54
"А поговорить?"(анекдот)
17 FIXXXL
 
14.02.18
09:01
(15) не надо изголяться
СП
Синтаксис:

ОткрытьФорму(<ИмяФормы>, <Параметры>, <Владелец>, <Уникальность>, <Окно>, <НавигационнаяСсылка>, <ОписаниеОповещенияОЗакрытии>, <РежимОткрытияОкна>)

используй <ОписаниеОповещенияОЗакрытии>
18 Cyberhawk
 
14.02.18
11:43
(17) У него обычные формы. Взлетит, возможно, только если он открывает обычные формы в управляемом приложении (но мне кажется, что у него обычные формы открываются в обычном приложении)
19 Мимохожий Однако
 
14.02.18
12:05
Вероятно есть причина, по которой надо дождаться закрытия формы...Есть еще метод ПодключитьОбработчикОжидания()
20 FIXXXL
 
14.02.18
15:08
(18) вот оно тлетворное влияние управляемого приложения! :)