Разное имя общего модуля

1. Nadushka74 5 08.02.18 16:08 Сейчас в теме
Есть обработка которая запускается в разных программах. В зависимости от того в какой программе она запускается, она должна обращаться к процедуре которая находится в общем модуле этой программы. НО в разных программах этот модуль называется по разному.
Если в коде обработки указать реальное название общего модуля и обращение к процедуре через точку, то программа уже при запуске выкидывает ошибку что она не знает такой переменной. Как это обойти?
По теме из базы знаний
Найденные решения
5. dandykry 10 08.02.18 16:21 Сейчас в теме
(1) Пример типовых конфигураций (БСП)

Если СтрНайти(Метаданные.Имя, "Бухгалтерия") Тогда
	Модуль = ОбщегоНазначения.ОбщийМодуль("МойМодуль");
	Модуль.мояпроцедура();
ИначеЕсли Метаданные.Имя = "еще конфигурации" Тогда 
        Модуль = ОбщегоНазначения.ОбщийМодуль("МойМодульВДругойКонфигурации");
	Модуль.мояпроцедураВДругойКонфигурации();
КонецЕсли;
Nadushka74; mifka186; +2 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Xershi 1490 08.02.18 16:11 Сейчас в теме
(1) так как это сделали в БСП. Или для каждой конфы свою точку.
3. Xershi 1490 08.02.18 16:12 Сейчас в теме
Ну или привести модули к одному названию или нужный код скопировать себе и не париться!
4. Nadushka74 5 08.02.18 16:14 Сейчас в теме
(3) конфы не мои, и там есть исключительные варианты, да и зачем копировать то что уже унифицировано и сделано. По сути мне надо чтоб <имямодул>.НазваниеПроцедуры(ааа) - можно было имя держать в переменной и потом его менять
5. dandykry 10 08.02.18 16:21 Сейчас в теме
(1) Пример типовых конфигураций (БСП)

Если СтрНайти(Метаданные.Имя, "Бухгалтерия") Тогда
	Модуль = ОбщегоНазначения.ОбщийМодуль("МойМодуль");
	Модуль.мояпроцедура();
ИначеЕсли Метаданные.Имя = "еще конфигурации" Тогда 
        Модуль = ОбщегоНазначения.ОбщийМодуль("МойМодульВДругойКонфигурации");
	Модуль.мояпроцедураВДругойКонфигурации();
КонецЕсли;
Nadushka74; mifka186; +2 Ответить
6. spacecraft 08.02.18 16:34 Сейчас в теме
если без привязки к БСП:
Функция ПолучитьНужныеДанные()
	МодульОбработчика = Неопределено;
	Если Метаданные.Имя = "Конфигурация" Тогда
		
		МодульОбработчика = Вычислить("ОбщегоНазначенияСервер");
		
	ИначеЕсли Метаданные.Имя = "Другая конфигурация" Тогда
		МодульОбработчика = Вычислить("ОбщегоНазначения");
		
	КонецЕсли;
	Возврат МодульОбработчика.ПолучитьНужныеДанные();
		
КонецФункции
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот