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

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

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.

Смотрите бесплатно более 300 видеоуроков по работе в 1С:Бухгалтерия 8 и 1C:ЗУП 8 ред. 3.0

СМОТРЕТЬ >>


Оффлайн vitasw

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

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

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


Теги: XDTO.web 
 


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

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

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


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

* Реклама

* Поиск

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

* Реклама

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

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

Геннадий ОбьГЭС Геннадий ОбьГЭС
96 Сообщений
Dethmontt Dethmontt
69 Сообщений
alex0402
62 Сообщений
MuI_I_Ika MuI_I_Ika
59 Сообщений
wise wise
47 Сообщений
Сергей Федоров Сергей Федоров
41 Сообщений
ilyay ilyay
39 Сообщений
BuhRust
22 Сообщений
magnifico61
20 Сообщений
ilnur75
20 Сообщений

* Кто онлайн

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

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

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

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

Поиск

 
SimplePortal 2.3.5 © 2008-2012, SimplePortal