Конструктор условное оформление в расширении

1. parker_j 21.10.21 14:20 Сейчас в теме
По теме из базы знаний
Найденные решения
8. Dr.HiHi 2 22.10.21 08:42 Сейчас в теме
(7) так работать не будет))
в типовой форме документа есть процедураУстановитьУсловноеОформление, где затираются все условные оформления
нужно в расширение перекинуть
&НаСервере
&После("УстановитьУсловноеОформление")
Процедура МК_УстановитьУсловноеОформление()
    Элемент = УсловноеОформление.Элементы.Добавить();
    
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.МК_ТекстОригиналПолучен.Имя);

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

    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЦветОсобогоТекста);
КонецПроцедуры 
Показать

что-то типа такого... не проверял, но должно работать ;))
criptid; parker_j; +2 Ответить
4. Dr.HiHi 2 21.10.21 14:48 Сейчас в теме
(3) если все таки уж сильно хочется, то можно создать декорация и на нее повесить условное оформление текста, а рядом реквизит без заголовка... и будет ничем не отлечить от реквизита ;))
parker_j; +1 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dr.HiHi 2 21.10.21 14:31 Сейчас в теме
через условное оформление не меняется текст флажка
parker_j; +1 Ответить
3. parker_j 21.10.21 14:45 Сейчас в теме
(2) Спасибо! Стыдоба то какая... Аж тему изменил. Воспринял текст как заголовок...
А понаписал то сколько...
4. Dr.HiHi 2 21.10.21 14:48 Сейчас в теме
(3) если все таки уж сильно хочется, то можно создать декорация и на нее повесить условное оформление текста, а рядом реквизит без заголовка... и будет ничем не отлечить от реквизита ;))
parker_j; +1 Ответить
5. parker_j 21.10.21 20:09 Сейчас в теме
(4) Ну все же я не параноик)
Реально в расширении не работает оформление. Сделал в расширении декорацию, сделал флаг. Флаг переключаю ничего не меняется.
Делаю внеш обработку: Декорация, флаг = при переключении все четко перекрашивается согласно условию оформления.
6. Dr.HiHi 2 21.10.21 20:35 Сейчас в теме
(5) странно... возможно совместимость как-то влияет
только что быстро проверил
    Элемент = УсловноеОформление.Элементы.Добавить();
    
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.Декорация1.Имя);

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

    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЦветВажного);

Показать

все отрабатывает
так же через свойство формы добавлял условия и они работают %))
7. parker_j 21.10.21 21:45 Сейчас в теме
(6) 8.3.14
Есть возможность глянуть расширение? Применимо УТ КА ЕРП
При открытии ПТиУ у вас должен быть окрас "Оригинал НЕ получен" в красный цвет.
При созданииНаСервере увидите. Два элемента всего: Реквизит формы и декорация.
Условие задано в свойствах формы
Прикрепленные файлы:
МК_Расширение.cfe
8. Dr.HiHi 2 22.10.21 08:42 Сейчас в теме
(7) так работать не будет))
в типовой форме документа есть процедураУстановитьУсловноеОформление, где затираются все условные оформления
нужно в расширение перекинуть
&НаСервере
&После("УстановитьУсловноеОформление")
Процедура МК_УстановитьУсловноеОформление()
    Элемент = УсловноеОформление.Элементы.Добавить();
    
    ПолеЭлемента = Элемент.Поля.Элементы.Добавить();
    ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.МК_ТекстОригиналПолучен.Имя);

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

    Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЦветОсобогоТекста);
КонецПроцедуры 
Показать

что-то типа такого... не проверял, но должно работать ;))
criptid; parker_j; +2 Ответить
9. parker_j 22.10.21 08:55 Сейчас в теме
(8) Спасибо вам большое. Как не заметил это... УсловноеОформление.Элементы.Очистить();
А ведь я пример кода от туда брал для программного оформления, но правда в отдельной процедуре использовал... Эх))
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот