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.
// Источник: 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
комментарии
____________________
Перепечатка текста и фотографий разрешена при наличии прямой ссылки на источник