Имя: Пароль:
1C
1С v8
запустить процедуру после закрытия формы
0 mulder_mulder
 
03.07.15
13:24
Добрый день.
Ситуация следующего характера.
Есть таблица значений. Содержимое, отрисовывается по команде.

Есть окно, которое вызывается по щелчку на этой таблице.

В этом окне меняются данные, и после закрытия её, в таблице,должна отобразиться картина этих изменений.

Но. фактически изменения происходят только программно. Визуально, они появляются, когда вызовешь очередной раз окно.

Пробовал вызывать соседнее окно модально.
Форма=ПолучитьФорму("справочник.СписокДокументовПроведенияРаботППР.форма.формасписка");
Форма.ОткрытьМодально();
Тогда, после закрытия окна, отрисовка выполняется мгновенно.
Видимо, после закрытия, окно возвращает все фокусы окну вызвавшему его. Что не выполняется, при ниже описанном фокусе.

Фокус в том, что единственный метод вызова нужного окна, есть ОткрытьЗначение(ссылка);
Которое, хоть и вызывается как модальное, но эффекта отрисовки по закрытию не имеет.

Вопрос:
Можно ли как-то отследить закрытие окна по ОткрытьЗначение(ссылка);
А потом выполнить нужную мне команду. Или по закрытию, забрать все фокусы назад. Как это делается при Форма.ОткрытьМодально();

КАК догадался, что фокус не возвращается:
ОткрытьЗначение(ссылка);
сообщить("ап");    

Сообщение вылезло на вызванной форме, а не на форме вызвавшей его. Хотя по логике, должно быть так.
1 Asmody
 
03.07.15
13:27
тебе нужна ОбработкаОповещения
2 Михаил Козлов
 
03.07.15
13:27
Можно попробовать через Оповестить.
3 Asmody
 
03.07.15
13:28
[единственный метод вызова нужного окна, есть ОткрытьЗначение(ссылка)] — это неправда
4 mulder_mulder
 
03.07.15
13:34
(3) Тогда какие ещё могут быть команды открытия окна по ссылке, передаваемые из сервера на клиента.
Можно пример? Окно должно открыть нужную карточку элемента справочника.

(2)Не пробовал. ещё такое. Как можно реализовать данный алгоритм, можно небольшой пример, с участием  ОткрытьЗначение(ссылка); ?

За ранее благодарен.
5 mulder_mulder
 
03.07.15
13:48
Куда вкручивать оповещение?
Как оно работает?
Попытался вписать туда в качестве параметра открытие окна, но метод является процедурой, и не может передать параметр.
6 mulder_mulder
 
03.07.15
14:44
Ошибка? Это не ошибка, это системная функция.