// =============================== //Добавляем задержку в секундах, что бы Curl сохранил файл и следующие операции не использовали старые или несуществующие данные Процедура глЗадержка(КоличествоСекунд) Экспорт
// =============================== //Формируем строку запроса по API для выполнения в Curl Функция глСформироватьКурлСтроку(Конт,Метод,Параметр1 = "",Параметр2 = "") Экспорт
Если ПустоеЗначение(urni) = 1 Тогда Сообщить("Поле Номер замовлення в urn не заповнене !","!"); СтатусВозврата(0); Возврат; КонецЕсли;
ЗапуститьПриложение(глСформироватьКурлСтроку(Контекст,"order_list_get",СокрЛП(urni))); // Отправляем номер заказа - urni //если на сделать задержку на выолнение скрипта Curl (а именно его мы и запускаем), //то выполнение кода опередит сохранение ответа в файл, что в свою очередь приведет либо к ошибке (если файла ещё нет), //либо прочитаются старые данные файла глЗадержка(3); глПересохранениеОтветаiFurn("order.json");
Стоит задача организовать обмен и получение данных через API. Проблема с передачей параметров FromData. При этом совершенно для меня непонятно почему так. 1. В первом случае передается 1 параметр и отрабатывается все нормально. (ТекстЗапроса_article_by_code_firm) 2. Во втором случаи тоже один параметр, запрос отрабатывается но пишет - "error": "Set right format [id] - put techId pro!" ... что пишет я понимаю, но как подать параметр другого типа данных не знаю. (ТекстЗапроса_order_list_get) 3. Передаю 2-ва параметра. Вообще запрос не отрабатывается, постоянно ошибка. (ТекстЗапроса_articles_firm)
Буду признателен если поможете. Для 7.7 либо тут уже домучать как то, либо прийдется что-то внешнее подключать. Задача примитивная, но в стандартной 7-ке с инструментами для ее решения не очень.
popenko @ Сегодня, 11:52
, Не помогло ... мне кажется, что проблема в самом объекте WinHttp = СоздатьОбъект("WinHttp.WinHttpRequest.5.1") ... точнее в правильной передаче параметров в него.
уже на этом этапе возвращается СтрокаОтветаНаЗапрос = WinHttp.ResponseText(); строка с краказябрами которые нельзя конвертировать. То есть мне кажется, что в самом объекте уже перекодируется на нечитаемую фигню.
После примененного выше совета разница не велика )
{"status":"ok","error":"","data":{"client_1":{"phone":"+38 (097) 875-26-44","name":"???»N?N???N? 1","ifp_id":"125","code":null}}} - до {"status":"ok","error":"","data":{"client_1":{"phone":"+38 (097) 875-26-44","name":"???N?N???N? 1","ifp_id":"125","code":null}}} - после
Просто убрало один символ функцией
Прийдется либо curl либо другой объект пробовать (((
Тоже ничего не меняет. Меня смущает само представление в котором я получаю ответ "name":"???»N?N???N? 1" (там должно быть "name": "Клієнт 1"), представление какое то, как будто уже, что то перекодировываться пыталось.
Цитата(Vofka @ 22.06.22, 9:59)
Что за Монитор?
ну в отладчике я имел ввиду ... при отладке кода глянул
Указать кодировку для Объекта типа текст можно (ну и только, что попробовал на всякий случай), по Монитору четко видно, что сама функция WinHttp.ResponseText() возвращает уже в кракозябрах. Я так понимаю как то надо указать напрямую до запроса, но не могу понять как
Добрый день. Есть задача соединить 1С 7.7 и сайт посредством API. Ранее API в 1С никогда не использовал. Воспользовался гуглом, нашел, как ни странно, не много информации, но все же. Накидал в 1С небольшую процедурку:
Статус = СокрЛП(WinHttp.Status); Описание = СокрЛП(WinHttp.StatusText); Сообщить(СтрокаОтветаНаЗапрос); Исключение Сообщить("Ошибка: "+ОписаниеОшибки(),"!"); КонецПопытки; КонецПроцедуры
Тело запроса грузится из переменной - ИмяФайлаBody. Ответ получаем в строке Сообщения (если ответ не будет слишком велик и не выдаст ошибку, это не проблема) ну и записывваем в файл test_return.json.
Ещё хотел поинтересоватся, кто уже работал с API. Есть какие то готовые парсеры для строки или каждый API по разному разбирается, нет каких то статичных якорей и т.д. В общем посоветуйте как лучше разбирать
Обновил с редакции 1.2 до 2.0. Поработали 1 день, нашел кучу недоработок и откатил назад. Конфигурация пока не готова для нормального использования, ставить не советую бухгалтерия вас задолбет.
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!