Имя: Пароль:
1C
 
работа с обработчиком ожидания
,
0 dron4ikkk
 
20.10.14
09:55
есть два документа: в форме док1 создаем док2, но при открытии созданного док2 необходимо закрыть и провести док1. Посоветовали использовать обработчик ожидания. В форме док2 написал следующее:

&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПодключитьОбработчикОжидания("ЗакрытиеФормы", 5, Истина);
КонецПроцедуры


&НаКлиенте
Процедура ЗакрытиеФормы()
    
КонецПроцедуры


Не понимаю что написать в процедуре ЗакрытиеФормы() , но тут каким-то образом необходимо закрыть и провести док1, не понимаю каким образом это сделать?
1 Ёпрст
 
20.10.14
09:57
Записать с режимом записи проведение + Закрыть..
2 бомболюк
 
20.10.14
09:58
а че форму документа 1 надо закрыть на сразу, а спустя 5 секунд только?
3 dron4ikkk
 
20.10.14
09:59
(1) Это ясно, не ясно что каким образом обратиться в процедуре ЗакрытиеФормы() к открытой форме док1
4 dron4ikkk
 
20.10.14
10:00
(2) на время внимание не обращайте, суть в другом щас
5 бомболюк
 
20.10.14
10:03
может тебе советовали обработку ОПОВЕЩЕНИЯ использовать?
6 Fedor-1971
 
20.10.14
10:04
А чем не устраивает связка Оповестить("ЗакрываемФормуДок1") из Док2, а в Док1 ОбработкаОповещения(...)
Если имяСобытия="ЗакрываемФормуДок1" тогда
  ЭтаФорма.Закрыть(...);
КонецЕсли;
7 dron4ikkk
 
20.10.14
10:09
(6) можно по подробнее)
8 Fedor-1971
 
20.10.14
10:10
(7) Формы управляемые или обычные?
9 dron4ikkk
 
20.10.14
10:11
(8) управляемые
10 Fedor-1971
 
20.10.14
10:15
Хотя, без разницы.
Для док2, в ПриОткрытии() тупо пишешь Оповестить("Какая-то длинная строка"), т.е. всем открытым формам отправляется сообщение "какая-то длинная строка". там где тебе нужно (в док1), отлавливаешь оное сообщение через событие формы ОбработкаОповещения() - в твоём случае, по получениии данного сообщения нужно инициировать запись в режиме проведения и закрытие формы
11 Fedor-1971
 
20.10.14
10:17
техника дела в (6)
12 dron4ikkk
 
20.10.14
10:21
(11) Спасибо сейчас попробуем!
13 Krolik Bezobraznik
 
20.10.14
11:01
Попробуй при открытии формы дока 2 передать в нее имя формы дока 1 в качестве владельца. Затем при открытии формы дока 2 сделай проверку на заполнение реквизита владелец и на соответствие типа форме нужного документа и закрой ее по ссылка не форму владельца если условия сходятся.
Независимо от того, куда вы едете — это в гору и против ветра!