1С:Предприятие 8.2 /
Разработчикам /
Разработка и использование библиотек
Переопределяемые и поставляемые объекты библиотеки
Методическая рекомендация (полезный совет) 1. С точки зрения возможностей по настройке функциональности библиотеки для работы в конкретной конфигурации -потребителе все объекты библиотеки условно делятся на три категории:
2. Рекомендуется устанавливать для объектов этих категорий следующие правила поставки:
Эти рекомендации продиктованы следующими соображениями:
3. Для того чтобы упростить настройку библиотеки и снизить трудоемкость последующих обновлений версии библиотеки в конфигурации-потребителе следует минимизировать количество переопределяемых объектов с помощью следующих методик:
3.1. Переопределяемые общие модули следует называть с постфиксом Переопределяемый.
3.2. Переопределяемые общие модули должны содержать только экспортные процедуры и функции, которые вызываются из кода самой библиотеки. Другими словами, не следует допускать вызовов процедур и функций переопределяемых модулей непосредственно из кода конфигурации-потребителя. Такое ограничение обусловлено соображением повышения устойчивости кода конфигурации, который вызывает библиотечные процедуры и функции, составляющие программный интерфейс библиотеки. К программному интерфейсу библиотеки следует относить только экспортные процедуры и функции непереопределяемых общих модулей. Например, в библиотеке имеются модули ПапкиФайлов и ПапкиФайловПереопределяемый. Для использования в конфигурациях-потребителях в модуле ПапкиФайлов реализуется экспортная функция: Функция ПапкаФайлов(ВладелецФайловСсылка) Экспорт СтандартнаяОбработка = Истина; Результат = Неопределено ; ПапкиФайловПереопределяемый.ПолучитьПапкуФайлов(ВладелецФайловСсылка, Результат, СтандартнаяОбработка); Если СтандартнаяОбработка Тогда // реализация по умолчанию Результат = ... КонецЕсли; Возврат Результат; КонецФункции а в модуле ПапкиФайловПереопределяемый: // Вызывается из библиотеки при необходимости получить папку файлов для указанного владельца. // // Параметры: // ВладелецФайловСсылка – владелец файлов, для которого нужно вернуть папку. // ПапкаФайлов – в этот параметр нужно записать результат. // СтандартнаяОбработка – по умолчанию, Истина. В этом случае папка будет получена способом по умолчанию. // Если значение параметра установить в Ложь, то в этой процедуре можно реализовать свой способ, // которым в конфигурации получают папки файлов. // Процедура ПолучитьПапкуФайлов(ВладелецФайловСсылка, ПапкаФайлов, СтандартнаяОбработка) Экспорт КонецПроцедуры При этом все вызовы из конфигурации-потребителя должны идти только к библиотечному модулю ПапкиФайлов. Обращение к ПапкиФайловПереопределяемый разрешается только из библиотечного модуля ПапкиФайлов. 3.3. При этом в переопределяемом модуле не должно быть каких-либо других не-экспортных процедур/функций и какой-либо реализации в его экспортных процедурах и функциях. Базовую реализацию переопределяемых процедур и функций следует располагать в непереопределяемом коде. Например, неправильно поставлять переопределяемый модуль МояБиблиотекаПереопределяемый скакой-либо реализацией: Функция НастройкаПараметровРаботы() Экспорт ПараметрыРаботы = Новый Структура; // если настройки по умолчанию не подходят, то измените их. ПараметрыРаботы.Вставить("ПоказыватьЕдинственныйРаздел", Ложь); ПараметрыРаботы.Вставить("ЗадаватьДатуДляПрочихРазделов", Ложь); ПараметрыРаботы.Вставить("ИспользоватьВнешнихПользователей", Ложь); Возврат ПараметрыРаботы; КонецФункции правильно: // Позволяет настроить работу подсистемы. // // Параметры: // ПараметрыРаботы - Структура, с полями: // ПоказыватьЕдинственныйРаздел - Булево (по умолчанию Ложь), // ЗадаватьДатуДляПрочихРазделов - Булево (по умолчанию Ложь), // ИспользоватьВнешнихПользователей - Булево (по умолчанию Ложь). Процедура НастройкаИнтерфейса(ПараметрыРаботы) Экспорт КонецПроцедуры а установку значений по умолчанию перенести в непереопределяемый общий модуль библиотеки: Функция НастройкаПараметровРаботы() ПараметрыРаботы = Новый Структура; // настройки по умолчанию ПараметрыРаботы.Вставить("ПоказыватьЕдинственныйРаздел", Ложь); ПараметрыРаботы.Вставить("ЗадаватьДатуДляПрочихРазделов", Ложь); ПараметрыРаботы.Вставить("ИспользоватьВнешнихПользователей", Ложь); // а теперь запросим конфигурацию-потребитель на случай, // если эти умолчания не устраивают МояБиблиотекаПереопределяемый.НастройкаПараметровРаботы(ПараметрыРаботы); Возврат ПараметрыРаботы; КонецФункции 3.4. При обновлении версии библиотеки в конфигурации-потребителе особого внимания требуют модули корневого объекта конфигурации и переопределяемые общие модули, так как автоматическое обновление таких «узких мест» конфигурации-потребителя невозможно. Для настройки в конфигурации переопределяемых общих модулей рекомендуется придерживаться общего подхода:
См. также |
Другие материалы по теме:
буфер обмена, копировать, обмен, по умолчанию, конфигурирование, пример, конфигурации
Материалы из раздела: 1С:Предприятие 8.2 / Разработчикам / Разработка и использование библиотек
Другие материалы по теме:
Использование параметра Условие при обращении к виртуальной таблице
Нас находят: 1С Переопределяемый модуль, 1с общий модуль переопределяемый, ПриПодготовкеМакетаОписанияОбновлений, префикс Переопределяемый означает 1с, Переопределяемый модуль 1с, 1с бсп переопределяемые модули, 1с бсп переопределение модули, что значит переопределяемый модуль, переопределяемые модули 1с, v8 3 модуль переопределяемый
Мы на Facebook