Передача ссылки через вебсервис

1. Xershi 1536 11.04.18 21:00 Сейчас в теме
Добрый день, коллеги!

Есть вебсервис "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;            
    
Показать


Но хотелось передать саму ссылку. Вариант переписать через чтение и запись хмл, затем замена названий у меня не получилась, наверно потому что значение хдто пакета не может существовать под другим метаданным.

Как в такой ситуации делают обмен?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. Dream_kz 129 12.04.18 08:27 Сейчас в теме
(1) Выгружай все реквизиты в структуру, и сериализуй ее. Единственное, что саму ссылку передать не получится, так как таблица другая, но передать guid и тип строкой можно.
4. Xershi 1536 12.04.18 10:38 Сейчас в теме
(3) выходит из разных баз нельзя использовать хдто пакеты. Только в рамках одной базы или РИБа?
5. Dream_kz 129 12.04.18 12:34 Сейчас в теме
(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""");
Показать
6. Xershi 1536 12.04.18 12:43 Сейчас в теме
(5) ну я так и сделал. Просто хотел оперировать ссылками, а не получилось. Плюс потом писать читалку структуры.
Вопрос тогда решен.
2. Xershi 1536 11.04.18 21:14 Сейчас в теме
Хотя насколько помню. В последних частях курса по мобильной разработке была ситуация когда из конфы стационарки урезают объект до мобильной версии и наоборот кажись.

Но это не применял и забыл. Кто напомнит, как это реализуется?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот