Публикация HTTP-сервиса в 1С: пошаговое руководство

Платформа «1С:Предприятие» поддерживает создание и публикацию HTTP-сервисов — специальных программных модулей, которые позволяют внешним системам взаимодействовать с информационной базой через стандартный протокол HTTP. Это ключевой механизм для интеграции 1С с веб-сайтами, мобильными приложениями, CRM, ERP и другими решениями. В данной статье подробно описано, как создать и опубликовать HTTP-сервис в 1С https://1cved.ru/arenda-oblachnogo-servera/.

Что такое HTTP-сервис в 1С

HTTP-сервис — это объект конфигурации, который обрабатывает входящие HTTP-запросы (GET, POST и др.) и возвращает ответ в заданном формате (обычно JSON или XML). Он работает как API-интерфейс к данным и функционалу информационной базы. Например, через такой сервис можно получить остатки товаров, создать заказ или проверить статус документа — без прямого доступа к программе 1С.

Такой подход особенно востребован при:

  • Интеграции интернет-магазина с «Управлением торговлей».
  • Обмене данными с мобильными кассами.
  • Автоматизации документооборота с контрагентами.

Этапы создания и публикации

Шаг 1. Создание HTTP-сервиса в конфигураторе

  1. Откройте конфигурацию в режиме Конфигуратор.
  2. В дереве объектов найдите раздел «Общие» → «HTTP-сервисы».
  3. Нажмите правой кнопкой и выберите «Добавить».
  4. Укажите имя сервиса (например, ОстаткиТоваров).
  5. В свойствах укажите пространство имён и отметьте галочку «Использовать».

Далее необходимо описать логику обработки запроса в модуле сервиса. Например, для GET-запроса система должна:

  • Прочитать параметры из URL (например, код товара).
  • Выполнить поиск данных в справочниках или регистрах.
  • Сформировать ответ в формате JSON.
  • Установить заголовок Content-Type со значением application/json.
  • Вернуть HTTP-ответ с кодом 200 (успех) или другим, в зависимости от результата.

Важно: если запрошенный элемент не найден, сервис должен вернуть статус 404, а не пустой ответ.

Шаг 2. Настройка прав доступа

По умолчанию HTTP-сервисы недоступны без аутентификации. Чтобы разрешить вызов:

  • В конфигураторе откройте «Администрирование» → «Пользователи».
  • Найдите пользователя (например, Интеграция), от имени которого будет работать сервис.
  • Назначьте ему роль с правом «Вызов HTTP-сервисов».
  • Убедитесь, что у этого пользователя есть доступ к нужным данным (справочникам, регистрам).
Читать статью  Подъем пола и укладка ламината: преображаем ваш дом

В противном случае при обращении к сервису система вернёт ошибку 401 (неавторизован) или 403 (доступ запрещён).

Шаг 3. Публикация базы на веб-сервере

HTTP-сервис становится доступен только после публикации информационной базы на веб-сервере. Чаще всего используется IIS (Internet Information Services) под Windows или Apache под Linux.

Для IIS:

  1. Установите расширение 1C:Enterprise Web Extension.
  2. В консоли управления IIS создайте новый сайт или виртуальный каталог.
  3. Укажите путь к папке с файлами публикации (обычно содержит default.vrd, ibases.vrd).
  4. Назначьте права на папку для учётной записи пула приложений.

Для Apache:

  1. Убедитесь, что установлен модуль mod_1c.
  2. В конфигурационном файле укажите директивы, связывающие URL-путь с каталогом базы.
  3. Перезапустите сервер.

После этого база будет доступна по адресу, например:
http://ваш-сервер/ib

Шаг 4. Формирование URL для обращения к сервису

Путь к HTTP-сервису строится по шаблону:
http://[адрес]/[путь_публикации]/hs/[имя_сервиса]/[метод]

Например:
http://server/ib/hs/ОстаткиТоваров/ПолучитьОстатки?Код=12345

Здесь:

  • hs — фиксированная часть пути для HTTP-сервисов.
  • ОстаткиТоваров — имя созданного сервиса.
  • ПолучитьОстатки — имя метода в модуле.
  • Код=12345 — параметр запроса.

Эту ссылку можно открыть в браузере или использовать в коде другого приложения.

Особенности работы с данными

При передаче данных важно соблюдать формат:

  • Для GET-запросов параметры передаются в строке URL.
  • Для POST-запросов данные помещаются в тело запроса, обычно в виде JSON.
  • В ответе всегда нужно указывать заголовок Content-Type, например:
    Content-Type: application/json

Если этого не сделать, клиент может некорректно интерпретировать ответ.

Также следует обрабатывать ошибки: если товар не найден, сервис должен вернуть HTTP-статус 404 и соответствующее сообщение, а не пустой ответ.

Безопасность и ограничения

  • Никогда не публикуйте сервисы без аутентификации в открытый интернет.
  • Используйте HTTPS для защиты передаваемых данных.
  • Ограничьте функционал сервиса только необходимыми операциями.
  • Регулярно обновляйте платформу 1С для устранения уязвимостей.
Читать статью  Как выбрать промышленную холодильную установку: ключевые параметры и на что обращать внимание

Заключение

Публикация HTTP-сервиса в 1С — это надёжный способ обеспечить безопасную и стандартизированную интеграцию с внешними системами. При правильной настройке он становится полноценным API, через который можно получать и передавать данные в реальном времени. Ключевые условия успеха — корректная обработка параметров, соблюдение форматов и настройка прав доступа. После публикации базы и тестирования запросов ваш сервис будет готов к использованию в рабочих процессах.