|
Помогите сделать условное оформление в ТЧ документа | ☑ | ||
---|---|---|---|---|
0
Михаил Козлов
24.01.24
✎
13:50
|
Есть документ с табличной частью ТЧ. В ТЧ есть реквизит Р1 (ссылка на справочник).
Нужно раскрасить строки ТЧ в форме документа по значению реквизита Р2 реквизита Р1. Конкретнее: Р1 - ссылка на справочник Проекты, у которого Р2 - ссылка на справочник Виды деятельности. Пробовал: ОтборУО = ЭлементУО.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборУО.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ТЧ.Р1.Р2"); Не получается. "Раскраска" по значениям реквизитов ТЧ получается. |
|||
1
Волшебник
24.01.24
✎
13:56
|
вместо абстрактных Р1 и Р2 задайте нормальные названия в терминах предметной области: Проект, ВидДеятельности
|
|||
2
mikecool
24.01.24
✎
14:01
|
(0) если не понимаешь - создай оформление в настройках, повтори кодом и все станет понятно
|
|||
3
Timon1405
24.01.24
✎
14:02
|
сделал поиск в ERP по маске
"Новый ПолеКомпоновкиДанных\("Объект\.[^\.]+\.[^\.]+\." через две точки нашлось только установка правого значения компоновки. ОтборГруппа = Элемент.Отбор.Элементы.Добавить(Тип("ГруппаЭлементовОтбораКомпоновкиДанных")); ОтборГруппа.ТипГруппы = ТипГруппыЭлементовОтбораКомпоновкиДанных.ГруппаИли; ОтборЭлемента = ОтборГруппа.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ФормированиеЗаказов.ДатаПоступления"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Больше; ОтборЭлемента.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ФормированиеЗаказов.Период.ДатаОкончания"); может быть левое поле так и не умеет |
|||
4
mikecool
24.01.24
✎
14:03
|
лови, лентяй https://infostart.ru/1c/articles/181336/
|
|||
5
Fedor-1971
24.01.24
✎
14:05
|
(0) А к чему привяжешься для определения цвета для Р2?
таки в конфигурации есть только предопределённые элементы справочников, но не суть Ты зачем полез в отборы? Для начала, достань на форму свой реквизит Р2 дальше определяешься с цветами, для чего делаешь реквизиты Формы, например, красный = Справочник.Р2.найтипокоду("001"); синий = Справочник.Р2.найтипокоду("002"); потом программно формируем Условное оформление УО = ЭтаФорма.УсловноеОформление.Элементы нов = УО.Добавить ..... сам посмотри как нов.ЛевоеЗначение = ПолеР2 нов.Сравнение = Равно нов.ПравоеЗначение = красный нов.оформление = ЦветКрасный |
|||
6
Михаил Козлов
24.01.24
✎
15:07
|
(2) В настройках не дает выбрать реквизит реквизита.
(3) Тоже грешу на на это, хотя если ПравоеЗначение умеет, почему бы не уметь ЛевоеЗначение. (4) Читал. В имени поля для ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля) может быть реквизит реквизита ТЧ? (5) К чему привязаться, знаю. Дальше, честно говоря, не понял: Р2 - реквизит Р1 строк ТЧ. |
|||
7
Fedor-1971
24.01.24
✎
15:54
|
(6) Достань свой Р2 в ТЧ, дальше красим по его значению, скорее всего, программно
|
|||
8
Fedor-1971
24.01.24
✎
15:56
|
7+ т.е. в ТЧ будет Р1, рядом РеквР2 с данными ТЧ.Р1.Р2 (без возможности редактировать и без динамического обновления при изменении в самой карточке Р2)
|
|||
9
Fedor-1971
24.01.24
✎
15:58
|
(8) Красим по данным в РеквР2
"В имени поля для ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных(ИмяПоля) может быть реквизит реквизита ТЧ?" - на сколько помню, тут есть ограничение на обращение через точку |
|||
10
Timon1405
24.01.24
✎
17:52
|
"Объект.ТЧ.Р1.[Р2]" может прокатить
|
|||
11
Михаил Козлов
24.01.24
✎
18:00
|
(7) Это менять ТЧ документа, не хотелось бы.
(10) Не прокатило. |
|||
12
viraboy
24.01.24
✎
20:00
|
(11) Тч менять не надо. Посмотрите как в типовых с ВидНоменклатуры.ТипНоменклатуры в таблицах работают
|
|||
13
Михаил Козлов
24.01.24
✎
23:53
|
(12) На форму колонку с нужным реквизитом я вытащил.
Речь об имени поля в Новый ПолеКомпоновкиДанных(ИмяПоля): можно ли "Объект.ТЧ.Р1.Р2" (такое имя задать можно, но отбор не работает). Пробовал использовать в качестве имени поля имя колонки на форме - не работает. |
|||
14
Silgis
25.01.24
✎
06:11
|
||||
15
Михаил Козлов
25.01.24
✎
07:48
|
(14) В динамическом списке понятно как: достаточно вытолкнуть в список нужный реквизит. А в ТЧ документа этого реквизита нет.
|
|||
16
Fedor-1971
25.01.24
✎
11:38
|
(15) можно сделать дополнительный реквизит формы в ТЧ, правда, придётся его заполнять ПриСозданииНаСервере, после изменения Р1 и если нажали кнопку записать (иначе он очищается)
|
|||
17
Михаил Козлов
25.01.24
✎
18:32
|
(16) Да, была такая мысль. Думал можно проще.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |