|
Не обновляется табличная часть документа на клиенте |
☑ |
0
altfin
20.12.22
✎
10:41
|
ДВС!
Находясь в форме документа программно добавляю строку в табличную часть "Показатели" на клиенте.
При этом не отображается добавленная строка, хотя в Объект.Показатели добавленная строка есть.
Прочитать() - не катит, поскольку еще док не записан.
Это тоже не работает:
ЭтаФорма.ОбновитьОтображениеДанных(Элементы.Показатели);
ЭтаФорма.Элементы.Показатели.Обновить();
Единственно что работает это ОбновитьИнтерфейс(), но хотелось бы обойтись менее трудоемкой в плане нагрузки процедурой.
Что можно применить?
|
|
1
НафНаф
20.12.22
✎
10:59
|
ну показывайте как добавляете
|
|
2
Мультук
гуру
20.12.22
✎
11:04
|
(0)
Дай угадаю. Это ЗУП или ЕРП, а таблица на форме смотрит вовсе не на таб.часть "Показатели", а какую-нибудь таблицу значений или вовсе дерево.
|
|
3
altfin
20.12.22
✎
11:05
|
&НаКлиенте
Процедура ДобавитьОбновитьСтрокуКонечныеОстатки()
ТекДанные = Элементы.ТЧ_ШПЗ.ТекущиеДанные;
ТекШПЗ = ТекДанные.ШПЗ;
Если Не ЗначениеЗаполнено(ТекШПЗ) Тогда
Возврат;
КонецЕсли;
КонечныеОстаткиМассивСтрок = Объект.Показатели.НайтиСтроки(Новый Структура("ЭтоКонечныйОстаток,ШПЗ",Истина,ТекШПЗ));
СтрокаКонечныеОстатки = ?(КонечныеОстаткиМассивСтрок.Количество() = 0,Неопределено,КонечныеОстаткиМассивСтрок[0]);
Если СтрокаКонечныеОстатки = Неопределено Тогда
СтрокаОстатков = Объект.Показатели.Добавить();
Иначе
СтрокаОстатков = СтрокаКонечныеОстатки;
КонецЕсли;
СтрокаОстатков.ШПЗ = ТекШПЗ;
СтрокаОстатков.ЭтоКонечныйОстаток = Истина;
СтрокаОстатков.Номенклатура = ИскомаяНоменклатура;
//ОбновитьИнтерфейс();
ЭтаФорма.ОбновитьОтображениеДанных(Элементы.Показатели);
ЭтаФорма.Элементы.Показатели.Обновить();
КонецПроцедуры
|
|
4
altfin
20.12.22
✎
11:06
|
(3) мимо
Если нажать записать, то сразу все отображается
|
|
5
Мультук
гуру
20.12.22
✎
11:14
|
(4)
просто ради любопытства название конфы и вид документа можно озвучить (если они типовые )
|
|
6
altfin
20.12.22
✎
11:18
|
(5) самописный документ, к типовой конфе отношения не имеет
|
|
7
altfin
20.12.22
✎
11:18
|
Если один раз записать с добавленной строкой, то потом все программные изменения по ней отображаются уже нормально
|
|
8
Kassern
20.12.22
✎
11:20
|
(6) тогда у вас может быть все что угодно. Вы записываете в ТЧ у объекта строчку, а на форму к примеру выводите левую ТЗ не привязанную к объекту. При записи, или открытии ее заполняете. Поэтому и не видите отображение при изменение при программном добавлении. В общем ковыряйте форму, магии не бывает.
|
|
9
p-soft
20.12.22
✎
11:23
|
грабли. выносите код изменения данных обьекта на серверную часть, либо применяйте магию синхронизации данных клиента и сервера, она описана в доках
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший