Заготовка интеграции 1С со сторонним приложением (HTTP, JSON)

12.10.23

Интеграция - WEB-интеграция

Пример реализации обмена между 1С и сторонним приложением через HTTP-сервис с запросами/ответами в формате JSON. План обмена для регистрации изменений. Валидация/разбор входящих запросов с помощью XDTO. Предложенный механизм обмена можно взять целиком, если он “ложится” на вашу задачу или можно надергать примеры точно рабочего кода.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Заготовка интеграции 1С со сторонним приложением (HTTP, JSON):
.dt 64,86Kb
103
103 Скачать (1 SM) Купить за 1 850 руб.

К публикации приложена выгрузка небольшой базы (dt), в которой реализован полноценный обмен со сторонним приложением через HTTP-сервис и JSON. Чем конфигурация может быть полезна:

  • Предложенный механизм обмена можно взять целиком, если он “ложится” на вашу задачу (см. описание механизма ниже).

  • Можно надергать примеры точно рабочего кода.

  • Посмотреть/пощупать работу с отдельными механизмами 1С (JSON, XDTO, планы обмена, HTTP-сервисы).

В конфигурации два справочника «Номенклатура», «Контрагенты», и один документ «Заказ клиента». Это простые объекты, набросок логики учета.

Механизм обмена реализуется с помощью:

  • Плана обмена «мойОбмен» – регистрирует изменения по справочникам и документу.

  • HTTP-сервиса «мойСервисОбмена» – выдает зарегистрированные изменения, позволяет создавать в базе объекты по запросам в формате JSON.

  • Пакет XDTO «моиСтруктурыДанныхОбмена» – описывает формат входящих запросов JSON для HTTP-сервиса. Позволяет проверять их правильность. Для документа «Заказ клиента» есть также описание/проверка табличной части.

  • Обработка «мояОбработкаОбменаJSON». В модуле объекта обработки реализована работа с планом обмена, JSON и т.д. в виде API. Отдельные операции этого API можно протестировать, открыв форму обработки. HTTP-сервис использует эту обработку для разбора запросов, формирования ответов.

API HTTP-сервиса

Конфигурация 1С умеет выдавать все зарегистрированные изменения и удалять регистрацию изменений (если изменения успешно загружены в приложение, с которым интегрируемся). Также есть возможность создавать/изменять отдельные элементы справочников и документы.

  • GET /hs/my_exch/changes
    Получение всех измененных объектов, а также номера сообщения обмена.

  • GET /hs/my_exch/clear/{msg}
    Удаление регистрации изменений по принятому сообщению с номером {msg}.

  • POST /hs/my_exch/product
    Создание/изменение элемента спр-ка Номенклатура.

  • POST /hs/my_exch/client
    Создание/изменение элемента спр-ка Контрагенты.

  • POST /hs/my_exch/order
    Создание/изменение документа Заказ клиента.

Объекты синхронизируются по УИД. Примеры запросов и ответов можно увидеть, развернув базу и открыв обработку (можно даже не публиковать HTTP-сервис).

Проверено на платформе 8.3.22.2239

HTTP JSON XDTO обмен данными синхронизация план обмена обработка обмена

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь Платформа 1С v8.3 Конфигурации 1cv8 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    17796    19    22    

17

Сайты и интернет-магазины Интеграция WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Интеграция 1С и Битрикс 24. Разработка имеет двухстороннюю синхронизацию 1С и Bitrix24 задачами. Решение позволяет создавать пользователя в 1С из Битрикс24 и наоборот. Данная разработка технически подходит под все основные конфигурации линейки продуктов 1С:Предприятие 8.3 (платформа начиная с 8.3.23). При приобретении предоставляется 1 месяц бесплатных обновлений разработки. Доступна демо-версия продукта с подключением Вашего Битрикс24

5040 руб.

04.05.2021    19880    13    17    

17

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ, места стоянок по геозонам. 3. Отчеты по данным загруженным в регистры сведений. 4. Предусмотрена автоматическая загрузка данных в фоновом режиме (условия работы данной загрузке читайте в описании товара) Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен. Любой заинтересованный пользователь, имеет возможность скачать демо-версию расширения.

22656 руб.

25.05.2021    14433    42    8    

18

WEB-интеграция Программист Руководитель проекта Платформа 1С v8.3 Конфигурации 1cv8 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки.

24000 руб.

27.09.2024    1195    1    0    

3
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. VVi3ard 52 13.10.23 12:55 Сейчас в теме
Интересно, было бы здорово если бы чуть рассказал про xdto+json.

Вроде из коробки xdto больше для soap, интересно как это адаптировал
Sergik_D; +1 Ответить
2. wonderboy 387 13.10.23 20:38 Сейчас в теме
(1) Да за меня уже все рассказали :)
https://infostart.ru/1c/articles/1924346/

вот в эту статью подглядывал, когда свои наработки делал.
YA_418728146; +1 Ответить
3. Unknown31 14.10.23 11:09 Сейчас в теме
Удаление регистрации get методом …
4. wonderboy 387 14.10.23 12:10 Сейчас в теме
(3) Спасибо за замечание! Для теста удобно было :) В проде у нас POST.
5. John_d 5891 14.10.23 22:35 Сейчас в теме
Еще можно использовать запросы
PUT - для обновления всех данных с формы
PATCH - для обновления определенных данных
DELETE - для удаления данных
user1481466; wonderboy; markers; +3 Ответить
6. kep81@mail.ru 21.10.23 22:13 Сейчас в теме
Можно вопрос не понятен запрос как и откуда взялся
Запрос.Текст =
"ВЫБРАТЬ
| УНИКАЛЬНЫЙИДЕНТИФИКАТОР(Изменения.Ссылка) КАК id,
| Т.Ссылка ЕСТЬ NULL КАК deleted,
| Т.ПометкаУдаления КАК deletionMark,
| Т.Наименование КАК title,
| Т.Артикул КАК art
|ИЗ
| Справочник.Номенклатура.Изменения КАК Изменения
| ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Т
| ПО Изменения.Ссылка = Т.Ссылка
|ГДЕ
| Изменения.Узел = &Узел";

что за "Справочник.Номенклатура.Изменения КАК Изменения"
7. wonderboy 387 24.10.23 13:54 Сейчас в теме
(6) Это справочник Номенклатура, таблица изменений. Такая создается для любого объекта конфигурации, который включается в какой-нибудь план обмена.

Можете вот здесь подробнее посмотреть:

http://howknow1c.ru/programmirovanie-1c/tablicy-plana-obmena-1s.html

https://its.1c.ru/db/pubapplied/content/385/hdoc
8. kep81@mail.ru 28.10.23 10:59 Сейчас в теме
(7)Спасибо разобрался. А еще 1 вопрос перечисления как отправляете? Изменений как я понял у них не предусмотрено))) Отправлять каждый раз просто по умолчанию. Тоже кажется не комильфо.
9. wonderboy 387 28.10.23 13:33 Сейчас в теме
(8) Ээ. Не совсем понял. Перечисления это неизменяемый набор значений. Он отдельно не отправляется. Если речь о значении какого-то реквизита, имеющего тип перечисления, то я обычно отправляю значение такого реквизита в виде строки, соответствующий значение перечисления.
Оставьте свое сообщение