|
Как узнать, есть ли экспортная переменная в модуле документа? |
☑ |
0
semenich
29.07.15
✎
16:08
|
Здравствуйте. Допустим, в конфигурации есть документ, у которого в модуле объекта объявлена экспортная переменная КурсДокумента. Реквизита такого нет. Когда передаю ДокументОбъект в другую функцию, там ДокументОбъект.КурсДокумента виден. Но ОбщегоНазначения.ЕстьРеквизитДокумента("КурсДокумента", Метаданные), естественно, возвращает Ложь.
Как можно проверить, доступно ли свойство ДокументОбъект.КурсДокумента, если это не реквизит? Попытка Исключение не хотелось бы. Заранее спасибо.
|
|
1
ДенисЧ
29.07.15
✎
16:10
|
не хотелось бы, а придётся
|
|
2
Лодырь
29.07.15
✎
16:12
|
(0) Ты можешь устроить адский изврат, выгрузив модули конфигурации в файлы и распарсив их. Но не думаю, что это решение тебе понравится больше чем конструкция "попытка исключение".
|
|
3
бомболюк
29.07.15
✎
16:12
|
через ВК можно. COM-интерфейс IDispatch, метод GetIDsOfNames
|
|
4
semenich
29.07.15
✎
16:20
|
Если, действительно, нет хитрого и простого способа, то придется через Попытку.
Спасибо
|
|
5
fisher
29.07.15
✎
16:21
|
Попытка Исключение ему не нравится. После таких-то проектных решений. Снявши голову по волосам не плачут. Если уж овнокодить, то видно должно быть издалека. Попытка/Исключение - самое то.
|
|
6
semenich
29.07.15
✎
16:26
|
Это в типовой Бухгалтерия 1.5 использовалось. Кардинально переделывать нерезонно в моей ситуации.
|
|
7
hhhh
29.07.15
✎
16:59
|
(6) а тупо проверить тип документа не вариант?
|
|
8
Lexey_
29.07.15
✎
17:17
|
(0) а если:
Структура = Новый Структура("КурсДокумента", Неопределено);
ЗаполнитьЗначенияСвойств(Структура, ДокументОбъект);
ЕстьПеременная = (Структура.КурсДокумента <> Неопределено);
|
|
9
бомболюк
29.07.15
✎
17:59
|
(8) круто, но ведь неинициализированный "КурсДокумента" тоже будет равен Неопределено :-(
|
|
10
бомболюк
29.07.15
✎
18:00
|
лучше
Структура = Новый Структура("КурсДокумента", "длофывптфоитловалдифвтидшгвтдигфвтидтгфвиш");
ЗаполнитьЗначенияСвойств(Структура, ДокументОбъект);
ЕстьПеременная = (Структура.КурсДокумента <> "длофывптфоитловалдифвтидшгвтдигфвтидтгфвиш");
;-)
|
|
11
Lexey_
29.07.15
✎
18:00
|
(9) ну, да, если неинициализирована, тогда сравнивать с чем-нить другим
|
|
12
semenich
02.08.15
✎
07:25
|
Спасибо, Lexey_ и бомболюк, как раз то, что нужно.
|
|