|   |   | 
| 
 | Универсальный код для разный конфигураций | ☑ | ||
|---|---|---|---|---|
| 0
    
        Slon747 15.12.17✎ 16:46 | 
        8.3
 Пытаюсь создать универсальный код для 2-х конфигураций. Но даже если условие не соблюдается, всё равно ругается на отсутствие общего модуля: Функция ПолучитьКурсВалюты(Валюта, Дата) Экспорт Если УТ_11() Тогда Возврат РаботаСКурсамиВалют.ПолучитьКурсВалюты(Валюта, Дата); Иначе Возврат МодульВалютногоУчета.ПолучитьКурсВалюты(Валюта, Дата); КонецЕсли; КонецФункции Есть ли удобный вариант обхода? Может как-то директивой препроцессора или еще как? | |||
| 1
    
        lodger 15.12.17✎ 16:48 | 
        Выполнить (Execute)
 Синтаксис: Выполнить(<Строка>) Параметры: <Строка> Строка, содержащая текст исполняемого кода. Описание: Позволяет выполнить фрагмент кода, который передается ему в качестве строкового значения. Примечание: В режиме запуска веб-клиент оператор не поддерживается, при его вызове будет сгенерировано исключение. В режимах запуска мобильного приложения оператор не поддерживается в операционной системе iOS. | |||
| 2
    
        lodger 15.12.17✎ 16:49 | 
        Функция ПолучитьКурсВалюты(Валюта, Дата) Экспорт
 Если УТ_11() Тогда Выполнить ("Структура = РаботаСКурсамиВалют.ПолучитьКурсВалюты(Валюта, Дата)"); Иначе Выполнить ("Структура = МодульВалютногоУчета.ПолучитьКурсВалюты(Валюта, Дата)"); КонецЕсли; Возврат Структура; КонецФункции | |||
| 3
    
        lodger 15.12.17✎ 16:50 | 
        что-то в этом духе. без отладчика точнее не скажу.     | |||
| 4
    
        mehfk 15.12.17✎ 16:50 | 
        (2) см в СП "Вычислить"     | |||
| 5
    
        lodger 15.12.17✎ 16:51 | 
        (4) ну или так.
 выполнить для процедур вычислить для функций | |||
| 6
    
        AlexTim03 15.12.17✎ 16:52 | 
        В типовых посмотри, как делают.
 Общий модуль - это тоже объект и можно проверить его наличие | |||
| 7
    
        nordbox 15.12.17✎ 16:55 | 
        (0)> всё равно ругается на отсутствие общего модуля: 
 он там есть? | |||
| 8
    
        nordbox 15.12.17✎ 16:56 | 
        Даже при отсутствие компилятор то все равно проверяет условие компилирует его     | |||
| 9
    
        nordbox 15.12.17✎ 16:56 | 
        +8 при отсутствии общего модуля     | |||
| 10
    
        Мыш 15.12.17✎ 17:04 | 
        (0) МодульПолученияКурсовВалют = ОбщегоНазначения.ОбщийМодуль("МойОбщийМодуль");     | |||
| 11
    
        hhhh 15.12.17✎ 17:07 | 
        (10) это ничем не поможет. то же самое. в конфах может не быть ОбщегоНазначения.ОбщийМодуль()     | |||
| 12
    
        Мыш 15.12.17✎ 17:08 | 
        (11) Это поможет для типовых конфигураций. Не для всех, да.     | |||
| 13
    
        nordbox 15.12.17✎ 17:09 | 
        Мыш, да там другое, РАЗНЫЕ конфы, в одной модуль есть, в другой нет, а ТС думает что при отсутствии модуля, компилятор проглотит хотелку
 ТС народным творчеством занимается наверное | |||
| 14
    
        Мыш 15.12.17✎ 17:11 | 
        (13) Я понял, что разные. Одна из них УТ 11, в которой используется БСП. Про вторую ничего не сказано. Т.е. допустима БП, например.     | |||
| 15
    
        Slon747 15.12.17✎ 17:17 | 
        (5) Спасибо. Работает.     | |||
| 16
    
        D3O 15.12.17✎ 18:15 | 
        (0) в БСП (и всех типовых) есть ОбщегоНазначения.ПодсистемаСуществует(ИмяПодсистемы)
 а дальше используешь Модуль = ОбщегоНазначения.ОбщийМодуль(ИмяМодуля) Модуль.вызовНужнойФункции | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |