Область применения
Расширение позволяет легко организовать доступ к данным 1С. Отдать данные из 1С возможно без единой строки программного кода. Достаточно конструктора схемы компоновки данных (СКД).
Может принимать и отдавать данные по протоколу json-rpc или из адресной строки браузера.
Расширение превращает 1С в безголовую систему управления сайтом (Headless CMS).
Добавление новых методов не требует изменения конфигурации. Код хранится в справочнике. При желании код можно поместить в общий модуль расширения, а из справочника правил вызывать нужные процедуры.
Поддерживает работу с планами обмена и может отдавать только изменённые данные.
Архив поставки содержит демо базу, где показаны варианты организации данных.
Технические требования
Расширение совместимо со всеми конфигурациями на платформе 8.3, которые возможно запустить с управляемыми формами.
Полностью открытый код, не требует наличия каких-либо объектов метаданных.
Функциональные возможности
В расширении описываются правила обмена. В каждом правиле указываются поля, а также алгоритмы чтения из 1С, записи и отправки. Корреспондирующий системы должны поддерживать такие же правила.
В одной базе возможно описать несколько наборов правил. Каждый набор представляет собой api. Правила объединяются в наборы с помощью плана синхронизации.
Обмен только изменёнными данными возможен при использовании планов обмена. Для этого в каждом правиле необходимо указать объект метаданных и узел обмена для отслеживания изменений.
Поддерживается три варианта работы
- API с передачей параметров в адресной строке.
- API по протоколу json-rpc. При таком подходе адрес для обращения всегда один, а имя правила и параметры передаются в запросе json-rpc.
- Подход web hook подразумевает отправку данных по инициативе системы. Может отправлять накопленные данные по расписанию или по запросу. Такой подход удобен, когда система «знает» какие данные нужны корреспондирующей системе. Обмен идёт по протоколу json-rpc. Получение подобных запросов не отличается от пункта 2. Отправка требует указания адреса корреспондирующей системы.
Работа с из браузера
Адрес для получения данных в общем виде выглядит так:
https://server1s/baza/hs/lemurr/data/80213a3c-6a2d-11ef-825d-f43bd8ccef6b/json/100/200?k=123456&n=1
где:
- https — протокол. Для обеспечения безопасности расширение требует защищенный протокол, шифрующий и адресную строку и тело запроса.
- server1s — имя web сервера, на котором опубликован http сервис.
- baza — имя базы 1С на web сервере
- hs — признак того, что обращаемся к http сервису
- lemurr — имя http сервиса
- data — признак того, что требуется получить данные. Вместо этого параметра можно указать md для получения описания api.
- 80213a3c-6a2d-11ef-825d-f43bd8ccef6b — идентификатор правила синхронизации.
- json — формат в котором требуется вернуть данные. Возможно указать html, тогда решение вернёт данные в виде html страницы. Возможность получить html предусмотрена только для отладки, в практической работе смысла не имеет.
- 100 — количество записей, которое должен вернуть алгоритм.
- 200 — с какой записи начать отсчёт. Этот параметр предназначен для постраничного просмотра.
После вопросительного знака идут параметры
- k — ключ плана синхронизации. Указывается в справочнике планов синхронизации. По этому ключу расширение находит план, с которым связаны правила синхронизации.
- n — признак того, что необходимо вернуть только изменённые данные. Продукт снимет признак изменённости с отданных объектов. Для повторного получения потребуется установить этот флаг в базе 1С.
Получить описание API можно запросом такого вида: https://server1s/baza/hs/lemurr/md/json?k=123456.
В удобочитаемом для человека виде описание можно получить запросом: 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С.
{"Наименование": "1С:Упрощенка 8",
"Артикул": "4601546048264",
"ПолноеНаименование": "1С:Упрощенка 8"}
Алгоритм исполнит скрипт обработки загрузки, передав ему полученные данные.
JSON-RPC
Работа в формате json-rpc идет только POST запросами. Адрес всегда один.
https://server1s/baza/hs/lemurr?k=123456
123456 — ключ плана синхронизации.
Получить описание API можно, отправив запрос вида
{
"jsonrpc": "2.0",
"method": "__описание__",
"params": null,
"id": "произвольный идентификатор"
}
__описание__ — зарезервированное слово для получения описания API.
Видеоинструкция по установке расширения
Техническая поддержка и обновления
Бесплатный период техподдержки составляет 1 месяц со дня покупки.
Также после приобретения вы получаете 6 месяцев бесплатных обновлений.
По окончании бесплатного периода вы можете приобрести услугу технической поддержки с доступом к обновлениям на платной основе.
Проверить наличие обновлений можно в личном кабинете. Если обновления недоступны - загрузить новую версию можно после покупки обновлений/технической поддержки.
Задать вопрос по программе можно по кнопке "Техподдержка" на странице описания.
При создании тикета необходимо предоставить:
- Номер заказа
- Описание вопроса. Если это ошибки - напишите порядок ваших действий с программой, которые к ней привели (приложите видео/скриншоты/отчеты об ошибке)
- Точную конфигурацию 1С, и версию платформы, на которой используете купленное решение (наименование и версию 1С можно взять из раздела "О программе"), версию купленной программы.
К созданной заявке подключается специалист. Дальнейшее обсуждение проблемы будет проходить в тикете техподдержки. Стандартный срок реакции - 24 часа в рабочие дни с момента обращения.