|
OLE подключение и проверка типов | ☑ | ||
|---|---|---|---|---|
|
0
men47
11.05.17
✎
10:20
|
Доброе утро! нужна помощь!
имеется подключение к другой базе через OLE, необходимо проверить типы реквизитов внутри полученного объекта. Поиски: нашел что есть замечательная вещь как XMLTypeOf() которая возвращает по ссылке тип значения. Проблема: если встречается реквизит с примитивными типами (такими как строка или число) он возвращает "TypeDescription" причем как число так и строку он вроде одинаково возвращает.... как узнать, к какому типу относится данный реквизит примитивного типа? |
|||
|
1
Маркусс
11.05.17
✎
10:22
|
так возвращает же число и строку. Тип() не катит штоль?
|
|||
|
2
men47
11.05.17
✎
10:27
|
(1) Пример
ПараметрыЗагрузки.ЗагружаемыйСправочник.ПустаяСсылка().Метаданные().Реквизиты.Найти(пКлюч) ПараметрыЗагрузки.ЗагружаемыйСправочник (там уже определенн справочник оле) пКлюч ну например ПолноеНаименование и Тип() не катит, если оле подключение он будет возвращать "COM Объект" |
|||
|
3
men47
11.05.17
✎
10:29
|
вообще было бы круто реализовать:
ТекущийРеквизит = ПараметрыЗагрузки.ЗагружаемыйСправочник.ПустаяСсылка().Метаданные().Реквизиты.Найти(пКлюч); ТипЗначенияДляРеквизита = ТекущийРеквизит.Тип; ТипЗначенияДляРеквизита.СодержитТип(....) но как я понял в оле не работает "СодержитТип" |
|||
|
4
h-sp
11.05.17
✎
10:33
|
(2) для строки Тип() не будет возвращать "COM Объект".
|
|||
|
5
h-sp
11.05.17
✎
10:34
|
(2) вы не м6етаданные проверяйте, а сами данные.
|
|||
|
6
men47
11.05.17
✎
10:37
|
||||
|
7
men47
11.05.17
✎
10:42
|
(5) вы мне подкинули идейку, проверить сначала если ли такой реквизит, и если найдет, то обратиться к данным и уже там будет ясно что за тип.... конечно это так себе если это будет Ссылочный тип, но там можно будет хотя бы уже обойти.... Спасибо
|
|||
|
8
НЕА123
11.05.17
✎
10:44
|
(0)
"TypeDescription" это ОписаниеТипов, видимо. тогда попробовать перемTypeDescription.типы() |
| Форум | Правила | Описание | Секции | Поиск |