#std739

Размещение сведений о настройках подсистемы

Для настройки функциональности #std551: библиотеки в конфигурации-потребителе используют #std553: переопределяемые объекты.

Настройки подсистемы обычно делятся на:

  • общие для всех объектов подсистемы или для группы объектов;
  • специфичные для конкретного объекта.
1.

Общие настройки подсистемы задавайте в переопределяемом модуле.

Для этого создайте процедуру ПриОпределенииНастроек с параметром Настройки типа Структура, который заранее заполнен значениями по умолчанию.

Использование структуры в параметре позволяет расширять программный интерфейс добавлением новых свойств без нарушения #std644: обратной совместимости.

Пример

Процедура ПриОпределенииНастроек(Настройки) Экспорт

    Настройки.ВыводитьОтчетыВместоВариантов = Истина;
    Настройки.ВыводитьОписания = Истина;
    Настройки.ДругиеОтчеты.ПоказыватьФлажок = Истина;

КонецПроцедуры
1.1.

Для определения списка объектов, с которыми работает подсистема, не используйте перебор метаданных с конструкцией #std499: Попытка ... Исключение.

Вместо этого создавайте отдельную процедуру переопределяемого модуля с явным списком объектов.

Пример: ПриОпределенииПодключенныхОтчетов.

1.2.

Процедуры, которые переопределяют бизнес-логику сразу для всех объектов подсистемы, также размещайте в переопределяемом модуле.

Имена процедур выбирайте по выполняемому действию. Пример: ПриРегистрацииИзмененийКлючейВариантовОтчетов.

Для каждого действия создавайте отдельную процедуру.

2.

Настройки и обработчики, специфичные для отдельного объекта, размещайте в модуле менеджера этого объекта.

Для процедуры со сведениями о свойствах, реквизитах или методах используйте имя вида ПриОпределенииНастроек<ИмяПодсистемы>. Пример: ПриОпределенииНастроекВариантовОтчетов.

Переопределяемую бизнес-логику для конкретного объекта также размещайте в модуле менеджера. Наличие конкретных процедур задавайте в ПриОпределенииНастроек<ИмяПодсистемы>, чтобы не проверять наличие процедур через #std499: Попытка ... Исключение.

Пример

Процедура ПриОпределенииНастроекВариантовОтчетов(Настройки) Экспорт

    Настройки.ОпределитьНастройкиФормы = Истина;
    Настройки.Размещение.Вставить(ВариантыОтчетовКлиентСервер.ИдентификаторНачальнойСтраницы(), "Важный");
    Настройки.ПриПолученииДанныхОтчета = Истина; // Наличие процедуры.

КонецПроцедуры

Процедура ПриПолученииДанныхОтчета(Данные) Экспорт

    Данные.Очистить();
    // Своя процедура получения данных.

КонецПроцедуры

Процедура ПриОпределенииНастроекВариантовОтчетов задает настройки конкретного отчета и сообщает о наличии процедуры ПриПолученииДанныхОтчета, в которой реализована переопределяемая обработка данных.

Источник

https://its.1c.ru/db/v8std#content:739