Получает объект описания расширения конфигурации, с помощью которого объект метаданных был добавлен.
Синтаксис
РасширениеКонфигурации()Полное описание, параметры и ограничения
ОбъектМетаданных: ПодпискаНаСобытие.РасширениеКонфигурации (MetadataObject: EventSubscription.ConfigurationExtension)
ОбъектМетаданных: ПодпискаНаСобытие (MetadataObject: EventSubscription)
РасширениеКонфигурации (ConfigurationExtension)
Доступен, начиная с версии 8.3.8.
Синтаксис:
РасширениеКонфигурации()
Возвращаемое значение:
Тип: РасширениеКонфигурации, Неопределено.
Неопределено - объект относится к основной конфигурации.
Описание:
Получает объект описания расширения конфигурации, с помощью которого объект метаданных был добавлен.
Доступность:
Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.
Использование в версии:
Доступен, начиная с версии 8.3.8.
Методическая информация
Практические примеры
Найти, кто обрабатывает запись организации
Реальная подписка обслуживает Организации и ПодразделенияОрганизаций и вызывает экспортную процедуру серверного модуля.
Где и как запускать
Полный серверный модуль изолированной учебной копии КА2 Progress 2.5.20.75; только чтение.
Подготовка
Отдельная учебная копия КА2 Progress 2.5.20.75 из C:\claude\KA2\Progress\XML_CF_KA2_PROGRESS, платформа 8.5.1.1343. Создайте серверный общий модуль УчебныеКонтрактыОбработчиков.
Вставьте полный модуль одного урока и вызовите УчебныеКонтрактыОбработчиков.ВыполнитьПример() из своей учебной серверной команды.
Источники: Roles\ПолныеПрава.xml; EventSubscriptions\АктуализироватьСтруктуруПредприятия.xml; ScheduledJobs\АнализДанныхДляОповещенийКлиентам.xml и соответствующие CommonModules.
Код только читает метаданные и признаки прав. Он не назначает роли, не меняет параметры сеанса, не записывает организацию и не вызывает обработчик подписки или задания.
Учебная копия должна быть изолирована от рабочих фоновых заданий и внешних обменов её обычными средствами администрирования. Этот пример не выключает и не включает задания за пользователя.
Диагностика расширений и доступных прав зависит от активной базы и пользователя. Не подгоняйте права рабочей базы под ожидаемые булевы результаты.
Процедура ВыполнитьПример() Экспорт
Подписка = Метаданные.ПодпискиНаСобытия.Найти("АктуализироватьСтруктуруПредприятия");
Если Подписка = Неопределено Тогда
ВызватьИсключение "Нет подтверждённой подписки";
КонецЕсли;
Сообщить(Подписка.Имя = "АктуализироватьСтруктуруПредприятия");
Сообщить(Подписка.Источник.СодержитТип(Тип("СправочникОбъект.Организации")));
Сообщить(Подписка.Источник.СодержитТип(Тип("СправочникОбъект.ПодразделенияОрганизаций")));
Сообщить(НЕ Подписка.Источник.СодержитТип(Тип("СправочникОбъект.Номенклатура")));
Сообщить(Подписка.Событие = "ПриЗаписи");
Части = СтрРазделить(Подписка.Обработчик, ".");
Если Части.Количество() < 2 Тогда
ВызватьИсключение "Обработчик не содержит имя модуля и процедуры";
КонецЕсли;
ИмяМодуля = Части[Части.Количество() - 2];
ИмяПроцедуры = Части[Части.Количество() - 1];
Сообщить(ИмяМодуля = "ОрганизационнаяСтруктураСобытия");
Сообщить(ИмяПроцедуры = "ОбновитьЭлементСтруктурыПредприятия");
Модуль = Метаданные.ОбщиеМодули.Найти(ИмяМодуля);
Если Модуль = Неопределено Тогда
ВызватьИсключение "Не найден модуль подтверждённого обработчика";
КонецЕсли;
Сообщить(Модуль.Сервер);
Сообщить("В исходном модуле процедура принимает Источник и Отказ. Здесь она НЕ вызывается.");
Сообщить(Подписка.Синоним);
Сообщить(Подписка.Комментарий);
Сообщить(Подписка.ПолноеИмя());
Сообщить(Подписка.Представление());
Сообщить(Подписка.ПринадлежностьОбъекта);
Сообщить(ТипЗнч(Подписка.ОбъектРасширяемойКонфигурации));
Сообщить(Подписка.ЕстьИзмененияРасширениямиКонфигурации());
Сообщить(ТипЗнч(Подписка.РасширениеКонфигурации()));
Сообщить(Подписка.Родитель() = Метаданные);
КонецПроцедурыРазбор по шагам
Найти подписку АктуализироватьСтруктуруПредприятия по имени.
Источник — ОписаниеТипов объектов двух справочников. Ссылка на организацию и объект организации — разные типы; для события здесь требуется объект.
Прочитать Событие и разобрать Обработчик как имя метода. Префикс представления допускается, модуль и процедура берутся последними двумя частями.
Найти метаданные модуля и проверить Сервер. По исходнику процедура принимает Источник, Отказ и имеет Экспорт; для демонстрации запись организации не нужна.
Вывести сведения подписки и расширений. Код ничего не записывает и подписку не запускает.
Как проверить результат
Девять фиксированных проверок дают Истина; остальное диагностическое.
В исходном XML Event = OnWrite, а в языке 1С событие ПриЗаписи. Обработчик подтверждён в CommonModules/ОрганизационнаяСтруктураСобытия/Ext/Module.bsl.
Ожидаемый результат
Воспроизводимая трассировка от метаданных события до фактического места кода.
На что обратить внимание
Не вызывайте обработчик вручную с вымышленным Источник: он изменяет структуру предприятия.
Событие ПриЗаписи не равно ПередЗаписью или ПриПроведении.
Чтение подписки не доказывает, что она успешно отработала: для этого нужен отдельный тест записи в копии базы.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.