Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

1C и xmlrps

1C и xmlrps
Я
   timyrko
 
17.11.20 - 13:09
Добрый день,

Как интегрироваться с XMLRPC и 1С 8.? Это необходимо для интеграции с Odoo.
Есть небольшой пример Как из 1С 8 обратиться к xmlrpc?, но файл давно утерян((

Поделитесь кодом, пожалуйста.
   Asmody
 
1 - 17.11.20 - 13:22
там вся суть в этом:
   Asmody
 
2 - 17.11.20 - 13:24
Функция xrExec(ИмяФункции, Параметры=Неопределено) Экспорт

    ЗаписьXML=Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку("");
    ЗаписьXML.ЗаписатьОбъявлениеXML();
    ЗаписьXML.ЗаписатьНачалоЭлемента("methodCall");
    ЗаписьXML.ЗаписатьНачалоЭлемента("methodName");
    ЗаписьXML.ЗаписатьТекст(СокрЛП(ИмяФункции));
    ЗаписьXML.ЗаписатьКонецЭлемента();
    ЗаписьXML.ЗаписатьНачалоЭлемента("params");
    Если ТипЗнч(Параметры)=Тип("Массив") Тогда 
        Для каждого Параметр Из Параметры Цикл
            ЗаписьXML.ЗаписатьНачалоЭлемента("param");
            ЗаписьXML.ЗаписатьНачалоЭлемента("value");
            ЗаписатьПараметр(Параметр);
            ЗаписьXML.ЗаписатьКонецЭлемента();// value

            ЗаписьXML.ЗаписатьКонецЭлемента();// param

        КонецЦикла; 
    КонецЕсли;
    ЗаписьXML.ЗаписатьКонецЭлемента();// params

    ЗаписьXML.ЗаписатьКонецЭлемента();// methodCall

    XMLЗапроса = ЗаписьXML.Закрыть();

    XMLРезультата = HTTP.Post(Сервер+URL, XMLЗапроса); 
    ЧтениеXML=Новый ЧтениеXML;
    ЧтениеXML.УстановитьСтроку(XMLРезультата);
    
    Результат=РазобратьОтвет(ЧтениеXML);
    ЧтениеXML.Закрыть();
    Возврат Результат;
КонецФункции
   Asmody
 
3 - 17.11.20 - 13:26
В ЗаписатьПараметр() и РазобратьОтвет() - тупо сериализация/десериализация
   timyrko
 
4 - 17.11.20 - 14:05
(1) Суть формирования XML понятна. Спасибо за это.
Вы сталкивались с интеграцией с Odoo? Если да, можете поделиться опытом или кодом (по подключению).
Буду благодарен!

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.