|
Как обновить ТЧ документа после события в ТЧ? (Управляемые формы) | ☑ | ||
---|---|---|---|---|
0
Alexandr Novicov
23.10.19
✎
13:53
|
Имеем два объекта ОбъектДокумент1 и ОбъектДокумент2
У ОбъектДокумент1 есть ТабличнаяЧасть(ТЧ) с единственным реквизитом СсылкаДокумент2 Разместил ТЧ на форме и добавил поля 1. Поле ОбъектДокумент2 2. Поле ОбъектДокумент2.Реквизит1 (булево) 3. Поле ОбъектДокумент2.Реквизит2 (Строка) 4. Поле ОбъектДокумент2.Реквизит3 (Число) двойным кликом по строке в ТЧ открывается эта самая СсылкаДокумент2(Объект) Вносим изменения СсылкаДокумент2(Объект), закрываем документ СсылкаДокумент2(Объект) и вот тут вопрос: Что сделать что бы событие закрытия документы СсылкаДокумент2(Объект) открытого через ТЧ документа ОбъектДокумент1 обновила ТЧ согласно внесённым изменениям. &НаКлиенте Процедура ТЧВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) Док = Элементы.ТЧ.ТекущиеДанные.СсылкаДокумент2(Объект); ОткрытьЗначение(Док); КонецПроцедуры |
|||
1
Cyberhawk
23.10.19
✎
13:54
|
Прочитать()
|
|||
2
Cyberhawk
23.10.19
✎
13:54
|
Но перед этим ОповеститьОбИзменении, чтобы кэш представлений ссылок сбросился
|
|||
3
Alexandr Novicov
23.10.19
✎
13:58
|
(1) Это понятно, но в какой момент запустить? ОповеститьОбИзмении откуда и кого? получается что через ОткрытьЗначение(Док); Объекты друг о друге не знают
|
|||
4
Жан Пердежон
23.10.19
✎
13:59
|
ПоказатьЗначение() - смотри первый параметр;
|
|||
5
Cyberhawk
23.10.19
✎
14:00
|
(3) Можно открывать форму с передачей таблицы или поля ввода в качестве владельца
|
|||
6
Alexandr Novicov
23.10.19
✎
15:05
|
Получилось, спасибо
1. В ОбъектДокумент1 процедура формы ОбработкаОповещения() &НаКлиенте Процедура ТЧВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка) ПоказатьЗначение(,Элементы.ТЧ.ТекущиеДанные.СсылкаДокумент2) КонецПроцедуры &НаКлиенте Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник) Если ИмяСобытия = "ОбъектИзменён" тогда ЭтаФорма.Прочитать(); КонецЕсли; КонецПроцедуры 2. В ОбъектДокумент2 процедура формы ПослеЗаписи(). Если ничего не меняли значит и не записываем, а значит и выполнять нету смысла. &НаКлиенте Процедура ПослеЗаписи(ПараметрыЗаписи) Оповестить("ОбъектИзменён",ЭтаФорма); КонецПроцедуры |
|||
7
Alexandr Novicov
23.10.19
✎
15:12
|
Попробовал оставил открытым документ2 и открыл документ1 из списка документов (Не из ТЧ объекта документ2), изменил Документ1, записал, перехожу в открытый ранее документ2 вижу что ТЧ обновлена. Получается оповещение выполняется всегда, без объявления владельца.
|
|||
8
Жан Пердежон
23.10.19
✎
15:45
|
(6) всё неправильно
|
|||
9
Alexandr Novicov
23.10.19
✎
16:57
|
(8) Всё работает, что не правильно?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |