Реклама на этом месте
Форум 1С
Форум 1С
Программистам. Бухгалтерам. Администраторам. Пользователям
Задай вопрос - получи решение проблемы. Без троллинга и флуда.
23 Июл 2017, 17:47
МультиВход
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Не получили письмо с кодом активации?
 
collapse

Автор Тема: XDTO пакеты и Web-сервисы  (Прочитано 1339 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Ромашев Алексей

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2015-06-18
  • Сайт: 
  • Профессия: Ученик 1С
Добрый день. Разбираюсь с мобильной платформой от 1с. Решил для теста развернуть серверную часть(1с УТ 8.2) и клиентску(мобильная платформа). Посмотрел пару уроков насчет программирования под мобильные, всё понятно, но не объяснили что делать с полученным на клиенте XDTO-пакетом.
Вот серверный код:

Функция ПолучитьТовар()
ТипСписокТовара = ФабрикаXDTO.Тип("СтруктураТовары","СписокТоваров");
ТипНоменклатура = ФабрикаXDTO.Тип("СтруктураТовары","Товар");
Список = ФабрикаXDTO.Создать(ТипСписокТовара);
Запрос = Новый Запрос();
Запрос.Текст = "ВЫБРАТЬ
   | Товары.Наименование КАК Наименоване,
   | Товары.Артикул КАК Артикул,
   | Товары.Описание КАК Описание
   |ИЗ
   | Справочник.Товары КАК Товары";
Выполнение = Запрос.Выполнить();
Выборка = Выполнение.Выбрать();
Пока Выборка.Следующий() Цикл
Товар = ФабрикаXDTO.Создать(ТипНоменклатура);
Товар.Наименование = "Товар";
Товар.Артикул = "Артикул";
Товар.Коментарий = "Комментарий";

Список.ТоварСписка.Добавить(Товар);
КонецЦикла;

Если Список.ТоварСписка.Количество() = 0 Тогда
Возврат Неопределено;
Иначе
Возврат Список;
КонецЕсли;
КонецФункции
Эта функция возвращает список товара в виде XDTO пакета. Вот его структура:

Вот исходник клиента:

&НаКлиенте

Процедура ОбменСервер(Команда)





ПолучитьПрокси();
КонецПроцедуры
&НаСервере
Процедура ПолучитьПрокси()




АдресСервера = "http://192.168.0.254/basep/ws/getsprvochnik?wsdl";
Определения = Новый WSОпределения(АдресСервера);
Прокси = Новый WSПрокси(Определения,"getsprvochnik","getsprvochnik","getsprvochnikSoap");
ПакетПолучение = Прокси.ПолучитьТовар();
ОбработкаНоменклатуры(ПакетПолучение);


КонецПроцедуры
Процедура ОбработкаНоменклатуры(Пакет)

КонецПроцедуры

Получаю пакет и на этом всё заканчивается. Как мне из этого пакета получить данные, чтобы потом ими заполнить справочник номенклатура на клиенте? Я читал про то что можно сначала в XML, а из него в объект 1с, но можно ли на прямую? без XML.


Оффлайн vitasw

  • *****
  • Сообщений: 2546
  • РЕПУТАЦИЯ: 309
  • КПД: 12%
  • Регистрация: 2015-02-10
  • Сайт: 
  • Профессия: Программист 1С
но можно ли на прямую? без XML.
нет, нельзя. XDTO - суть тоже самое XML, что есть, грубо говоря, формат передачи данных.

Оффлайн Ромашев Алексей

  • *
  • Сообщений: 33
  • РЕПУТАЦИЯ: -1
  • Регистрация: 2015-06-18
  • Сайт: 
  • Профессия: Ученик 1С
но можно ли на прямую? без XML.
нет, нельзя. XDTO - суть тоже самое XML, что есть, грубо говоря, формат передачи данных.
Я нашел способ, обычным циклом если свойство пакета - список. Пример:
    Для Каждого Позиция Из СписокТоваров.Номенклатура Цикл
        //Доступ к элементу списка свойства пакета
        //Сообщить(Позиция.Наименование);
    КонецЦикла;
Естественно если свойство - не список, то просто через точку.


Теги: XDTO.web 
 


* Живое общение

Не устроил ответ?

Зарегистрируйся и задай свой вопрос. Живое общение приносит результат намного быстрее.


Зарегистрироваться

* Реклама

* Поиск

* Последние задачи на разработку (фриланс)

* Реклама

* Последние вакансии

* Топ 10 авторов за месяц

oleg-x
105 Сообщений
alex0402
93 Сообщений
Геннадий ОбьГЭС Геннадий ОбьГЭС
65 Сообщений
ilyay ilyay
49 Сообщений
Golickoff Golickoff
49 Сообщений
AIFrame
47 Сообщений
ab30ru
38 Сообщений
wise wise
34 Сообщений
Амал
30 Сообщений
LexaK
22 Сообщений

* Кто онлайн

  • Точка Гостей: 249
  • Точка Скрытых: 0
  • Точка Пользователей: 8
  • Точка Сейчас на форуме:

* Облако тэгов

* Форум 1С с мобильного

* Инструменты

* Дополнительно

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal