Область применения
Доступ к данным 1С через СКД, без единой строки кода
Поддержка JSON-RPC и запросов из браузера
Превращение 1С в Headless CMS
Методы добавляются без изменения конфигурации
Код можно разместить в общем модуле или справочнике
Работа с планами обмена и отдача только изменённых данных
В поставке — демо-база с примерами и схемами
Технические требования
Расширение совместимо со всеми конфигурациями на платформе 8.3, которые возможно запустить с управляемыми формами
Внимание! Расширение не работает на БАЗОВЫХ конфигурациях. (в базовых конфигурациях 1С отсутствует возможность подключения расширений)
Полностью открытый код.
Не требует наличия каких-либо объектов метаданных
Поддерживается три варианта работы
API
- • API с передачей параметров в адресной строке.
- • Получить описание API можно запросом такого вида: https://server1s/baza/hs/lemurr/md/json?k=123456.
API по протоколу json-rpc
- • При таком подходе адрес для обращения всегда один, а имя правила и параметры передаются в запросе json-rpc.
Web hook
- • Подход web hook подразумевает отправку данных по инициативе системы.
- • Может отправлять накопленные данные по расписанию или по запросу.
- • Такой подход удобен, когда система «знает» какие данные нужны корреспондирующей системе.
Функциональные возможности обмена данными
Правила обмена
- Описание правил обмена в расширении
- Указание полей данных для каждого правила
- Алгоритмы чтения из 1С, записи и отправки
- Поддержка одинаковых правил в корреспондирующих системах
Наборы правил (API)
1. Множество наборов
В одной базе возможно описать несколько наборов правил, каждый из которых представляет собой отдельное API.
2. План синхронизации
Правила объединяются в наборы с помощью плана синхронизации для гибкой настройки сценариев обмена.
3. Гибкая конфигурация
Возможность создания различных комбинаций правил под разные бизнес-процессы.
Обмен изменениями
Только изменения
Система поддерживает обмен только изменёнными данными при использовании планов обмена.
Настройка отслеживания
Для каждого правила необходимо указать объект метаданных и узел обмена для отслеживания изменений.
Эффективность
Минимизация передаваемых данных за счёт отправки только актуальных изменений.
- Адрес для получения данных в общем виде выглядит так:
https://server1s/baza/hs/lemurr/data/80213a3c-6a2d-11ef-825d-f43bd8ccef6b/json/100/200?k=123456&n=1- Где:
- https — протокол (обязательно защищенный)
- server1s — имя web сервера
- baza — имя базы 1С на web сервере
- hs — признак обращения к http сервису
- lemurr — имя http сервиса
- data — признак получения данных (можно заменить на md для описания API)
- 80213a3c-6a2d-11ef-825d-f43bd8ccef6b — идентификатор правила синхронизации
- json — формат возвращаемых данных (можно указать html для отладки)
- 100 — количество возвращаемых записей
- 200 — начальная позиция для постраничного просмотра
- Параметры после ?:
- k=123456 — ключ плана синхронизации
- n=1 — флаг возврата только измененных данных
- Примеры запросов:
- Описание API в JSON:
https://server1s/baza/hs/lemurr/md/json?k=123456 - Описание API в HTML:
https://server1s/baza/hs/lemurr/md/html?k=123456 - Отправка данных:
https://server1s/baza/hs/lemurr?k=123456
- Пример curl-запроса для записи данных:
curl -X POST -T "zapis.json" https://server1s/baza/hs/lemurr/data/80213a3c-6a2d-11ef-825d-f43bd8ccef6b/json?k=123456- Содержимое файла zapis.json:
-
{ "Наименование": "1С:Упрощенка 8", "Артикул": "4601546048264", "ПолноеНаименование": "1С:Упрощенка 8" } - Алгоритм исполнит скрипт обработки загрузки, передав ему полученные данные.
- Работа в формате JSON-RPC осуществляется только через POST-запросы.
- Базовый адрес для всех запросов:
https://server1s/baza/hs/lemurr?k=123456- Где 123456 — ключ плана синхронизации.
- Пример запроса для получения описания API:
-
{ "jsonrpc": "2.0", "method": "__описание__", "params": null, "id": "произвольный идентификатор" } - __описание__ — зарезервированное слово для получения описания API.
Видеодемонстрация
Демонстрация решения. Посмотрите короткое видео, в котором рассказываем про основные функции продукта.
Установка решения в базу 1С, публикация на web сервере, настройка Apache, проверка работоспособности.
Также важно учесть технические требования: решение работает на платформе 8.3.16 и новее.
Не подходит для базовых версий
Пример записи данных в 1С
Пример асинхронного вызова метода API
Проверено на следующих конфигурациях и релизах:
- Документооборот КОРП, релизы 2.1.28.14
- 1С:ERP Управление предприятием 2, релизы 2.5.7.336
- Бухгалтерия предприятия КОРП, редакция 3.0, релизы 3.0.190.22
Вступайте в нашу телеграмм-группу Инфостарт