УТ 11.5.17.140
1С 8.3.24.1586

Изучил УсловноеОформление, почитал форумы, где у всех ошибки вылазили или не получалось, вроде всё уже четко сделал. Но ничего не работает. Мне кажется у меня проблемы где-то в Условии, но я не вижу ошибки....
Вот код:

```1c
    &НаСервере
    Процедура ГАФ_ПриЧтенииНаСервереПосле(ТекущийОбъект)
    МассивИменКолонокДляПодсветки = Новый Массив;
    Для каждого Стр из Элементы.Товары.ПодчиненныеЭлементы Цикл
    МассивИменКолонокДляПодсветки.Добавить(Стр.Имя);
    КонецЦикла;

    ЭлементОформления = УсловноеОформление.Элементы.Добавить();
    ЭлементОформления.Использование = Истина;
    ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(204, 255, 204));

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

    Для каждого ТекЭлемент из МассивИменКолонокДляПодсветки Цикл
    ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных(ТекЭлемент);
    КонецЦикла;
    КонецПроцедуры
```
---
ахахах, я нашел)
В основном конфигураторе, в документе ЗаказПоставщику, в процедуре "УстновитьУсловноеОформление", есть очистка условных оформлений, вот тут он походу и чистил, попробовал его в тестовой базе закоментить, всё заработало )
---
Нет, я говорю про модуль формы в основной конфе, там может устанавливаться свое условное оформление в ПриСозданииНаСервере (которая вызывается после ПриЧтенииНаСервере), и в которой удаляются все элементы УО - в конфигураторе они созданы или программно - пофиг.
---
Просто

```1c
    ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить();
    ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Товары");
```
Без всяких циклов и массивов.

И путь к данным наименования проверь все-таки.
---
Сути не поменяло)
Всё также ничего не выводит
---
Сути не поменяло) Но стало понятнее и красивее.
---
Ну ладно, убедили :D
Но если не получится, все равно код коту под хвост
---
Что-то мне кажется, не взлетит. Если руками так нельзя сделать - то программно можно, что ли?
---
В инете на разных форумах многие пишут, что да...
Поэтому и копаю в эту сторону уже на протяжении двух дней
---
Добавь реквизит формы в ТЧ Товары, тип булево, в отдельной процедуре его заполняй по этому вот условию (вызываешь ее при создании на сервере/при изменении ТЧ Товары), по этому реквизиту крась.
---
Эхь, костыль конечно, задумывался на счет этого, хотел нормально без лишнего сделать, но походу придется прибегнуть к такому варианту решения проблемы.....
---
Костыль не костыль, а в типовых юзается)
---
Хах, тоже верно )
---
костыль конечно Вообще не костыль. Адекватная подготовка данных.
---
Ну приходится лишний реквизит создать....
---
Слушай, попробовал так, но даже так он что-то не выходит )
Походу что-то не дает запустить обработку условного оформления с моего расширения. По точке остановки там всё доходит, всё ровно, но он не применяется )
Мем
---
А в присозданиинасервере дальше уо не устанавливается (там вроде все элементы при этом трутся)?
---
Да не, я весь код закоментил, через конфигуратор установил, добавив новый реквизит булево, но всё равно не применяется
---
Да не, я весь код закоментил Это ни о чем не говорит. Есть всякие БСП.
Надо в расширении использовать директиву &После
добавив новый реквизит булево И заполнил его, да? И проверил заполнение, да? И путь к нему указал правильный в отборе УО?
---
Да, заполнил)
Заполнение проверил точкой остановкой, визуально и тд
И путь посмотрел, всё там норм )
---
В расширении После и использую :(
---
ахахах, я нашел)
В основном конфигураторе, в документе ЗаказПоставщику, в процедуре "УстновитьУсловноеОформление", есть очистка условных оформлений, вот тут он походу и чистил, попробовал его в тестовой базе закоментить, всё заработало )
---
Именно поэтому и надо свой код про УО всегда добавлять гарантированно &После всех типовых вызовов серверного открытия/создания формы.
И ни в коем случае не пытаться править УО в типовых документах с помощью конструктора формы.
---
Воть
---
А заполняется булево-то?
---
Нет, я говорю про модуль формы в основной конфе, там может устанавливаться свое условное оформление в ПриСозданииНаСервере (которая вызывается после ПриЧтенииНаСервере), и в которой удаляются все элементы УО - в конфигураторе они созданы или программно - пофиг.
---
Да, как раз таки это и мешало. Госпади, почему всегда, когда подобные ошибки, мозг замудряет всё и не думает логично, всё ведь перед лицом, на блюдочке предоставлено....
---
Если руками так нельзя сделать - то программно можно, что ли? Вот по этому и И путь к данным наименования проверь все-таки.
---
Пример простого рабочего кода )

```1c
    Процедура УстановитьУсловноеОформление()

    УсловноеОформление.Элементы.Очистить();

    Элемент = УсловноеОформление.Элементы.Добавить();

    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Отпуска.Имя);

    ГруппаОтбора1 = Элемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных"));
    ГруппаОтбора1.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли;

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

    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", WebЦвета.Роса);

    КонецПроцедуры
```
---
Спасибо конечно, но чем он отличается от моего кода ?
Кроме как очистки условного оформления ? (С ним я тоже пробовал, безуспешно)