Получение таблицы из Web-сервиса SAP в 1с

23.07.14

Интеграция - WEB-интеграция

Решение проблемы с получением данных сложного типа в 1с из SAP

В процессе интеграции с SAP ERP столкнулись с проблемой получения из сервиса, опубликованного на стороне SAP, данных сложных типов.
Данные простых типов ходили между системами, без проблем, но стоило в сервис на стороне SAP добавить сложный тип, как все приводило следующей ошибке:

Проверка дополнительного свойства:
форма: Элемент
имя: NameItem: Ошибка преобразования данных XDTO:
Чтение объекта типа: {urn:sap-com:document:sap:soap:functions:mc-style}NameType
Проверка дополнительного свойства:
форма: Элемент
имя: item: Ошибка проверки данных XDTO:
Собственно проблему решили, причем 2мя способами:
1)     Самый простой вместо вызова web-сервиса,воспользовались post запросом. Примеров отправки POST-запроса много, ниже привожу рабочий код.
 

 ПроцедураОтправкаЗапроса()
     Сервер = //имя сервера
     Ресурс = // имя ресурса 
    
     HTTP =  Новый HTTPСоединение(Сервер,,,,,, Истина) ;
     Логин = //ваш логин
     Пароль = //ваш пароль
    
     СтрокаАвторизации = СтрокаВBase64(ВРег(Логин)+":"+Пароль);   
     ЗаголовокHTTP = Новый Соответствие();
     ЗаголовокHTTP.Вставить("Content-Type","text/xml");
     ЗаголовокHTTP.Вставить("Accept-Charset","utf-8");
     ЗаголовокHTTP.Вставить("Content-Charset","utf-8");
     ЗаголовокHTTP.Вставить("Authorization","Basic"+СтрокаАвторизации);
     СтрокаЗапрос = //текст вашего запроса. Если есть сложностьс составлением рекомендую для этого воспользоваться программой SOAPUI
     СтрокаЗапрос = СтрЗаменить(СтрокаЗапрос,Символы.ПС,"");
     ТекстДок = Новый ТекстовыйДокумент;
     ТекстДок.ВставитьСтроку(1,СтрокаЗапрос);
     ИмяФайлаЗапроса =ПолучитьИмяВременногоФайла(".txt");
     ТекстДок.Записать(ИмяФайлаЗапроса);
     ИмяФайлаОтвета =ПолучитьИмяВременногоФайла(".txt");
     HTTP.ОтправитьДляОбработки(ИмяФайлаЗапроса, Ресурс,ИмяФайлаОтвета, ЗаголовокHTTP);    
 КонецПроцедуры
 
 Функция СтрокаВBase64(Строка)    
     СтрокаBase64 = "";    
     ИмяВременногоФайла = ПолучитьИмяВременногоФайла();
     ЗаписьТекста = Новый ЗаписьТекста(ИмяВременногоФайла);
     ЗаписьТекста.Записать(Строка);
     ЗаписьТекста.Закрыть();
     СтрокаBase64 = Base64Строка(НовыйДвоичныеДанные(ИмяВременногоФайла));
     СтрокаBase64 =СтрЗаменить(СтрокаBase64,"77u/","");
     Попытка
         УдалитьФайлы(ИмяВременногоФайла)
     Исключение
         Сообщить("Неудалось удалитьфайл преобразования строки авторизации (Base64) -"""+ИмяВременногоФайла+"""",СтатусСообщения.Внимание);
     КонецПопытки;
    
     Возврат СтрокаBase64;
    
 Конецфункции

На выходе получаем xml с данными, разбираем, получаем данные.
2)     Воспользоваться форматом JSON– то есть преобразовывать сложные типы на стороне SAP в JSON и как строку отдавать в 1с.
В 1с уже эта строка без проблем переводится в более удобный тип данных.

SAP интеграция

См. также

WEB-интеграция Администрирование веб-серверов Платные (руб)

Веб-портал обеспечивает удобный доступ к конфигурации 1С:ITIL(ИТИЛ), 1С:ITILIUM, Управление IT-отделом 8 через интернет с любого устройства посредством браузера, увеличивая эффективность работы пользователей и снижая нагрузку на сервер. Быстрая инсталляция портала за пару часов, удобный и интуитивно понятный интерфейс и безопасность данных помогут упростить работу с порталом и ускорить выполнение бизнес-процессов компании.

128000 руб.

19.12.2023    4311    5    0    

11

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    35823    71    45    

30

Оптовая торговля Розничная торговля WEB-интеграция 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Платные (руб)

Онлайн-заказ - это решение для автоматизации процесса оформления заказов на сайте в торговых организациях. Продукт обеспечивает легкое взаимодействие между компанией и клиентами через веб-интерфейс, интегрированный с 1С:Предприятие. Система позволяет снизить операционные расходы, повысить лояльность клиентов и оптимизировать работу отдела продаж.

57600 руб.

26.11.2024    3289    3    3    

5

WEB-интеграция Программист Бизнес-аналитик Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

14400 руб.

20.12.2024    1382    9    2    

11

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    19655    24    24    

20

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    5510    5    2    

6

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 1C:Бухгалтерия Управленческий учет Платные (руб)

Решение осуществляет синхронизацию задач Битрикс24 и 1С, что позволяет в одной системе ставить задачи, контролировать выполнение всего пула задач с группировкой по ответственным и проектам, формировать управленческие отчеты по работе сотрудников (загрузка, просроченные задачи), уведомлять сотрудников о ходе выполнения задач посредством чат-бот Telegram

7200 руб.

04.05.2021    21298    14    19    

18
Оставьте свое сообщение