Имя: Пароль:
1C
 
Не обновляется значение реквизита табличной части на клиенте
0 Admin_Net_1C
 
31.01.19
07:55
Добрый день.
Подскажите, кто сталкивался с такой ситуацией:
Платформа 8.3.13.1644
Комплексная автоматизация 2.4.6.207, файловая.

Есть 2 процедуры:



&НаКлиенте
Процедура ВыполнитьПослеВыбораНовогоНазначения()
...
Для каждого СтрокаТЧ Из Объект.Товары Цикл
        СтрокаТЧ.НовоеНазначение = РезультатЗакрытия;
    КонецЦикла;
...
КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьПослеОтветаНаВопросаОчисткаТЧ()
...
Объект.Товары.Очистить();
    
    МассивСтрокТЧ = ПолучитьСтрокиТЧПоЗаказу(ДополнительныеПараметры, Объект.Дата);
    Для каждого ЭлМассива Из МассивСтрокТЧ Цикл
        
        НоваяСтрокаТЧ = Объект.Товары.Добавить();
        ЗаполнитьЗначенияСвойств(НоваяСтрокаТЧ, ЭлМассива);
        
    КонецЦикла;
...

КонецПроцедуры



Функция ПолучитьСтрокиТЧПоЗаказу (&НаСервереБезКонтекста) возвращает массив структур для заполнения табличной части Товары.

Суть проблемы: захожу в сохраненный документ, выполняю ВыполнитьПослеВыбораНовогоНазначения - реквизит табличной части заполняется и отображается на форме. Все нормально.
Далее выполняю ВыполнитьПослеОтветаНаВопросаОчисткаТЧ - табличная часть очищается и перезаполняется новыми строками. После этого выполняю ВыполнитьПослеВыбораНовогоНазначения и в отладчике вижу, что в Объект.Товары.НовоеНазначение установлено новое значение, НО на форме старое значение.

Подскажите куда копать, всю голову сломал уже.
1 Admin_Net_1C
 
31.01.19
07:57
+(0) данный код выполняется в расширении, в которую заимствована ФормаДокумента, если это важно
2 Admin_Net_1C
 
31.01.19
08:01
+(0) причем, если после выполнения цепочки вызовов ВыполнитьПослеОтветаНаВопросаОчисткаТЧ -> ВыполнитьПослеВыбораНовогоНазначения, документ записать, то в форме в табличной части появляются новые значения.
3 Admin_Net_1C
 
31.01.19
09:53
апну тему, не ужели никто не может подсказать (
4 Admin_Net_1C
 
31.01.19
10:57
знатоки УФ, подскажите в какую сторону копать
5 OldCondom
 
31.01.19
11:05
Форма обновить и т.д. пробовал?
6 Admin_Net_1C
 
31.01.19
11:09
(5) пробовал и ЭтаФорма.Обновить и Элементы.Товары.Обновить() - не помогает
7 OldCondom
 
31.01.19
11:14
Для каждого СтрокаТЧ Из Объект.Товары Цикл
        СтрокаТЧ.НовоеНазначение = РезультатЗакрытия;
    КонецЦикла;

ВОт здесь отладчик показывает, что НовоеЗначение заполнено?
А что за код после этого цикла? Может все затирается? Чудес то не бывает, не в УФ проблема.
8 Admin_Net_1C
 
31.01.19
11:17
(7) Да, после цикла Объект.Товары.НовоеНазначение отладчик показывает, что заполнено нужными (выбранными) значениями. После цикла конец процедуры.
9 OldCondom
 
31.01.19
11:23
Полтергейст прямо. Посмотри по любому событию после этих процедур, что все таки лежит в Объект.Товары.
10 OldCondom
 
31.01.19
11:28
Для каждого СтрокаТЧ Из Объект.Товары Цикл
        СтрокаТЧ.НовоеНазначение = РезультатЗакрытия;
КонецЦикла;

        Если значениезаполнено(Объект.Товары[0].НовоеЗначение) Тогда
Сообщить("Вызывайте экзорциста");
КОнецЕсли;
КонецЦикла;

Попробуй так
11 Admin_Net_1C
 
31.01.19
11:32
(10) реально полтергейст ( , т.к. отладчик показывает верные данные, а на форме обновления данных колонки не происходит.
Причем, как сказано в (0):
захожу в сохраненный документ, выполняю ВыполнитьПослеВыбораНовогоНазначения - реквизит табличной части заполняется и отображается на форме. Все нормально!!!

т.е. одна и таже процедура один раз отрабатывает, второй раз нет (
12 Admin_Net_1C
 
31.01.19
12:03
разобрался, всем спасибо, нужно было после полного обновления данных ТЧ вызывать еще постобработку, которую нашел в одной из функций исходного модуля формы )