Имя: Пароль:
1C
1С v8
не работает условное оформление бухгалтерия 3.0
,
0 Новый1сник2
 
12.09.22
13:47
Доброго дня!
добавил в счет в ТЧ товары пару реквизитов с числовым значением, настроил в свойствах условное оформления цвет фона.
реквизиты вынес на отдельную вкладку, но оформление не работает не в основной вкладке не в дополнительной.
условие оформления Объект.Товары.мЕкб Больше "0", оформляемые поля ТоварыОстаткимЕкб, ТоварымЕкб.
подскажите куда копать ?
1 Новый1сник2
 
12.09.22
13:48
*в свойствах формы
2 МКК
 
12.09.22
13:50
"Включить в оформляемый поля" нужные поля. Но я сам не знаю
3 Злопчинский
 
12.09.22
13:51
ну если "не в основной, не в дополнительно" - то и не будут работать..
попробуй "ни в основной, ни в дополнительно"...
4 Новый1сник2
 
12.09.22
13:52
(3) )))
5 Новый1сник2
 
12.09.22
13:53
(2) каким образом включить, в УНФ в заказе оформление работает просто по условию
6 Новый1сник2
 
12.09.22
13:54
(2) в свойствах оформляемые поля заполнены
7 Злопчинский
 
12.09.22
13:54
(5) УНФ писали инопланетяне, там все не так как в родных типовых от 1С.
8 Злопчинский
 
12.09.22
13:55
для начала я бы как тупой ламер упростил бы задачу. реквизиты в однйо ТЧ. и попробовать сначала простой вариант. потом - усложнять.
9 Злопчинский
 
12.09.22
13:55
в однйо вкладке. вторую вкладку - убить как класс
10 Новый1сник2
 
12.09.22
13:57
(8) там больше реквизитов будет, примерно с десяток, размещать на одной вкладке как то не очень хочется
11 Злопчинский
 
12.09.22
13:59
ну тогда - флаг в руки, барабан на шею!
12 Новый1сник2
 
12.09.22
14:01
(9) дополнительную вкладку удалил, оформление не работает в основной
13 Новый1сник2
 
12.09.22
14:01
какие еще варианты есть ?
14 Злопчинский
 
12.09.22
14:05
(12) убрать допреквизиты.
проверить работу оформления на штатной конфиге.
15 Eiffil123
 
12.09.22
14:07
(0) возможно условное оформление очищается и устанавливается кодом. Нужно отладчиком посмотреть, заполнено ли оно, когда форма уже открыта и в ней есть какие-то строки.
16 Новый1сник2
 
12.09.22
14:10
(15) да в модуле формы есть функции по условному оформлению, буду проверять
17 Новый1сник2
 
12.09.22
14:11
&НаСервере
Процедура УстановитьУсловноеОформление()
    
    НастройкиУсловногоОформления = Новый Структура;

    УсловноеОформление.Элементы.Очистить();
    
    УстановитьУсловноеОформлениеВидимость();
    
    ОбновитьУсловноеОформление(ЭтотОбъект);
    
КонецПроцедуры
18 Новый1сник2
 
12.09.22
14:13
так и есть, очищает условное оформление
19 Новый1сник2
 
12.09.22
14:29
подскажите как программно отключить из элементов, чтобы условное оформление не очищалось?
20 Новый1сник2
 
12.09.22
15:24
пробую программно заполнить, оформляет всю строку, подскажите как программно оформлять только одно поле
21 Новый1сник2
 
12.09.22
15:24
&НаСервере
Процедура мУстановитьУсловноеОформление()
    
    Элемент = УсловноеОформление.Элементы.Добавить();
    
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Товары.Имя);
    
    ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.мЕкб");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
    
    //Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '<указан в основных реквизитах>'"));
    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Бирюзовый);
    
    Элемент = УсловноеОформление.Элементы.Добавить();
    
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Товары.Имя);
    
    ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.мЕкб");
    ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Заполнено;
    
    
КонецПроцедуры
22 Новый1сник2
 
12.09.22
17:05
(21) не то скопировал соррян, вот так работает:

&НаСервере
Процедура мУстановитьУсловноеОформление()
    
    ЭлементОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементОформления.Представление = "СозданПрограммно";
    
    //Отбор
    ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных("Объект.Товары.мЕкб");
    ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Заполнено;
    //ЭлементОтбора.ПравоеЗначение  = Ложь;

    //Оформление
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона",  WebЦвета.Бирюзовый);
    //ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Текст",   "<не задана>");
    //ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста",  WebЦвета.Серый);
    
    //Поле оформления
    ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных("ТоварымЕкб");
    
КонецПроцедуры