|
разукрасить колонку ТЧ документа по условию | ☑ | ||
---|---|---|---|---|
0
lamme
06.06.24
✎
11:16
|
уф
Есть документ. реквизит документа ТЧ - который надо разукрасить ИНФ_Черновик (ссылка на справочник) у этого справочника - есть значение цвета. Как разукрасить колонку ТЧ документа , согласно тому цвету - что указано у элемента справочника. В документ на форме вывел реквизит ИНФ_ЧерновикЦвет - с типом цвет. Который заполняется из справочника. Пытаюсь через условное оформление и тут вообще не понимаю - как УО привязать к условиям. Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ЗапасыИНФ_Черновик"); Элемент.Использование = Истина; ПолеЭлемента.Использование = Истина; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ????????); |
|||
1
lamme
06.06.24
✎
12:05
|
решено
|
|||
2
lamme
06.06.24
✎
12:05
|
код рабочий такой
для каждого Стр из Объект.Запасы цикл Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ЗапасыИНФ_Черновик"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Запасы.ИНФ_Черновик"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Стр.ИНФ_Черновик; ОтборЭлемента.Использование = Истина; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", Стр.ИНФ_ЧерновикЦвет ); конеццикла; те создается дохрена условий для УО |
|||
3
lamme
06.06.24
✎
12:12
|
после убирания кучки доп реквизитов получается так
для каждого Стр из Объект.Запасы цикл Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных("ЗапасыИНФ_Черновик"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Запасы.ИНФ_Черновик"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Стр.ИНФ_Черновик; ОтборЭлемента.Использование = Истина; ЦветXML = Стр.ИНФ_Черновик.ЦветXML; Если ПустаяСтрока(ЦветXML) Тогда ЦветЧерновика = Новый Цвет; Иначе ЦветЧерновика= СериализаторXDTO.XMLЗначение(Тип("Цвет"), ЦветXML); КонецЕсли; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона",ЦветЧерновика); конеццикла; |
|||
4
trad
06.06.24
✎
13:05
|
Количество элементов УО наверно можно подсократить с количества строк ТЧ до количества уникальных ИНФ_ЧерновикЦвет
// Проверить что такой цвет уже есть в УО и если нет, то: ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Запасы.ИНФ_ЧерновикЦвет"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Стр.ИНФ_ЧерновикЦвет; ОтборЭлемента.Использование = Истина; как то так |
|||
5
lamme
06.06.24
✎
13:07
|
4
да. согласен. это я уже понял через минут 15 после того как отправил сюда |
|||
6
trad
06.06.24
✎
13:14
|
И вообще, это печаль, что параметры оформления нельзя тянуть из полей компоновки ((
Как я понимаю подобный финт не провернуть с ДС |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |