|
[Search] Поиск   [Recent Topics] Последние темы   [Hottest Topics] Горячие темы   [Members]  Список участников   [Groups] На главную страницу 
[Register] Регистрация / 
[Login] Вход 
Интеграция 1С 7.7  XML
Индекс форума » Компонент МЕРКУРИЙ
Автор Сообщение
CustomTools


Зарегистрирован: 09/08/2017 09:56:06
Сообщений: 2
От: СКБ Контур
Оффлайн

Попробуйте через
WinHttp=СоздатьОбъект("MSXML2.XMLHTTP");
WinHttp.Open("POST",АдресАпи,0,Логин,Пароль);
...
WinHttp.Send(Зп);

И еще прикол есть, если ответ большой по объему прилетит (складской журнал, или еще что-то подобное), то прочитать его средствами 1с будет достаточно проблематично.
uac


Зарегистрирован: 10/10/2017 13:17:41
Сообщений: 15
Оффлайн

CustomTools wrote:Попробуйте через
WinHttp=СоздатьОбъект("MSXML2.XMLHTTP");
WinHttp.Open("POST",АдресАпи,0,Логин,Пароль);
...
WinHttp.Send(Зп);

И еще прикол есть, если ответ большой по объему прилетит (складской журнал, или еще что-то подобное), то прочитать его средствами 1с будет достаточно проблематично.


Спасибо большое, так работает. Попробую авторизацию к WinHttp теперь прикрутить. С приколом большого ответа уже сталкивался - при работе с ЕГАИС
Zoeh


Зарегистрирован: 07/08/2017 13:16:55
Сообщений: 100
Оффлайн

Ну как получилось?

Нам нужно писать, а не знаем с чего начать.
uac


Зарегистрирован: 10/10/2017 13:17:41
Сообщений: 15
Оффлайн

Zoeh wrote:Ну как получилось?

Нам нужно писать, а не знаем с чего начать.


Да, всё оказалось очень просто:

WinHttp=СоздатьОбъект("WinHttp.WinHttpRequest.5.1");
WinHttp.Open("POST", "https://api2.vetrf.ru:8002/platform/cerberus/services/EnterpriseService",0);
WinHttp.SetCredentials("UserName","Password",0);
WinHttp.Send(ДокXML); //здесь передаётся уже сформированный xml-файл

Если запрос к ApplicationManagementService (тут надо внимательно документацию смотреть, чтобы понять, какой метод к какому сервису относится), то меняем во второй строке адрес на "https://api2.vetrf.ru:8002/platform/services/ApplicationManagementService".
Zoeh


Зарегистрирован: 07/08/2017 13:16:55
Сообщений: 100
Оффлайн

Максимальный размер получаемого файла средствами 1С 7.7
то ли 70 то ли 500 килобайт.
плюс
WinHttp.WinHttpRequest.5.1

не поддерживает авторизацию нужную для Меркурия по https
плюс складской журнал запрашивается без возможности выборки по периоду (это очень большой объем ответа)

далее парсер не может подключить и проверить пакеты(схемы)
VoditelKobyly


Зарегистрирован: 16/08/2017 10:22:55
Сообщений: 102
Оффлайн

Максимальный размер получаемого файла средствами 1С 7.7
то ли 70 то ли 500 килобайт.
плюс
WinHttp.WinHttpRequest.5.1

не поддерживает авторизацию нужную для Меркурия по https
плюс складской журнал запрашивается без возможности выборки по периоду (это очень большой объем ответа)

далее парсер не может подключить и проверить пакеты(схемы)


И чё?

Утверждаю, что с 1с77 можно сделать интеграцию с Меркурием. Причем даже здесь даже проще чем с ЕГАИСом, так как не требуется дополнительная кодировка.
Если сами не знаете, как обойти эти ограничения, пригласите специалистов или купите готовое решение.
bigmal


Зарегистрирован: 24/07/2017 07:58:49
Сообщений: 73
Оффлайн

VoditelKobyly wrote:
Максимальный размер получаемого файла средствами 1С 7.7
то ли 70 то ли 500 килобайт.
плюс
WinHttp.WinHttpRequest.5.1

не поддерживает авторизацию нужную для Меркурия по https
плюс складской журнал запрашивается без возможности выборки по периоду (это очень большой объем ответа)

