Версия для печати темы (https://pro1c.org.ua/index.php?s=3987ef77092011c6f20691cba0e8bd92&showtopic=35743)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ Как проверить существование общего модуля?

Автор: Inkognito 06.03.17, 12:10

Есть общий модуль в УПП/УТП, называется "Ценнобразование". Вызывается например, для получения скидки:
Скидка = Ценообразование.ПолучитьСуммуСкидки(Сумма, ПроцентСкидки);
Проблема в том, что код используется во внешней обработке, которая может быть вызвана из конфигураций, которые его не имеют.
Например, пр открытии в ЗУП, программа ругается: "Переменная не определена (Ценообразование)"

Вопрос: как сделать проверку на наличие общего модуля "Ценообразование"?

Автор: sava1 06.03.17, 12:12

Попытка/Исключение Вызвать процедуру/функцию

Автор: Inkognito 06.03.17, 12:16

Ошибка возникает при открытии обработки, и Попыткой/Исключением не обрабатывается.

Автор: Petre 06.03.17, 12:17

Выполнить("текст кода не проверяется на синтаксис");

Автор: Егор Динин 06.03.17, 12:39

Обычно проверяют имя конфигурации.

Автор: Inkognito 06.03.17, 13:17

Егор Динин
Обработка универсальная, конфигураций море....
Petre
Спасибо, все получилось.

Автор: Vofka 06.03.17, 14:01

ОбщиеМодули = Метаданные.ОбщиеМодули;
МойМодуль = ОбщиеМодули.Найти("МойМодуль");
Если МойМодуль <> Неопределено Тогда
   //...
КонецЕсли;

Автор: Kerberos 05.11.18, 18:06

Цитата(Vofka @ 06.03.17, 15:01) *
ОбщиеМодули = Метаданные.ОбщиеМодули;
МойМодуль = ОбщиеМодули.Найти("МойМодуль");
Если МойМодуль <> Неопределено Тогда
   //...
КонецЕсли;


в конфигурациях этот код объединяют smile.gif

Если Метаданные.ОбщиеМодули.Найти("МойМодуль") <> Неопределено Тогда
   //...
КонецЕсли;


Или в БСП

Если ОбщегоНазначения.ОбщийМодуль("МойМодуль") <> Неопределено Тогда
   //...
КонецЕсли;


во 2м случае, можно еще вызывать потом модуль "по ссылке"

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua