
Платформа «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-сервиса в конфигураторе
- Откройте конфигурацию в режиме Конфигуратор.
- В дереве объектов найдите раздел «Общие» → «HTTP-сервисы».
- Нажмите правой кнопкой и выберите «Добавить».
- Укажите имя сервиса (например, ОстаткиТоваров).
- В свойствах укажите пространство имён и отметьте галочку «Использовать».
Далее необходимо описать логику обработки запроса в модуле сервиса. Например, для 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:
- Установите расширение 1C:Enterprise Web Extension.
- В консоли управления IIS создайте новый сайт или виртуальный каталог.
- Укажите путь к папке с файлами публикации (обычно содержит default.vrd, ibases.vrd).
- Назначьте права на папку для учётной записи пула приложений.
Для Apache:
- Убедитесь, что установлен модуль mod_1c.
- В конфигурационном файле укажите директивы, связывающие URL-путь с каталогом базы.
- Перезапустите сервер.
После этого база будет доступна по адресу, например:
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, через который можно получать и передавать данные в реальном времени. Ключевые условия успеха — корректная обработка параметров, соблюдение форматов и настройка прав доступа. После публикации базы и тестирования запросов ваш сервис будет готов к использованию в рабочих процессах.