|
Универсальный код для разный конфигураций | ☑ | ||
---|---|---|---|---|
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) в БСП (и всех типовых) есть ОбщегоНазначения.ПодсистемаСуществует(ИмяПодсистемы)
а дальше используешь Модуль = ОбщегоНазначения.ОбщийМодуль(ИмяМодуля) Модуль.вызовНужнойФункции |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |