// Добавление нового элемента условного оформления.
// Он является контейнером дял настроек реализующих непосредственно условное оформление
//
// Параметры:
//
// пПредставление - Строка - Представление элемента.
// По нему будет сформирован внутрений идентификатор для служебных нужд конструктора
//
// Возвращаемое значение:
// Строка - Внутренний идентификатор добавленного элемента. Используется для поиска элемента в конструкторе
//
Функция НовыйЭлемент(пПредставление) Экспорт
КонецФункции
// Добавление элемента в отбор элемента условного оформления
//
// Параметры:
//
// пПутьКДанным - Строка - выражение для получения значения отбора
// пВидСравнения - ВидСравненияКомпоновкиДанных,Строка - значение стандартного перечисления определяющее способ фильтрации по значению
// в строковом варианте ожидается имя значения перечисления
// Если не задано, то для массива будет добавлен отбор ВСписке, а для прочих Равно
// пЗначение - Произвольный - значение отбора
// пГруппа - Строка - Идентификатор группы элементов отбора
// Если задано, то элемент будет добавлен в указанную группу
// пИдентификатор - Строка - Идентификатор элемента условного оформления
// Если не задано, то отбор будет добавлен в последний добавленный элемент
// Возвращаемое значение:
// Булево - Признак успеха добавления
//
Функция ДобавитьОтбор(пПутьКДанным, пВидСравнения = Неопределено, пЗначение, пГруппа = Неопределено, пИдентификатор = Неопределено) Экспорт
КонецФункции
// Добавление группы в отбор элемента условного оформления
// ВАЖНО!!! Если есть вложенность групп, то добавлять их в иерархическом порядке
//
// Параметры:
//
// пПредставление - Строка - представление группы
// пТип - ТипГруппыЭлементовОтбораКомпоновкиДанных,Строка - Тип группы
// в строковом варианте ожидается имя значения перечисления: ГруппаИ,ГруппаИли,ГруппаНе
// пГруппа - Строка - Идентификатор группы элементов отбора
// Если задано, то группа будет добавлена в указанную группу как подгруппа
// пИдентификатор - Строка - Идентификатор элемента условного оформления
// Если не задано, то группа отбора будет добавлена в последний добавленный элемент
// Возвращаемое значение:
// Булево - Признак успеха добавления
//
Функция ДобавитьГруппуОтбора(пПредставление, пТип, пГруппа = Неопределено, пИдентификатор = Неопределено) Экспорт
КонецФункции
// Добавление оформления в элемент условного оформления
//
// Параметры:
//
// пОформление - Строка,Структура - Описание оформления
// Для Строки ожидается имя вида оформления (ЦветФона,Шрифт итд). В этом случае передача значения обязательна
// Если Передана Структура, то в ключах ожидается имя вида оформления, а в значениях собственно значение оформления
// пЗначение - Произвольный - значение оформления. Обязательно, при передаче оформления в виде имени вида оформления
// пИдентификатор - Строка - Идентификатор элемента условного оформления
// Если не задано, то оформление будет добавлено в последний добавленный элемент
//
// Возвращаемое значение:
// Булево - Признак успеха добавления
//
Функция ДобавитьОформление(пОформление, пЗначение = Неопределено, пИдентификатор = Неопределено) Экспорт
КонецФункции
// Явное указание оформляемых полей
// Если не указывать, то оформление применится ко всем полям
//
// Параметры:
//
// пПутьКДанным - Строка,Массив,СписокЗначений,Структура,Соответствие - пути к данным оформляемых полей
// Для коллекций типа Структура и Соответствие предполагается хранение имени реквизита в ключе
// пИдентификатор - Строка - Идентификатор элемента условного оформления
// Если не задано, то поле будет добавлено в последний добавленный элемент
//
// Возвращаемое значение:
// Булево - Признак успеха добавления
//
Функция УказатьОформляемыеПоля(пПутьКДанным, пИдентификатор = Неопределено) Экспорт
КонецФункции
// Формирует настройки условного оформления для дальнейшего использования
//
// Параметры:
// нет передаваемых параметров
//
// Возвращаемое значение:
// Структура - декларативное описание условного оформления
//
Функция СформироватьНастройки() Экспорт
КонецФункции
// Дополнение настроек оформления другими настройками оформления
//
// Параметры:
//
// пНастройкиОформления - Структура - Другие настройки оформления сформированные ранее
//
Процедура Дополнить(пНастройкиОформления) Экспорт
КонецПроцедуры
// Применение настроек к условному оформлению
//
// Параметры:
//
// пУсловноеОформление - УсловноеОформлениеКомпоновкиДанных - Элемент компоновки к которому нужно применить настройки
// пНастройкиОформления - Структура - Декларативные Настройки условного оформления
// Если не задано, то будут применены настройки введенные в данном экземпляре
// В иных случаях можно передать сформированные ранее и возможно хранимые настройки
// В любом случае настройки должны быть сформированы данным классом
//
Процедура Применить(пУсловноеОформление, пНастройкиОформления = Неопределено) Экспорт
КонецПроцедуры