Имя: Пароль:
1C
1С v8
Вызов экспортной функции глобального модуля.
0 andryuhin
 
28.04.14
11:35
Всем доброго дня.

Проблема следующая:
Есть 10 общих модулей с именами "ОбщийМодуль_1", "ОбщийМодуль_2", и т.д.  В каждом модуле есть экспортная Функция "ВернутьРезультатЗапроса()".

Необходимо вызывать эту функцию из СООТВЕТСТВУЮЩЕГО общего модуля. Из какого, мы всегда знаем по переменной "НужныйМодуль" (в ней сидит строковое имя модуля)

Можно ли как-то программно это вызывать функцию, используя переменную "НужныйМодуль" ?
1 Wobland
 
28.04.14
11:36
да
2 Wobland
 
28.04.14
11:36
также можно даже построить эту тряхомудию таким образом, чтоб и вопросов таких близко не возникало
3 СвинТуз
 
28.04.14
11:37
Строка="Возврат="+НужныйМодуль+"."+"ИмяФункции";
Выполнить(Строка);
4 H A D G E H O G s
 
28.04.14
11:38
Вот так это делают ребята из 1С-а

Функция ОбщийМодуль(Имя) Экспорт
    
    Попытка
        Модуль = Вычислить(Имя);
    Исключение
        Модуль = Неопределено;
    КонецПопытки;
    
    Возврат Модуль;
    
КонецФункции
5 andryuhin
 
28.04.14
11:38
(3)   От моя тупая голова.  Спасибо. Это оно самое :)
6 СвинТуз
 
28.04.14
11:39
а да ... "вычислить" наверное
7 andryuhin
 
28.04.14
11:40
Идея понятна.  Дальше дело техники.
8 Torquader
 
28.04.14
20:49
(7) Использование "Вычислить" - это не очень хорошее решение - почему нельзя не имя модуля передавать, а номер в массиве, где будет жить нужная функция ?
Независимо от того, куда вы едете — это в гору и против ветра!