Обсуждение
Добавление условного оформления программно (фрагмент типовой конфигурации)
-
adhocprog 0. 28.09.2022, 15:36
&НаСервере Процедура УстановитьУсловноеОформление() // Условное оформление динамического списка "Список" СписокУсловноеОформление = Список.КомпоновщикНастроек.Настройки.УсловноеОформление; СписокУсловноеОформление.Элементы.Очистить(); // Документ имеет высокий приоритет Элемент = СписокУсловноеОформление.Элементы.Добавить(); Элемент.Представление = НСтр("ru = 'Документ имеет высокий приоритет'"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Приоритет"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Справочники.Приоритеты.ПолучитьВысшийПриоритет(); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Ложь; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.ВысокийПриоритетДокумента); // Документ имеет низкий приоритет Элемент = СписокУсловноеОформление.Элементы.Добавить(); Элемент.Представление = НСтр("ru = 'Документ имеет низкий приоритет'"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Приоритет"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Справочники.Приоритеты.ПолучитьНизшийПриоритет(); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПометкаУдаления"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Ложь; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветФона", ЦветаСтиля.НизкийПриоритетДокумента); // Выделение цветом состояния "Закрыт" Элемент = СписокУсловноеОформление.Элементы.Добавить(); Элемент.Представление = НСтр("ru = 'Выделение цветом состояния ""Закрыт""'"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Состояние"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Перечисления.СостоянияЗаказовКлиентов.Закрыт; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ЗакрытыйДокумент); // Выделение цветом просроченного заказа Элемент = СписокУсловноеОформление.Элементы.Добавить(); Элемент.Представление = НСтр("ru = 'Выделение цветом просроченного заказа'"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("Состояние"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("ДатаСобытия"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Просрочен"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Истина; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", ЦветаСтиля.ПросроченныйДокумент); // Скрытие итогов по заказу при учете расчетов по договорам или накладным Элемент = СписокУсловноеОформление.Элементы.Добавить(); Элемент.Представление = НСтр("ru = 'Скрытие итогов по заказу при учете расчетов по договорам или накладным'"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("ДолгКлиента"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("НашДолг"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("ПроцентДолга"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("ПроцентОплаты"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("СуммаОплаты"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("СуммаПросроченнойОплаты"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("СуммаОтгрузки"); Элемент.Поля.Элементы.Добавить().Поле = Новый ПолеКомпоновкиДанных("ПроцентОтгрузки"); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ПорядокРасчетов"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.НеРавно; ОтборЭлемента.ПравоеЗначение = Перечисления.ПорядокРасчетов.ПоЗаказамНакладным; Элемент.Оформление.УстановитьЗначениеПараметра("ЦветТекста", WebЦвета.Серый); Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = '-'")); УсловноеОформление.Элементы.Очистить(); // Изменение представления статуса, в зависимости от включенных опций. Элемент = УсловноеОформление.Элементы.Добавить(); Элемент.Представление = НСтр("ru = 'Изменение представления статуса, в зависимости от включенных опций.'"); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокСтатус.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Статус"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Перечисления.СтатусыЗаказовКлиентов.КОбеспечению; ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Истина; Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'К выполнению'")); // Изменение представления статуса, в зависимости от включенных опций. Элемент = УсловноеОформление.Элементы.Добавить(); Элемент.Представление = НСтр("ru = 'Изменение представления статуса, в зависимости от включенных опций.'"); ПолеЭлемента = Элемент.Поля.Элементы.Добавить(); ПолеЭлемента.Поле = Новый ПолеКомпоновкиДанных(Элементы.СписокСтатус.Имя); ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Список.Статус"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Перечисления.СтатусыЗаказовКлиентов.КОбеспечению; ОтборЭлемента = Элемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных")); ОтборЭлемента.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("ИспользоватьПострочнуюОтгрузкуВЗаказеКлиента"); ОтборЭлемента.ВидСравнения = ВидСравненияКомпоновкиДанных.Равно; ОтборЭлемента.ПравоеЗначение = Ложь; Элемент.Оформление.УстановитьЗначениеПараметра("Текст", НСтр("ru = 'В резерве'")); СтандартныеПодсистемыСервер.УстановитьУсловноеОформлениеПоляДата(ЭтотОбъект, "Список.Дата", Элементы.СписокДата.Имя); КонецПроцедуры
Ответы
- Ответов: 0
Я Реклама
Интернет-магазин на 1С для продаж в розницу (с личным кабинетом) store-on-1c.ru