|
v8.2 Как определить тип ХранилищеЗначение COM объекта |
☑ |
0
ЭЦ
08.08.12
✎
11:23
|
ГОСПОДА !
Имеется ComСоединение
Требуется прочитать значения реквизитов справочника все за исключенем
тех которые имеют тип ХранилищеЗначения.
Код типа :
Если ComСоединение.ТипЗНЧ(РекСправ) = ComСоединение.Тип("ХранилищеЗначения") Тогда
...
КонецЕсли;
- не работает
Прошу подсказать как это правильно записать.
|
|
1
бомболюк
08.08.12
✎
11:28
|
можно сделать так: использовать функцию ЗначениеВСтрокуВнутр, а потом анализировать подстроку между 1-й и 2-й запятой (там ГУИД какой то), она для каждого типа своя и постоянная.
|
|
2
ЭЦ
08.08.12
✎
11:43
|
(1) Получил : "{"#",2319dcf1-f4ee-438d-b16f-6a145d6b9422}"
|
|
3
Kashemir
08.08.12
✎
11:46
|
Можно конечно сериализировать через хтдо и вытянуть на вызывающую сторону - но это конечно кривое решение.
|
|
4
Лоботряс
08.08.12
✎
12:14
|
А по Метаданным отфильтровать реквизиты с нужным типом нельзя?
|
|
5
ЭЦ
08.08.12
✎
12:19
|
(4)
Попытка
Мтд = РекСпр.Метаданные();
Исключение
КонецПопытки;
Вызывает исключение
|
|
6
Ksandr
08.08.12
✎
12:21
|
ComСоединение.String(ComСоединение.ТипЗНЧ(РекСправ)) говорит что нить?
|
|
7
Kashemir
08.08.12
✎
12:28
|
(6) Проверял ?
|
|
8
Kashemir
08.08.12
✎
12:29
|
+(3) Вобщем если не лень перетягивать значение на вызывающую сторону - то
Функция ПолучитьПроизвольноеЗнчСОМ(Соединение, ЗначениеСОМ)
ХранилищеВнешнее = Соединение.NewObject("ХранилищеЗначения", ЗначениеСОМ, Соединение.NewObject("СжатиеДанных",9));
ЗаписьXML = Соединение.NewObject("ЗаписьXML");
ЗаписьXML.УстановитьСтроку();
Соединение.СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ХранилищеВнешнее);
ХранилищеВСтроке = ЗаписьXML.Закрыть();
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(ХранилищеВСтроке);
Возврат СериализаторXDTO.ПрочитатьXML(ЧтениеXML);
КонецФункции
|
|
9
Лоботряс
08.08.12
✎
12:31
|
(5)А "V82.COMConnector" или "V82.Application"?;
|
|
10
ЭЦ
08.08.12
✎
12:42
|
(6) Говорит : Метод объекта не обнаружен (ТипЗНЧ)
а вот
ComСоединение.String(РекСправ)
говорит - "ХранилищеЗначения"
так что Ksandrу спасибо
|
|
11
ЭЦ
08.08.12
✎
12:49
|
(9) COMConnector
|
|
12
olegves
08.08.12
✎
13:07
|
Описание типов пробовал?
|
|
13
olegves
08.08.12
✎
13:43
|
(12) или
ComСоединение.XMLТип(РекСправ)
|
|
14
ЭЦ
08.08.12
✎
13:44
|
(12,13) Меня устраивает (10)
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой