Передача ссылки через вебсервис
Добрый день, коллеги!
Есть вебсервис "DigitizedDocument" базы А.
Далее база Б подключается к этому вебсервису и передает данные документа через ФабрикаXDTO.
У этого документа в базе А есть реквизит тип "справочник", например "Справочник1". Базе Б есть похожий реквизит, только название справочника другое, например "Справочник1Б". Структура реквизитов однородна, за исключением не примитивных типов.
Но хотелось передать саму ссылку. Вариант переписать через чтение и запись хмл, затем замена названий у меня не получилась, наверно потому что значение хдто пакета не может существовать под другим метаданным.
Как в такой ситуации делают обмен?
Есть вебсервис "DigitizedDocument" базы А.
Далее база Б подключается к этому вебсервису и передает данные документа через ФабрикаXDTO.
У этого документа в базе А есть реквизит тип "справочник", например "Справочник1". Базе Б есть похожий реквизит, только название справочника другое, например "Справочник1Б". Структура реквизитов однородна, за исключением не примитивных типов.
Прокси = ПолучитьПрокси();
ОбъектXDTO = Прокси.ФабрикаXDTO.Создать(Прокси.ФабрикаXDTO.Тип("http://www.1c.ru/ECM/DocumentsDigitization", "DigitizedDocument"));
ПользовательТелеграмТип = ОбъектXDTO.Свойства().Получить("UserTelegram").Тип;
ПользовательТелеграмXDTO = Прокси.ФабрикаXDTO.Создать(ПользовательТелеграмТип);
ПользовательТелеграмXDTO.АдресЭлектроннойПочты = Автор.АдресЭлектроннойПочты;
ПользовательТелеграмXDTO.Долгота = Автор.Долгота;
ПользовательТелеграмXDTO.Код = Автор.Код;
ПользовательТелеграмXDTO.Мессенджер = Строка(Автор.Мессенджер);
ПользовательТелеграмXDTO.Наименование = Автор.Наименование;
ПользовательТелеграмXDTO.НомерТелефона = Автор.НомерТелефона;
ПользовательТелеграмXDTO.СсылкаНаРезюме = Автор.СсылкаНаРезюме;
ПользовательТелеграмXDTO.ТипОтправки = Автор.ТипОтправки;
ПользовательТелеграмXDTO.ЧасовойПояс = Автор.ЧасовойПояс;
ПользовательТелеграмXDTO.Широта = Автор.Широта;
ПользовательТелеграмXDTO.Язык = Строка(Автор.Язык);
ОбъектXDTO.UserTelegram = ПользовательТелеграмXDTO;
ПоказатьНо хотелось передать саму ссылку. Вариант переписать через чтение и запись хмл, затем замена названий у меня не получилась, наверно потому что значение хдто пакета не может существовать под другим метаданным.
Как в такой ситуации делают обмен?
По теме из базы знаний
- Универсальный обмен данными XML через web-сервисы
- Обмен данными онлайн через Веб-сервис с использованием обработки "Универсальный обмен данными XML"
- Автотесты алгоритмов по работе со сторонними http сервисами через юнит-тесты и мок сервер soapUI
- Обзор полезных методов БСП 3.1.4
- Универсальная сверка данных между разными базами 1С через веб-сервис
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(4) Да вообще можно, просто по-моему структурой проще. Так я выгружаю документ Остатки в мобильное приложение, в основной конфе такого нет
ТипДок = ФабрикаXDTO.Тип("ПакетXDTO","DocumentObject.ОстаткиНоменклатуры");
ТипТовары = ФабрикаXDTO.Тип("ПакетXDTO","Товары");
Док = ФабрикаXDTO.Создать(ТипДок);
Док.Ref = ГУИД;
Док.DeletionMark = Ложь;
Док.Date = НачалоДня(ТекущаяУниверсальнаяДата());
Док.Number = "";
Док.Posted = Истина;
Для Каждого Стр Из ТаблицаОстатков Цикл
Товары = ФабрикаXDTO.Создать(ТипТовары);
ЗаполнитьЗначенияСвойств(Товары,Стр);
Док.Товары.Добавить(Товары);
КонецЦикла;
МойXML = Новый ЗаписьXML;
МойXML.УстановитьСтроку();
ФабрикаXDTO.ЗаписатьXML(МойXML, Док);
ТекстВозврата = МойXML.Закрыть();
ТекстВозврата = СтрЗаменить(ТекстВозврата,"xmlns=""ПакетXDTO""", "xmlns=""http://v8.1c.ru/8.1/data/enterprise/current-config""");
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот