Условное оформление, выражение в поле компоновки данных
Добрый день.
Пришла в голову идея реализации данного куска кода в виде условного оформления
Тут мы сравниваем поле с его округленным вариантом
Был создан тестовый стенд который не сработал
Может у кого ещё есть идеи как это красиво реализовать, и возможно ли вообще как то?
в интернете нигде не видел чтобы в Компоновку вставляли выражение.
Пришла в голову идея реализации данного куска кода в виде условного оформления
If OrderTotalPallets <> Int(OrderTotalPallets) Then
Items.OrderTotalPallets.TextColor = WebColors.Red;
Else
Items.OrderTotalPallets.TextColor = WebColors.Black;
Endif;
Тут мы сравниваем поле с его округленным вариантом
Был создан тестовый стенд который не сработал
ЭлементОформления = УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Использование = Истина;
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("ЦветФона", Новый Цвет(250, 191, 143));
//ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Шрифт", Новый Шрифт("Arial", 11, Истина));
ЭлементУсловия = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Attribute1");
ЭлементУсловия.ПравоеЗначение = Новый ПолеКомпоновкиДанных("");
//ЭлементУсловия.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ВЫРАЗИТЬ( Attribute1 КАК (Число(10,0)) ");
//ЭлементУсловия.ПравоеЗначение = Новый ПолеКомпоновкиДанных("Вычислить(""ОКР(Attribute1,0)"")");
//ЭлементУсловия.ПравоеЗначение = Новый ПолеКомпоновкиДанных("ОКР(Attribute1,0)");
ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.неРавно;
ЭлементУсловия.Использование = Истина;
ОформляемоеПоле = ЭлементОформления.Поля.Элементы.Добавить();
ОформляемоеПоле.Поле = Новый ПолеКомпоновкиДанных("Attribute1");
ПоказатьМожет у кого ещё есть идеи как это красиво реализовать, и возможно ли вообще как то?
в интернете нигде не видел чтобы в Компоновку вставляли выражение.
По теме из базы знаний
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1) Делал подобную раскраску в табличной части документа поступления: если товар штучный, а количество не целое, то подкрашивать такие ячейки. Необходимо создать свою колонку (реквизит формы) типа булево и заполнять ее программно. Условное же оформление повесить на эту колонку.
(2) Я не хочу добавлять ещё какие то реквизиты пусть даже и невидимые, так как это только всё усложняет, хранить в данных такой бесполезный реквизит не оптимально, а если этот реквизит не хранится в данных то заполнять его при открытии и каждый раз при изменении костыль какой то и смысл в таком условном оформлении пропадает.
Меня именно интересовала возможность выражения при использовании условного оформления, но видимо 1С ещё не созрела для такого.
Меня именно интересовала возможность выражения при использовании условного оформления, но видимо 1С ещё не созрела для такого.
(1)Вот пример программного наложения формата, вы забыли указать использование для поля
ЭлементОформления = КомпоновщикНастроек_.Настройки.УсловноеОформление.Элементы.Добавить();
ЭлементОформления.Использование = Истина;
Поле = ЭлементОформления.Поля.Элементы.Добавить() ;
Поле.Использование = Истина;
Поле.Поле = Новый ПолеКомпоновкиДанных("ЦенаРозничная");
Поле = ЭлементОформления.Поля.Элементы.Добавить() ;
Поле.Использование = Истина;
Поле.Поле = Новый ПолеКомпоновкиДанных("Себестоимость");
ЭлементОформления.Оформление.УстановитьЗначениеПараметра("Формат", "ЧДЦ=2");
Показать
Если есть номер строки, то можно использовать его.
Само условие заполнять в цикле.
Само условие заполнять в цикле.
Для Каждого Строка из Таблица Цикл
Если Строка.Attribute1 = Окр(Строка.Attribute1) Тогда
Продолжить;
КонецЕсли;
//...
ЭлементУсловия = ЭлементОформления.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
ЭлементУсловия.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Объект.Таблица.НомерСтроки");
ЭлементУсловия.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно;
ЭлементУсловия.ПравоеЗначение = Строка.НомерСтроки;
//...
КонецЦикла;
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот