|
Управляемые формы. ИИзменить цвет строки программно | ☑ | ||
---|---|---|---|---|
0
Dimarik_1
14.07.18
✎
10:15
|
Как можно программно изменить цвет конкретной строки в табличной части?
не надо, если сумма одной колонки отличается от другой, сделать строку в табличной части документа красной |
|||
1
sechs
14.07.18
✎
10:24
|
Условным оформлением
|
|||
2
Фрэнки
14.07.18
✎
10:28
|
Способ решения будет зависеть от способа заполнения данных НА ФОРМЕ табличной части. Капс поставлен умышленно.
|
|||
3
Dimarik_1
14.07.18
✎
10:33
|
НоваяСтрока = Форма.УсловноеОформление.Элементы.Добавить();
//НоваяСтрока.Отбор = Новый ОтборКомпоновкиДанных; НовыйЭлементОтбора = НоваяСтрока.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.Левоезначение = Новый ПолеКомпоновкиДанных("Объект.ОплатаПоРеализациям.СуммаДокументаРасчетов"); НовыйЭлементОтбора.Правоезначение = Новый ПолеКомпоновкиДанных("Объект.ОплатаПоРеализациям.СуммаДолга"); НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ЦветФона = НоваяСтрока.Оформление.Элементы.Найти("ЦветФона"); ЦветФона.Значение = WebЦвета.Красный; ЦветФона.Использование = Истина; Не заработало |
|||
4
sechs
14.07.18
✎
10:40
|
.Использование
|
|||
5
Dimarik_1
14.07.18
✎
10:45
|
НоваяСтрока = Форма.УсловноеОформление.Элементы.Добавить();
НоваяСтрока.Использование = Истина; //НоваяСтрока.Отбор = Новый ОтборКомпоновкиДанных; НовыйЭлементОтбора = НоваяСтрока.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.Левоезначение = Новый ПолеКомпоновкиДанных("Объект.рфсОплатаПоРеализациям.СуммаДокументаРасчетов"); НовыйЭлементОтбора.Правоезначение = Новый ПолеКомпоновкиДанных("Объект.рфсОплатаПоРеализациям.СуммаДолга"); НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; //НовоеПоле = НоваяСтрока.Поля.Элементы.Добавить(); //НовоеПоле.Использование = Истина; //НовоеПоле = Новый ПолеКомпоновкиДанных("рфсОплатаПоРеализациямОбъектРасчетов"); // ЦветФона = НоваяСтрока.Оформление.Элементы.Найти("ЦветФона"); ЦветФона.Значение = WebЦвета.Красный; ЦветФона.Использование = Истина; Для эксперимента попробовал поля добавить. не помогло |
|||
6
Фрэнки
14.07.18
✎
10:52
|
(5) куда это все вставлено? виды событий какие, контексты какие.
Вообще, совет может не совсем в кассу, но если очень хочется играть с цветом ячеек и т.п., то гораздо эффектней сделать вывод на форме в поле табличного документа, а не пытаться юзать раскраску полей таблицы значений, либо дерева значений. Кстати, можно заменить поле с таблицей значений на поле динамического списка, отработать все получение данных запросом и в этом же варианте установить условные оформления строк, практически на стандартном СКД |
|||
7
Dimarik_1
14.07.18
✎
10:54
|
(6) я программно создал элемент формы и заполнил его. Сейчас потребовалось сделать условное оформление
|
|||
8
Фрэнки
14.07.18
✎
11:00
|
(7) понятно.
Имхо. Если время поджимает, то проще сделать этот элемент формы средствами конфигуратора и на готовом элементе там же определить условные оформления. Как сделать полностью программно - не дошли руки к таким разборам. |
|||
9
Dimarik_1
14.07.18
✎
12:26
|
Для упрощения примера, решил программно оформить ТЧ Товары в документе реализация в УТ 11
Не заработало Процедура _УстановитьУсловноеОформление() НоваяСтрока = ЭтаФорма.УсловноеОформление.Элементы.Добавить(); НоваяСтрока.Использование = Истина; //НоваяСтрока.Отбор = Новый ОтборКомпоновкиДанных; НовыйЭлементОтбора = НоваяСтрока.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); НовыйЭлементОтбора.Левоезначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Количество"); НовыйЭлементОтбора.Правоезначение = Новый ПолеКомпоновкиДанных("Объект.Товары.Цена"); НовыйЭлементОтбора.Использование = Истина; НовыйЭлементОтбора.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; НовоеПоле = НоваяСтрока.Поля.Элементы.Добавить(); НовоеПоле.Использование = Истина; НовоеПоле.Поле = Новый ПолеКомпоновкиДанных("ТоварыНоменклатура"); // ЦветФона = НоваяСтрока.Оформление.Элементы.Найти("ЦветФона"); ЦветФона.Значение = WebЦвета.Красный; ЦветФона.Использование = Истина; Конецпроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |