Имя: Пароль:
1C
1С v8
программно задать условное оформление Бухгалтерия 3.0
,
0 Новый1сник2
 
16.11.22
14:15
Доброго дня!

добавил в номенклатуру числовой реквизит, теперь если он заполнен, нужно чтобы в реализации фон номенклатуры был желтым.

в процедуру формы Процедура УстановитьУсловноеОформление()
добавил свою  
мУстановитьУсловноеОформлениеНоменклатура("Объект.Товары.Номенклатура.мБонус","ТоварыНоменклатура");
1 Новый1сник2
 
16.11.22
14:15
&НаСервере
Процедура мУстановитьУсловноеОформлениеНоменклатура(мПолеКомпановки, мПолеОформления)
    
    ЭлементОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементОформления.Представление = "СозданПрограммно";
    
    //Отбор
    ЭлементОтбора = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
    ЭлементОтбора.ЛевоеЗначение  = Новый ПолеКомпоновкиДанных(мПолеКомпановки);
    ЭлементОтбора.ВидСравнения   = ВидСравненияКомпоновкиДанных.Больше;
    ЭлементОтбора.ПравоеЗначение  = 0;

    //Оформление
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона",  WebЦвета.Желтый);
    //ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Текст",   "<не задана>");
    //ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветТекста",  WebЦвета.Серый);
    
    //Поле оформления
    ПолеОформления = ЭлементОформления.Поля.Элементы.Добавить();
    ПолеОформления.Поле = Новый ПолеКомпоновкиДанных(мПолеОформления);
    
КонецПроцедуры
2 Новый1сник2
 
16.11.22
14:16
подскажите почему не работает такой код, и как поправить?
3 Новый1сник2
 
16.11.22
14:16
в отладчике мПолеКомпановки пишет строка
4 Новый1сник2
 
16.11.22
14:53
подскажите в какую сторону копать
5 Новый1сник2
 
16.11.22
16:45
получается только по реквизиту УО можно настроить, т.е если добавляю в т.ч товары свой реквизит
то условное оформление работает
мУстановитьУсловноеОформлениеНоменклатура("Объект.Товары.мБонус","ТоварыНоменклатура");
6 Новый1сник2
 
16.11.22
16:45
или есть другие варианты
7 Bell
 
17.11.22
20:43
А без программирования не пробывали? Настрока отображения...
8 Остап Ибрагимович
 
17.11.22
21:04
(7): 1С рекомендует програмно. и это - правильно.
9 Остап Ибрагимович
 
17.11.22
21:21
(8)+: хотя можно настроить в конфигураторе - а потом воспользоваться обработкой вроде https://infostart.ru/public/1171297/ и перенести это самое УО в код.
10 Курцвейл
 
18.11.22
12:12
(1) Скорее всего на клиенте у тебя прочитана Ссылка только на Номенклатуры а ее реквизиты ты не видишь. Я бы сделал этот бонус невидимой колонкой ТЧ и через нее бы оформлял
11 Курцвейл
 
18.11.22
12:13
Хотя если через оформление самой формы работает, то есть над чем подумать.
12 Курцвейл
 
18.11.22
12:14
(8) Это имеет смысл для групповой работы. Чтобы решение было проще объединять.
Если человек работает в одного то смыла особого нет.
13 Остап Ибрагимович
 
18.11.22
18:09
(12): "это" (УО в коде) имеет смысл для любой работы.
в упоминаемых рекомендациях 1с по этому вопросу причины разжеваны.
14 Новый1сник2
 
19.11.22
10:46
концепция поменялась, бонусы могут меняться, поэтому настроил регистр сведений для них, в документ в т.ч товары добавил этот бонус, заполняется на дату документа. условное оформление работает.
Закон Брукера: Даже маленькая практика стоит большой теории.