далее парсер не может подключить и проверить пакеты(схемы)


И чё?

Утверждаю, что с 1с77 можно сделать интеграцию с Меркурием. Причем даже здесь даже проще чем с ЕГАИСом, так как не требуется дополнительная кодировка.
Если сами не знаете, как обойти эти ограничения, пригласите специалистов или купите готовое решение.



С размером файла действительно есть проблема? И как можно это обойти?
VoditelKobyly


Зарегистрирован: 16/08/2017 10:22:55
Сообщений: 102
Оффлайн

Кто как может, тот так и обходит.
Я использую объект "Adodb.Stream"
bigmal


Зарегистрирован: 24/07/2017 07:58:49
Сообщений: 73
Оффлайн

VoditelKobyly wrote:Кто как может, тот так и обходит.
Я использую объект "Adodb.Stream"


Не поделитесь секретом? )
VoditelKobyly


Зарегистрирован: 16/08/2017 10:22:55
Сообщений: 102
Оффлайн

Stream = CreateObject("Adodb.Stream");
Stream.Charset = "utf-8";
Stream.Open();

//Будем бить на части по 100000 байт
ВсегоБайт=СтрДлина(ОтветСервера);
ДлинаКуска=100000;
КоличествоКусков=Цел(ВсегоБайт/ДлинаКуска);
ОстатокБайт=ВсегоБайт-(КоличествоКусков*ДлинаКуска);
Для НомерКуска=1 По КоличествоКусков Цикл
КусокТекста=Сред(ОтветСервера,(НомерКуска-1)*ДлинаКуска+1,ДлинаКуска);
Stream.WriteText(КусокТекста);
КонецЦикла;
Если ОстатокБайт>0 Тогда
КусокТекста=Сред(ОтветСервера,(КоличествоКусков*ДлинаКуска)+1,ДлинаКуска);
Stream.WriteText(КусокТекста);
КонецЕсли;

//Stream.WriteText(ОтветСервера);
Stream.SaveToFile(ИмяФ);
Stream.Close();
bigmal


Зарегистрирован: 24/07/2017 07:58:49
Сообщений: 73
Оффлайн

ОтветСервера - ResponseText, если я верно понял?

Я вот такой вариант нашёл.

Stream = Новый COMОбъект("ADODB.Stream");

Stream.Type = 1;
Stream.Mode = 3;

Stream.Open();
Stream.Write(WinHttp.ResponseBody);
Stream.SaveToFile("C:\1.zip", 2);
Stream.Close();
VoditelKobyly


Зарегистрирован: 16/08/2017 10:22:55
Сообщений: 102
Оффлайн

Да, ОтветСервиса=WinHttp.ResponseText();
buiankin


Зарегистрирован: 13/10/2017 17:14:44
Сообщений: 1
Оффлайн

я поставил 1С ветсправки под 8-ку которая. там есть интеграция с торговлей 11 и 10 (это обе 8-ки), в принципе я для работы с 7-кой обмены перепишу
сначала думал самому написать обмен (с ЕГАИСом, как у многих тут, был такой опыт)
но как прочитал, что там будут решать, пускать ли мою программу в систему, то передумал (такой печальный опыт саботажа у меня тоже был, но в области автотранспорта)

киньте пожалуйста тестовую ВСД.
хоз. субъект ИНН 2222819926 GUID 1ee0373d-c9cb-4c26-aeb9-39ae4c5c24f1 GUID f88a0095-e536-4494-aa6c-36e9dbf1e40f
Организация ООО "Прайм" Алтайский край, г. Барнаул, Попова ул., дом № 1
Zoeh


Зарегистрирован: 07/08/2017 13:16:55
Сообщений: 100
Оффлайн

А есть люди кто через curl пытается сделать?
VoditelKobyly


Зарегистрирован: 16/08/2017 10:22:55
Сообщений: 102
Оффлайн

1. Кто-нибудь может прояснить про поддержку GLN во второй версии? Где брать инфу на эту тему?
2. При добавлении площадок операцией ModifyEnterpriseOperation нужно указывать GUIDы из справочника РСХН (согласно документации),
где брать этот справочник или как получать из него инфу.
 
Индекс форума » Компонент МЕРКУРИЙ
Перейти:   

Powered by JForum 2.1.8 © JForum Team