Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как обновить ТЧ документа после события в ТЧ? (Управляемые формы)

Как обновить ТЧ документа после события в ТЧ? (Управляемые формы)
Я
   AlexandrNovicov
 
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(Объект);
    ОткрытьЗначение(Док);
КонецПроцедуры
 
 
   Cyberhawk
 
1 - 23.10.19 - 13:54
Прочитать()
   Cyberhawk
 
2 - 23.10.19 - 13:54
Но перед этим ОповеститьОбИзменении, чтобы кэш представлений ссылок сбросился
   AlexandrNovicov
 
3 - 23.10.19 - 13:58
(1) Это понятно, но в какой момент запустить? ОповеститьОбИзмении откуда и кого? получается что через ОткрытьЗначение(Док); Объекты друг о друге не знают
   Жан Пердежон
 
4 - 23.10.19 - 13:59
ПоказатьЗначение() - смотри первый параметр;
   Cyberhawk
 
5 - 23.10.19 - 14:00
(3) Можно открывать форму с передачей таблицы или поля ввода в качестве владельца
   AlexandrNovicov
 
6 - 23.10.19 - 15:05
Получилось, спасибо

1. В ОбъектДокумент1 процедура формы ОбработкаОповещения()

&НаКлиенте
Процедура ТЧВыбор(Элемент, ВыбраннаяСтрока, Поле, СтандартнаяОбработка)
       ПоказатьЗначение(,Элементы.ТЧ.ТекущиеДанные.СсылкаДокумент2)
КонецПроцедуры

&НаКлиенте
Процедура ОбработкаОповещения(ИмяСобытия, Параметр, Источник)
    Если ИмяСобытия =  "ОбъектИзменён" тогда
        ЭтаФорма.Прочитать();    
    КонецЕсли;
КонецПроцедуры

2. В ОбъектДокумент2 процедура формы ПослеЗаписи(). Если ничего не меняли значит и не записываем, а значит и выполнять нету смысла.

&НаКлиенте
Процедура ПослеЗаписи(ПараметрыЗаписи)
      Оповестить("ОбъектИзменён",ЭтаФорма);
КонецПроцедуры
   AlexandrNovicov
 
7 - 23.10.19 - 15:12
Попробовал оставил открытым документ2 и открыл документ1 из списка документов (Не из ТЧ объекта документ2), изменил Документ1, записал, перехожу в открытый ранее документ2 вижу что ТЧ обновлена. Получается оповещение выполняется всегда, без объявления владельца.
   Жан Пердежон
 
8 - 23.10.19 - 15:45
(6) всё неправильно
   AlexandrNovicov
 
9 - 23.10.19 - 16:57
(8) Всё работает, что не правильно?

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.