Системные требования
- Любая конфигурация на БСП (базовые подсистемы)
- Тестировал на платформе 8.3.27.1989

Описание
Состав подсистемы
- Справочники:
- Разделы общих настроек (является описанием значений настройки регистра настроек)
- Ключ общих настроек (дополнительный разрез регистра настроек)
- Правило инициализации данных (хранит набор данных определенного в шаблоне)
- Шаблон набора параметров (является описанием структуры хранения для правила инициализации)
- Правила получения данных (хранит схему компоновки)
- Настройки выполнения правил (содержит настройки схемы компоновки)
- Регистры сведений:
- Общие настройки (регистр настроек)
- Настройки получения значений (содержит последовательность настроек выполнения)
- Перечисления:
- Вариант выполнения правила
- Способ получения значения
- План видов характеристик:
- Типы расширенных настроек (определяет типы значений настроек)
Правила получения данных
Справочник обеспечивает хранение схемы компоновки данных и параметров ее выполнения (см. рис. 1). Служит для выполнения проверки набора данных, полученного схемой по настройке/настройкам из справочника "Настройки выполнения правил". Реализовано два режима работы: стандартный (простое выполнение с указанной настройкой) и по списку настроек (результатом выполнения будет то значение/значения из регистра настроек), заданных в регистре "Настройки получения значений" (см. рис. 2). Вариантов выполнения тоже два: выполнение схемы (стандартное выполнение схемы с процессором вывода) и выполнение запроса (выполнение запроса, полученного по настройке схемы компоновки - этот вариант быстрее, и кроме того, для режима работы по списку настроек сделана существенная оптимизация: запросы собираются в один ОБЪЕДИНИТЬ ВСЕ и выполняется только единственный запрос). Для варианта выполнения выполнения запросом существуют следующие ограничения:
- Никаких "Выражений" в параметрах схемы.
- Только один набор данных
- Не должно быть вычисляемых полей схемы
- Должны отсутствовать пользовательские поля

Рис. 1. Основная форма правила получения данных

Рис. 2. Форма списка правил
Вкладка "Диагностика" (см. рис. 3) служит для отладки правил. Для правил, работающих по списку настроек, можно задать ручной список или загрузить из регистра.

Рис. 3. Диагностика правил
В модуле менеджера расположена функция "ВыполнитьПравило".
// Возвращает результат выполнения правила
//
// Параметры:
// Правило - СправочникСсылка.рнсПравилаПолученияДанныхИБ, Строка - Правило, код или наименование
// ПараметрыКомпоновки - Структура - структура параметров
// НастройкаКомпоновки - МенеджерВременныхТаблиц, НастройкиКомпоновкиДанных, СправочникСсылка.рнсНастройкиВыполненияПравил - настройки выполнения
// менедежер временных таблиц должен содержать таблицу "Вт_ТаблицаРучныхНастроек" с колонками:
// УсловиеВыполнения, Порядок, Значение
// ДополнительныеПараметры - Структура - дополнительные параметры компоновки
//
// Возвращаемое значение:
// - Произвольный - результат выполнения правила
//
Функция ВыполнитьПравило(Правило, ПараметрыКомпоновки = Неопределено, НастройкаКомпоновки = Неопределено, ДополнительныеПараметры = Неопределено) Экспорт
Правила инициализации данных
Справочник хранит произвольные данные, структура которых определяется в "Шаблоне набора параметров" (см. рис. 5, 6). В самом элементе справочника (см. рис. 4) заполняются значения реквизитов указанных в шаблоне типов.

Рис. 5. Основная форма правила инициализации

Рис. 5. Основная форма шаблона

Рис. 6. Основная форма шаблона, ввод табличных частей
В справочнике Шаблон набора параметров для каждого реквизита можно задать тип, список значений выбора, значение по умолчанию и описание, которое отобразится на форме правила "?".
В модуле менеджера расположена функция "ВыполнитьПравило".
// Возвращает данные из правила
//
// Параметры:
// Правило - СправочникСсылка - правило инициализации данных
// Группировать - Булево - признак группировкки данных в возвращаемой структуре
//
// Возвращаемое значение:
// - Структура - результат
//
Функция ВыполнитьПравило(Правило, Группировать = Истина) Экспорт
Общие настройки
"Общие настройки" - регистр сведений, имеющий три изменения: Раздел (описывает все параметры настройки см. рис. 7), Секция (строка, возможные значения которой указываются в разделе), Ключ (справочник, подчиненный разделу). Регистр служит для хранения информации ограниченной типами ПВХ "Типы расширенных настроек" и произвольное значение, заполняемое с помощью формы, указанной в реквизите Имя формы заполнения хранилища раздела (пример такой формы присутствует в конфигурации).

Рис. 7. Раздел общих настроек
Запись регистра настраивается при выборе раздела (см. рис. 8). Гиперссылка открывает форму заполнения хранилища записи, указанную в Имя формы заполнения хранилища раздела.

Рис. 8. Форма записи регистра общих настроек
Заключение
Каждый разработчик "обрастает" своими подсистемами и библиотеками функций. Одной из таких и является "Расширенные настройки системы". Эта демо конфигурация сделана в "Каркасной", а также внедрены базовые подсистемы БСП.
Универсальная подсистема должна быть видна во всех расширениях, поэтому предоставляется именно cf, а установка осуществляется сравнением - объединением по подсистеме "рнсРасширенныеНастройкиСистемы".
Вступайте в нашу телеграмм-группу Инфостарт