#std739¶
Размещение сведений о настройках подсистемы¶
Для настройки функциональности #std551: библиотеки в конфигурации-потребителе используют #std553: переопределяемые объекты.
Настройки подсистемы обычно делятся на:
- общие для всех объектов подсистемы или для группы объектов;
- специфичные для конкретного объекта.
1.¶
Общие настройки подсистемы задавайте в переопределяемом модуле.
Для этого создайте процедуру ПриОпределенииНастроек с параметром Настройки типа Структура, который заранее заполнен значениями по умолчанию.
Использование структуры в параметре позволяет расширять программный интерфейс добавлением новых свойств без нарушения #std644: обратной совместимости.
Пример
1.1.¶
Для определения списка объектов, с которыми работает подсистема, не используйте перебор метаданных с конструкцией #std499: Попытка ... Исключение.
Вместо этого создавайте отдельную процедуру переопределяемого модуля с явным списком объектов.
Пример: ПриОпределенииПодключенныхОтчетов.
1.2.¶
Процедуры, которые переопределяют бизнес-логику сразу для всех объектов подсистемы, также размещайте в переопределяемом модуле.
Имена процедур выбирайте по выполняемому действию.
Пример: ПриРегистрацииИзмененийКлючейВариантовОтчетов.
Для каждого действия создавайте отдельную процедуру.
2.¶
Настройки и обработчики, специфичные для отдельного объекта, размещайте в модуле менеджера этого объекта.
Для процедуры со сведениями о свойствах, реквизитах или методах используйте имя вида ПриОпределенииНастроек<ИмяПодсистемы>.
Пример: ПриОпределенииНастроекВариантовОтчетов.
Переопределяемую бизнес-логику для конкретного объекта также размещайте в модуле менеджера.
Наличие конкретных процедур задавайте в ПриОпределенииНастроек<ИмяПодсистемы>, чтобы не проверять наличие процедур через #std499: Попытка ... Исключение.
Пример
Процедура ПриОпределенииНастроекВариантовОтчетов(Настройки) Экспорт
Настройки.ОпределитьНастройкиФормы = Истина;
Настройки.Размещение.Вставить(ВариантыОтчетовКлиентСервер.ИдентификаторНачальнойСтраницы(), "Важный");
Настройки.ПриПолученииДанныхОтчета = Истина; // Наличие процедуры.
КонецПроцедуры
Процедура ПриПолученииДанныхОтчета(Данные) Экспорт
Данные.Очистить();
// Своя процедура получения данных.
КонецПроцедуры
Процедура ПриОпределенииНастроекВариантовОтчетов задает настройки конкретного отчета и сообщает о наличии процедуры ПриПолученииДанныхОтчета, в которой реализована переопределяемая обработка данных.