5.5 KiB
5.5 KiB
Для получения данных о факте выполнения работ из системы Cropwise через API и сохранения их в справочнике 1С, потребуется:
- Вызвать REST-метод Cropwise API.
- Получить JSON-ответ.
- Обработать данные.
- Сохранить в справочник 1С.
Ниже пример кода на языке 1С:Предприятие для внешней обработки или модуля управляемого приложения.
🧾 Предположим:
- Cropwise предоставляет эндпоинт
/api/v1/work-completion
для получения фактов выполнения работ. - Используется авторизация по токену (
Authorization: Bearer <token>
). - Ответ в формате JSON.
- Данные содержат поля:
id
,taskName
,completionDate
,worker
.
✅ Пример кода (внешняя обработка)
Процедура ПолучитьФактыВыполненияРабот(Команда)
// Параметры подключения
URL = "https://api.cropwise.com/api/v1/work-completion";
Токен = "ваш_токен_авторизации";
// Подготовка HTTP-запроса
HTTPСоединение = Новый HTTPСоединение("api.cropwise.com", 443, , , СертификатПровайдераHTTPS());
Запрос = Новый HTTPЗапрос(URL);
Запрос.ДобавитьЗаголовок("Authorization", "Bearer " + Токен);
Запрос.Метод = "GET";
// Выполнение запроса
Ответ = HTTPСоединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
// Парсинг JSON
JSONТекст = Ответ.ПолучитьПоток().Читать(БезПробелов).ПолучитьСтроку();
JSONДокумент = Новый JSONДокумент;
JSONДокумент.Прочитать(JSONТекст);
// Корневой массив
Результаты = JSONДокумент.Корень;
Для Каждого ЭлементJSON Из Результаты Цикл
// Создание элемента справочника
ЭлементСправочника = Справочники.ФактыВыполненияРабот.СоздатьЭлемент();
ЭлементСправочника.Код = JSONДокумент.ПолучитьЗначение("id", ЭлементJSON);
ЭлементСправочника.Наименование = JSONДокумент.ПолучитьЗначение("taskName", ЭлементJSON);
ЭлементСправочника.Дата = Формат(Дата(СокрЛП(Сред(JSONДокумент.ПолучитьЗначение("completionDate", ЭлементJSON), 1, 19))), "ДФ=ГГГГ-MM-ДД");
ЭлементСправочника.Исполнитель = JSONДокумент.ПолучитьЗначение("worker", ЭлементJSON);
// Запись элемента
Попытка
ЭлементСправочника.Записать();
Исключение
Прервать; // Логировать ошибку
КонецПопытки;
КонецЦикла;
Иначе
Сообщить("Ошибка получения данных: " + Ответ.КодСостояния + " - " + Ответ.ТекстСостояния);
КонецЕсли;
КонецПроцедуры
📁 Структура справочника "ФактыВыполненияРабот"
- Код — строка (например, идентификатор из Cropwise).
- Наименование — строка (название задачи).
- Дата — дата (дата завершения работы).
- Исполнитель — строка (ФИО или ID исполнителя).
🔐 Авторизация
Если используется OAuth или другой способ аутентификации, то перед этим может понадобиться получить токен через отдельный запрос.
🧪 Советы по тестированию
- Включите в код вывод JSON-ответа в журнал или файл для отладки.
- Убедитесь, что сертификат HTTPS корректно обрабатывается (особенно если стоит прокси/SSL-инспекция).
- Можно использовать объект
ЗаписьЖурналаРегистрации()
для логирования успешных/ошибочных записей.
🔄 Расширение функционала
- Возможна синхронизация только новых записей (по дате/ID).
- Добавление периодического запуска через регламентное задание.
Если у тебя есть конкретные данные (формат ответа, структура JSON, метод API), могу адаптировать код под точную специфику.