1С 8.3 Новый элемент условного оформления - Программист 1С Минск. Автоматизация бизнеса.

Перейти к контенту

1С 8.3 Новый элемент условного оформления

Данные > Примеры кода 1С > 1С 8.3 Схема компоновки данных (СКД)
Перейти в раздел примеры кода 1С 8.3:
Новый Элемент условного оформления в 1С 8.3:
// Добавляет элемент условного оформления по параметрам
// Источник: https://github.com/SeiOkami/CollectionMethodsOneS/issues/83
//
// Параметры:
//  УсловноеОформление     - УсловноеОформлениеКомпоновкиДанных - Коллекция условного оформления
//  ОформляемыеПоля         - Строка, Массив из Строка - Имена полей, на которых распространяется условное оформление
//  УсловияОтбора         - Структура, Массив из Структура - Условия отбора оформления.
//  ПараметрыОформления     - Структура - Параметры оформления
//
// Возвращаемое значение:
//  ЭлементУсловногоОформленияКомпоновкиДанных  - добавленный элемент
//
Функция НовыйЭлементУсловногоОформления(Знач УсловноеОформление,
   Знач ОформляемыеПоля, Знач УсловияОтбора, Знач ПараметрыОформления) Экспорт

   НовыйЭлемент = УсловноеОформление.Элементы.Добавить();
   НовыйЭлемент.Использование = Истина;

   Для Каждого КлючИЗначение Из ПараметрыОформления Цикл
       НовыйЭлемент.Оформление.УстановитьЗначениеПараметра(КлючИЗначение.Ключ, КлючИЗначение.Значение);
   КонецЦикла;

   Если ТипЗнч(ОформляемыеПоля) = Тип("Строка") Тогда
       КоллекцияДобавляемыхПолей = СтрРазделить(ОформляемыеПоля, ",");
   Иначе
       КоллекцияДобавляемыхПолей = ОформляемыеПоля;
   КонецЕсли;

   Для Каждого ДобавляемоеПоле Из КоллекцияДобавляемыхПолей Цикл
       ОформляемоеПолеКомпоновкиДанных = НовыйЭлемент.Поля.Элементы.Добавить();
       ОформляемоеПолеКомпоновкиДанных.Использование = Истина;
       ОформляемоеПолеКомпоновкиДанных.Поле = Новый ПолеКомпоновкиДанных(ДобавляемоеПоле);
   КонецЦикла;

   Если ТипЗнч(УсловияОтбора) = Тип("Массив") Тогда
       КоллекцияУсловий = УсловияОтбора;
   Иначе
       КоллекцияУсловий = Новый Массив(1);
       КоллекцияУсловий[0] = УсловияОтбора;
   КонецЕсли;

   Для Каждого УсловиеОтбора Из КоллекцияУсловий Цикл
       ЭлементОтбора = НовыйЭлемент.Отбор.Элементы.Добавить(Тип("ЭлементОтбораКомпоновкиДанных"));
       ЗаполнитьЗначенияСвойств(ЭлементОтбора, УсловиеОтбора);
   КонецЦикла;

   Возврат НовыйЭлемент;

КонецФункции


// MIT License
// Copyright (c) 2024 SeiOkami
//
// Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files
// (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify,
// merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is
// furnished to do so, subject to the following conditions:

// The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
0
комментарии
____________________
Copyright©, «Программист 1С в г.Минске», 03.08.2024
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник
Яндекс.Метрика
Защищенное соединение ssl
visa
mastercard
Maestro
Яндекс деньги
Назад к содержимому