Имя: Пароль:
1C
 
Условное оформление табличной части "пропадает" после записи документа
0 KazSever
 
28.05.24
12:35
Коллеги, подскажите пожалуйста - почему  условное оформление табличной части "пропадает" после записи документа. Если смотреть через конфигуратор - то все настройки в условном оформлении есть, если продолжить редактировать табличную часть - условное оформление  срабатывает на новые строки.
Условное оформление программное.
1 Мультук
 
28.05.24
12:59
(0)

Поменяйте "условие" условного оформления, например "1=1". Работает ?


P.S.

Нетиповой документ, в нетиповой конфигурации, нетиповой версии 1С ? :-)
2 KazSever
 
28.05.24
13:01
(1) условие работает, если новую строку добавить - то по ней все отрабатывает на ура.
а вот со старыми - никак
3 trad
 
28.05.24
13:05
УО ссылается на добавленную колонку реквизита ТЧ, а их нужно перезаполнять после записи объекта
4 Мультук
 
28.05.24
13:06
(2)

Я не вижу вашего условия, не вижу ваших данных, быть может при сохранении ваш документ "кукожит"
ваши строки так, что условие уже для них не срабатывает.

Я предлагаю вам простой вариант проверки с "1=1".
5 KazSever
 
28.05.24
13:06
(3) т.е. очищать условное оформление и заполнять заново?
6 DrZombi
 
28.05.24
13:07
(2) Все дело в коде.
1. Условное оформление вы хоть один раз оформляете?
2. Покажите код этого момента.
3. При записи, вы Условное оформление меняете? (не меняйте, его меняют раз, при создании формы!!!)
4. Условное оформление критична к данным, а именно, если вы в объект "Табличной части" надбавляли свои реквизиции, то при записи, оны очищаются, и их надо перезаполнить... обновить :)
7 DrZombi
 
28.05.24
13:07
(5) Нет, перезаполнять ваши доп реквизиты к табличной части документа (справочника)
8 KazSever
 
28.05.24
13:08
(4) там просто подкрашивает определенным цветом.

Пример кода

ЭлементОформленияКодТНВЭД = УсловноеОформление.Элементы.Добавить();
    
    ЭлементОформленияКодТНВЭД.Оформление.УстановитьЗначениеПараметра("ЦветТекста",  WebЦвета.Красный);
    ЭлементОформленияКодТНВЭД.Использование = Истина;    
    
    ЭлементУсловияКодТНВЭД                   = ЭлементОформленияКодТНВЭД.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементУсловияКодТНВЭД.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект.Товары.КодТНВЭДГруппа");  
    ЭлементУсловияКодТНВЭД.ВидСравнения   = ВидСравненияКомпоновкиДанных.ВСписке;  
    ЭлементУсловияКодТНВЭД.ПравоеЗначение = СписокНоменклатурКодТНВЭД(Объект.Дата,, Истина);          
    ЭлементУсловияКодТНВЭД.Использование  = Истина;  

    
    ОформляемоеПолеКодТНВЭД      = ЭлементОформленияКодТНВЭД.Поля.Элементы.Добавить();
    ОформляемоеПолеКодТНВЭД.Поле = Новый ПолеКомпоновкиДанных("ТоварыКодТНВЭД");  
    ОформляемоеПолеКодТНВЭД.Использование = Истина;
9 KazSever
 
28.05.24
13:12
(6) да, есть два столбца, которые добавлены программно и на них срабатывает условно оформление, как раз они тоже очищаются после записи.

Направление понял, спасибо.
10 KazSever
 
28.05.24
13:50
Всем спасибо, сразу и не обратил внимание на то, что данные столбцы (программно добавленные) очищаются после записи.
Перезаполнение их исправило ситуацию.
Получается это баг платформы и другим способом это нельзя вылечить?
11 DJ Anthon
 
28.05.24
13:55
(10) это не баг, а фича. в типовых тоже данные перезаполняются. запись в базу может произвести неизвестные действия как с объектом, так и его окружением. требуется перезаполнять динамические данные.
12 KazSever
 
28.05.24
14:00
(11) Принял, всем спасибо еще раз!
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.