Имя: Пароль:
1C
1С v8
Помогите разобраться с тем, как на клиенте обработать ОбъектXDTO
0 rikodroo
 
01.03.17
12:14
Привет! Изучаю механизм работы с Веб сервисами и XDTO, но возник один вопрос и я пока не понял как его решить. Делаю обмен справочником номенклатуры между базами Сервер и Клиент. На Сервере сделал XDTO пакет, соответствующий Веб сервер (на подобии того, как это сделано в демобазе "WEB-сервисы" от 1с). На Клиенте добавил только такой же справочник номенклатуры (как и на Сервере) и соответствующую WS-ссылку. При обращении с Клиента через эту WS-ссылку к веб сервису Сервера, последний формирует (с использованием XDTO) перечень номенклатуры и уже на Клиенте я получаю соответствующий ОбъектXDTO. Далее, на Клиенте, я могу этот ОбъектXDTO сохранить как XML файл, например сделав так:

Соединение = WSСсылки.ДанныеНоменклатуры.СоздатьWSПрокси("http://www.1c.ru/demo/products";,    "ДанныеНоменклатуры","ДанныеНоменклатурыSoap");
Ответ = Соединение.Получить();
ИмяФайла = "C:\nomenklatura_client.xml";
Запись = Новый ЗаписьXML;
Запись.ОткрытьФайл(ИмяФайла);
Соединение.ФабрикаXDTO.ЗаписатьXML(Запись, Ответ,,,,НазначениеТипаXML.Явное); //используем фабрику из соединения(по WS ссылке)
Запись.Закрыть();

Далее, конечно же можно этот XML файл прочитать и получить из него данные. Однако, я хотел бы узнать, можно ли данные (пусть в виде XML структуры) получить без создания отдельного файла, т.е. можно ли сразу из ОбъектаXDTO получить данные, т.е. не использовать вышеприведенный с записьюXML?
Как тут вообще лучше всего обмен сделать? У меня есть идея о том, чтобы через веб сервис передавать структуру (т.е. у операции веб сервиса добавить соответствующий параметр), элементом которой будет как-раз уже готовенький XML файл, но насколько это правильно не знаю.
1 DailyLookingOnA Sunse
 
01.03.17
12:19
"Ответ" и есть OбъектXDTO.
Зачем его записывать?
2 rikodroo
 
01.03.17
12:22
(1) Чтобы данные из него извлечь. Я не очень понял что такое XDTO объект, но знаю, что данные в нём есть))) А не понимаю как, этож свего роде сериализованные данные и мне их нужно ресериализовать.
3 vi0
 
01.03.17
12:32
(2) посмотри в отладчике этот объект и будет понятнее
4 FIXXXL
 
01.03.17
12:33
(2) это "коллекция", глянь в отладчике как это выглядит
5 DailyLookingOnA Sunse
 
01.03.17
12:35
ЧтениеXML = Новый ЧтениеXML;
ЧтениеXML.УстановитьСтроку(Ответ);

и далее как привычно
а попозже можно про XDTO почитать
6 rikodroo
 
01.03.17
12:48
(4) Ага, спасибо. Всё очень просто оказалось.