Имя: Пароль:
1C
 
Как получить имя общего модуля по ссылке.
,
0 Dotoshin
 
16.11.18
08:42
Коллеги, подскажите пожалуйста, как в отладчике, по ссылке на общий модуль посмотреть его имя?
Проблема выглядит след.образом - в одной из стартовых процедур есть такой цикл.
Для каждого Обработчик Из ОбработчикиСобытия Цикл
        Обработчик.Модуль.ПриДобавленииПараметровРаботыКлиентскойЛогикиСтандартныхПодсистемПриЗапуске(Параметры);
КонецЦикла;

ОбработчикиСобытия - это массив, содержащий перечень обработчиков, а Обработчик - это структура, которая имеет поле - Модуль.
Вот собственно Модуль это и есть ссылка на общий модуль.
Получена эта ссылка, где-то в недрах конфигурации вот таким способом
Модуль = Вычислить(ИмяОбщегоМодуля)
1 Dotoshin
 
16.11.18
08:45
Проблема в том, что не все общие модули имеют метод - ПриДобавленииПараметровРаботыКлиентскойЛогикиСтандартныхПодсистемПриЗапуске
и соответственно при старте имеем ошибку.
2 Dotoshin
 
16.11.18
08:47
А вот чтобы узнать, какой модуль не имеет такой метод нужно каким-то образом получить его имя.
3 RomanYS
 
16.11.18
08:58
Добавь в структуру имя модуля
4 mszsuz
 
16.11.18
08:59
Функция ПолучитьИмяОбщегоМодуля(ОМ)
    Для Каждого ОбъектМетаданных Из Метаданные.ОбщиеМодули Цикл
        Попытка
            Если Вычислить(ОбъектМетаданных.Имя) = ОМ Тогда
                Возврат ОбъектМетаданных.Имя;
            КонецЕсли;
        Исключение
        КонецПопытки
    КонецЦикла;
КонецФункции
5 Dotoshin
 
16.11.18
09:05
(4) Супер! Спасибо огромное!
6 Dotoshin
 
16.11.18
09:06
(3) Не хочется в типовой код влезать.