Имя: Пароль:
1C
1С v8
объект XDTO
0 Хрюкин
 
28.08.13
13:29
Получаю через веб-сервис массив с сотрудниками который имеет тип объект XDTO. А как мне теперь из этого объекта этих всех сотрудников перебрать? Помогите, кто знает.
1 Хрюкин
 
28.08.13
13:35
В 7.7 работало так:
НашОтвет1 = СервисСОАП.SpisokStudList();           Документ1 = НашОтвет1.context;
Массив1 = Документ1.childNodes;  
Количество1 = Массив1.length;
Для j = 0 По Количество1-1 Цикл  
  Элемент1 = Массив1.item(j) ;
  ФамилияСтуд =СокрЛП(Элемент1.childNodes.item(0).text);
  и так далее.....

В 8.2 Объект получаю нормально. А вот уже во второй строке ругается, что типа не найден context
2 Fragster
 
модератор
28.08.13
13:36
Для каждого Объект Из НашОтвет.Context Цикл... КонецЦикла
3 Хрюкин
 
28.08.13
13:45
(2) ругается поле объекта не обнаружено Context
4 Fragster
 
модератор
28.08.13
13:47
(3) НашОтвет - это что?
5 Хрюкин
 
28.08.13
13:49
(4) Отладчик показывает, что это объект XDTO
6 Fragster
 
модератор
28.08.13
13:52
(5) а свойства его отладчик что, не показывает? тебе нужно то свойство, которое СписокXDTO
7 Хрюкин
 
28.08.13
13:56
(6) есть там
arrayType
href
id1
offset
8 Serginio1
 
28.08.13
13:59
(7) Такое впечатление, что нет нужного импорта в wsdl.
Посмотри какой тип возвращает СервисСОАП.SpisokStudList();
9 Хрюкин
 
28.08.13
14:00
(8) возвращает объект XDTO
10 Хрюкин
 
28.08.13
14:02
И мне с этим объектом хоть что-нибудь сделать бы. Хоть выгрузить куда, чтобы посмотреть, какие данные там есть.
11 Serginio1
 
28.08.13
14:02
(9) Какой тип у этого объекта
v8: Заполнение массива XDTO
12 alexei366
 
28.08.13
14:03
(9) а ты в отладчике сделай так НашОтвет1.Тип() и шифт F9, и он те его найм спейс с именем покажет
13 Serginio1
 
28.08.13
14:04
ОбъектXDTO.Тип.Имя
14 Serginio1
 
28.08.13
14:05
ОбъектXDTO.Тип().Имя
15 alexei366
 
28.08.13
14:05
(12) И можешь поискать этот пакет и тип значения в фабрике XDTO которая у тя подгрузилась вместе с WS-ссылкой
16 alexei366
 
28.08.13
14:07
(15) А для наглядности можешь даже его в строку xml превратит если очень припрет))
17 Хрюкин
 
28.08.13
14:08
(14) НашОтвет.Тип().Имя    
Значение "Array"    
Тип Строка
18 Serginio1
 
28.08.13
14:09
Смотри в WSDL как возвращаемый тип прописан.
19 Хрюкин
 
28.08.13
14:10
(18) что такое WSDL? Где смотреть?
20 alexei366
 
28.08.13
14:11
НашОтвет.Тип() открой в отладчике раскрой свойства и скриншот в студию!
21 alexei366
 
28.08.13
14:11
(20) Но насколько я понял это стандартный объект описанный в w3c
22 alexei366
 
28.08.13
14:12
(20) И еще НашОтвет открой в отладчике раскрой свойства и скриншот в студию!
23 Serginio1
 
28.08.13
14:15
(19) То что ты указываешь WSОпределения или URL источника.
Посмотри v8: Заполнение массива XDTO где то около 70
24 Хрюкин
 
28.08.13
14:17
(20)скриншот http://logxp.ru/fotki/xdto.jpg
25 alexei366
 
28.08.13
14:19
Сделай так:

ВСФабрика = СервисСОАП.ФабрикаXDTO;

ЗаписьXML = Новый ЗаписьXML;
ЗаписьXML.УстановитьСтроку("UTF-8");
ЗаписьXML.ЗаписатьОбъявлениеXML();
ВСФабрика .ЗаписатьXML(ЗаписьXML, НашОтвет);
СтрокаXML = ЗаписьXML.Закрыть();


И СтрокуXML в студию!!!
26 Хрюкин
 
28.08.13
14:19
27 alexei366
 
28.08.13
14:20
(26) А есть вариант что тебе пустой массив шлют?
28 alexei366
 
28.08.13
14:20
(27) Корочь сделай пока (25) , там увидем в xml чо ты получаешь))
29 Serginio1
 
28.08.13
14:21
(20) Не совсем там к нему идут уточнения например
Обычно ПХП шнику кучи пакетов не упоминают
например
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/";

.....
<import namespace="http://schemas.xmlsoap.org/soap/encoding/"/>;


<complexType name="FixedArray">
                <complexContent>
                    <restriction base="soapenc:Array">
                        <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[]" />
                    </restriction>
                </complexContent>
            </complexType>
30 Хрюкин
 
28.08.13
14:23
(25) "<?xml version="1.0" encoding="UTF-8"?>¶<Array xmlns="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"/>";
31 alexei366
 
28.08.13
14:24
(30) Пустой массив ты получашь Дружище))
32 Хрюкин
 
28.08.13
14:25
(27)пустой массив вполне возможен, но я не могу этого увидеть никак.
33 alexei366
 
28.08.13
14:25
ПХП шнику покажи чо ты получаешь пустой массив в (30) доказательство))
34 Хрюкин
 
28.08.13
14:27
ок, буду ПХПшника терроризировать
35 Serginio1
 
28.08.13
14:27
(32) Можешь показать описание типа их WSDL. И посмотри какие пакеты импортируются.
36 alexei366
 
28.08.13
14:27
(33) И вообще странно что ни одно из свойст твоего ответа не имеет тип СписокXDTO((
37 Serginio1
 
28.08.13
14:44
Посмотри что возвращает сервис например через

v8: WSDL: падает 1с
смотри 34
или SoapUI
38 Serginio1
 
28.08.13
14:56
2 + 2 = 3.9999999999999999999999999999999...