![]() |
![]() |
![]() |
|
Как проверить, является ли переменная COM-соединения структурой? | ☑ | ||
---|---|---|---|---|
0
grigoriy-1c
26.10.15
✎
15:34
|
Добрый день. Проблема такая. Есть переменная типа ComОбъект. Надо проверить, является ли структурой. Известно, что ТипЗнч не работает в com-соединении, а метод XMLТипЗнч не работает для типа Структура. Идеи?
|
|||
1
grigoriy-1c
26.10.15
✎
15:41
|
Пока что в попытке проверяю вызов метода количество(), если вызывается исключение возвращаю ложь, иначе истина.
|
|||
2
Cyberhawk
26.10.15
✎
15:42
|
Количество() так-то не только у структуры есть...
|
|||
3
H A D G E H O G s
26.10.15
✎
15:47
|
XDTOSerializer.XMLТипЗнч(Новый СТруктура).TypeName
|
|||
4
Ненавижу 1С
гуру
26.10.15
✎
15:51
|
Соединение.String(Переменная)
|
|||
5
Serginio1
26.10.15
✎
15:54
|
Поизвращаться
структ=новый Структура("Дата","Клиент"); записьXml=Новый ЗаписьXML; записьXml.УстановитьСтроку(); СериализаторXDTO.ЗаписатьXML(записьXml,структ); стр=записьXml.Закрыть(); ЧтениеXML = новый ЧтениеXML; ЧтениеXML.УстановитьСтроку(стр); ЧтениеXML.ПерейтиКСодержимому(); ПространствоИмен=ЧтениеXML.URIПространстваИмен; Тип=ЧтениеXML.Имя; |
|||
6
Serginio1
26.10.15
✎
16:08
|
Моржно еще сделать внешний Отчет В котором сделать экспортные функции которые могут использовать и Вычислить и Тип и прочие. Например v8: 8.2, COM-соединение, C#, dynamic строки
|
|||
7
grigoriy-1c
26.10.15
✎
16:58
|
(2) это да, но у меня либо строка, либо структура
(3) верно ответил, можно xdtoсериализатор использовать..ЧТо-то я не подумал.. Итого код такой xmlтип = Соединение.СериализаторXDTO.XMLТипЗнч(com_Расшифровка); Если СериализаторXDTO.ИзXMLТипа(xmlтип.ИмяТипа, xmlтип.URIПространстваИмен) <> Тип("Структура") Тогда Возврат Неопределено; КонецЕсли; |
|||
8
Serginio1
26.10.15
✎
17:06
|
7 Странно
XMLТипЗнч(структ) Выдает неопределено а СериализаторXDTO.XMLТипЗнч(структ) выдает ТипДанныхXML |
|||
9
grigoriy-1c
26.10.15
✎
20:07
|
(8) Верно :)
В этом и был вопрос. |
|||
10
RomanYS
26.10.15
✎
20:13
|
А разве так не будет работать?
ЭтоСтруктура = (Соединение.ТипЗнч(Переменная) = Соединение.Тип("Структура")) |
|||
11
grigoriy-1c
26.10.15
✎
20:23
|
(10) Не будет. Com-соединение с типзнч не работает и с тип возможно тоже
|
|||
12
RomanYS
26.10.15
✎
20:50
|
Тогда самое лаконичное в (4), точнее
ЭтоСтруктура = (Соединение.String(Переменная) = "Структура" и Переменная <> "Структура"); |
|||
13
hhhh
27.10.15
✎
01:28
|
(11) сам придумал?
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |