|
работа с обработчиком ожидания |
☑ |
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 сделай проверку на заполнение реквизита владелец и на соответствие типа форме нужного документа и закрой ее по ссылка не форму владельца если условия сходятся.
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший