|
Оформление строки ТЧ в УФ | ☑ | ||
---|---|---|---|---|
0
tempaccount
18.07.14
✎
15:12
|
День добрый!
Столкнулся с проблемой оформления табличных частей. гуглил - гуглил, нашел статьи про условное оформление на сервере для динамических списков, но мне это не подходит. Соответственно вопрос: Есть ли возможность из типа "ДанныеФормыЭлементКоллекции" получить возможность установки цвета фона? (Т.к. это поле табличной части, я подозреваю такая возможность должна быть) |
|||
1
Wobland
18.07.14
✎
15:16
|
совсем-совсем не подходит?
|
|||
2
tempaccount
18.07.14
✎
15:18
|
(1) Если Вы про динамический список - да. Поймите меня правильно, я в принципе не понимаю связь между оформлением тч клиента и сервером.
|
|||
3
mikecool
18.07.14
✎
15:19
|
"я в принципе не понимаю связь между оформлением тч клиента и сервером" пофик кто оформляет, оформление как и тч одна и та же, что на клиенте, что на сервере
|
|||
4
Лодырь
18.07.14
✎
15:19
|
(2) А при чем тут сервер?
|
|||
5
Wobland
18.07.14
✎
15:20
|
(2) я про условное оформление
|
|||
6
SSSSS_AAAAA
18.07.14
✎
15:22
|
(3) Какое на сервере найдено оформление? Где и как посмотреть оформление именно на сервере?
|
|||
7
tempaccount
18.07.14
✎
15:22
|
(4) Ну я нашел примеры с использованием УО, который работает с Динамическим списком и, как следствие, компоновкой данных, оформление которых определяется на основе элемента отбора.
А я ни условие под отбор не могу сделать нормально, ни использовать динамический список. ТЧ две, и при изменении обоих может меняться стиль первой. |
|||
8
mikecool
18.07.14
✎
15:23
|
(6) откуда я знаю, где посмотреть
но работать то с ним можно |
|||
9
Wobland
18.07.14
✎
15:23
|
||||
10
SSSSS_AAAAA
18.07.14
✎
15:25
|
"я нашел примеры с использованием УО, который работает с Динамическим списком и, как следствие, компоновкой данных, оформление которых определяется на основе элемента отбора."
Еще раз: а при чем тут сервер? Где указание на выполнение оформления на сервере? |
|||
11
SSSSS_AAAAA
18.07.14
✎
15:27
|
(8)Его там можно задать, но выполняется применение этого оформления на клиенте, в форме.
|
|||
12
tempaccount
18.07.14
✎
15:27
|
(10) Объект УсловноеОформление доступен только на сервере.
Через элементы я нашел доступ к цвету фона (но меняется вся колонка). |
|||
13
Лодырь
18.07.14
✎
15:28
|
(12) Ну дык используй условное оформление таки. Задашь условие, укажешь оформляемые поля и все дела.
|
|||
14
Лодырь
18.07.14
✎
15:28
|
Проблема в том что ты недогадываешся вызвать с клиента сервер чтоли?
|
|||
15
Адинэснег
18.07.14
✎
15:30
|
(12) оформляемые поля криво задал
|
|||
16
tempaccount
18.07.14
✎
15:32
|
(13) Тут вытикает две проблемы:
1) Как достать до оформления строки/поля строки (НЕ всей колокни) через "ДанныеФормыЭлементКоллекции", и тогда могу менять как мне надо. 2) Использовать УО, но ни как использовать его для ТЧ, ни как написать туда более менее сложно условие (должно сравниваться значение измененной строки с другой ТЧ). |
|||
17
Лодырь
18.07.14
✎
15:36
|
(16) Пункт 2 не взлетит. Переписывай логику. При изменении строки одной ТЧ придется перебрать другую и вычислить признак для выделения фона.
|
|||
18
Лодырь
18.07.14
✎
15:39
|
(16) Пункт 1 достигается традиционным кодом аля:
Элемент = УсловноеОформление.Элементы.Добавить(); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.ТоварыЗаявкаНаСклад.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Контрагент"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; Элемент.Оформление.УстановитьЗначениеПараметра("ТолькоПросмотр", Истина); |
|||
19
tempaccount
18.07.14
✎
15:47
|
(17) А в чем проблема с логикой? Элементарно и читабельно (само-собой мне так кажется).
При изменении строки в обеих тч вызывается функция возвращающая элемент другой (имею ввиду другой - одной из этих двух) тч по дому. И, если я правльно понял, то оформления строки принимает вид в зависимости от ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Контрагент"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеЗаполнено; Я прав? |
|||
20
Defender aka LINN
18.07.14
✎
15:48
|
(16) п.2 - Добавить реквизит *формы* в табличную часть, УО строить от него, пересчитывать при изменении ТЧ.
|
|||
21
tempaccount
18.07.14
✎
16:02
|
(18) А я могу использовать поля элемента в "ЭлементОтбораКомпоновкиДанных"?
ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.ИзменениеПринадлежности.ДатаИзменения"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Меньше; ОтборЭлемента.ПравоеЗначение = ВернутьДату(ДомТекущегоЭлемент); - Тут что-то вроде: Новый ПолеКомпоновкиДанных("Объект.ИзменениеПринадлежности.Дом")? 2) Собственно могу ли я использовать функцию? П.с. я не понимаю как работает элемент отбора в данном случае, мне приходилось использовать его только в динамическом списке, и то там был отбор примитивный. |
|||
22
Лодырь
18.07.14
✎
16:13
|
(21)
ЭлементОтбораКомпоновкиДанных.ПравоеЗначение (DataCompositionFilterItem.RightValue) ЭлементОтбораКомпоновкиДанных (DataCompositionFilterItem) ПравоеЗначение (RightValue) Использование: Чтение и запись. Описание: Содержит правое значение элемента отбора. Доступность: Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение. Примечание: Тип правого значения может быть полем, остальные варианты зависят от левого значения. Это может быть его тип левого значения, либо, если слева выбрано поле, может использоваться тип поля. |
|||
23
tempaccount
18.07.14
✎
16:24
|
(22) "остальные варианты зависят от левого значения" - имеется ввиду если левое дата то и правое дата? Я не понимаю для чего Вы сп написали, ведь вопрос был не про типы, а про то будет ли вызываться метод, хотя конечно же будет.
Скажите что мне почитать, а то мы к решению так и не подходим. Спасибо. |
|||
24
Лодырь
18.07.14
✎
16:27
|
(23) Если ты используешь функцию для задания правого значения, то она вычислится 1 раз в момент задания и все. Следовательно, если значение возвращаемое этой функцией поменялось - надо переопределять условное оформление.
|
|||
25
tempaccount
18.07.14
✎
16:43
|
(24) Вот это то я и боюсь.
Придется в любом случае работать с отборами для оформления или все же есть способы достучаться до оформления? |
|||
26
Лодырь
18.07.14
✎
16:57
|
(25) Я вас не понимаю. Это и есть единственный способ достучаться до оформления.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |