|
Определить использование общего модуля |
☑ |
0
cons74
17.06.16
✎
16:53
|
Пишу отчет. Надо чтоб работал в 2х базах (УПП и БП). В одной есть Общий модуль Модуль1, а в другой - Модуль2.
Как написать так, чтобы при открытии в базе, где нет одного из модулей - не возникало ошибки?
|
|
1
Волшебник
модератор
17.06.16
✎
16:54
|
Выполнить("текст")
|
|
2
Зая Бусечка
17.06.16
✎
16:55
|
Пиши отчёт так, чтобы эти модули не использовались.
|
|
3
xxTANATORxx
17.06.16
✎
16:56
|
(0)в БСП смотри как сделано
|
|
4
FIXXXL
17.06.16
✎
16:56
|
Метаданные.ОбщиеМодули.Найти(ИмяМодуля)
|
|
5
Nuobu
17.06.16
✎
17:00
|
(0) Если Метаданные.ИмяКонфигурации = "Бушка" Тогда
Модуль2
ИначеЕсли Метаданные.ИмяКонфигурации = "Упэпэшка" Тогда
Модуль1
КонецЕсли;
|
|
6
mehfk
17.06.16
✎
17:02
|
(0) Кусок работающего кода
// УТ 10.3
Если Метаданные.ОбщиеМодули.Найти("ОбработкаТабличныхЧастей") <> Неопределено Тогда
Выполнить("
|Попытка
| ОбработкаТабличныхЧастей.ПриИзмененииСуммыТабЧасти(НоваяСтрока, ДокументПоступления, глЗначениеПеременной(""глТекущийПользователь""));
|Исключение
|КонецПопытки;
|");
КонецЕсли;
// Розница 2.1
Если Метаданные.ОбщиеМодули.Найти("ОбработкаТабличнойЧастиТоварыСервер") <> Неопределено Тогда
Выполнить("
|Попытка
| СтруктураТЧ.Вставить(""ТекущаяСтрока"", НоваяСтрока);
| ОбработкаТабличнойЧастиТоварыСервер.ПриИзмененииРеквизитовВТЧСервер(СтруктураТЧ, СтруктураДействий, Неопределено);
|Исключение
|КонецПопытки;
|");
КонецЕсли;
|
|
7
Tateossian
17.06.16
✎
17:18
|
(5) Это омнокод, лучше такие вещи делать через метеданные.
|
|
8
Cyberhawk
17.06.16
✎
18:18
|
(5) При открытии такой обработки должна быть ошибка компиляции , если не через "Выполнить" идет обращение к муодулям
|
|
9
Beretta
17.06.16
✎
18:41
|
Только не выполнить, а вычислить.
если метаданные.общиемодули.найти("модуль1")<>неопределено тогда
моймодуль=вычислить("модуль1")
иначеесли метаданные.общиемодули.найти("модуль2")<>неопределено тогда
моймодуль=вычислить("модуль2")
иначе
вызватьисключение("а я томат")
конецесли
моймодуль.суперпроцедура()
|
|