К статье
Практический материал

Разработка и Конфигурация · 11 мин

Что такое веб-сервисы 1С и как их использовать

Что такое веб-сервисы в 1С: HTTP и SOAP, публикация на сервере, настройка, типичные ошибки и безопасность. Практическое руководство для интеграции.

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

Практическое значение веб-сервисов простое: это универсальный «мост» между 1С и остальным IT-ландшафтом компании. Интернет-магазин получает актуальные остатки товаров, транспортная система передаёт статусы доставки, а бухгалтерская программа принимает платежи из банка — всё это реализуется через веб-сервисы без ручного обмена файлами.

Платформа 1С:Предприятие поддерживает два направления работы: публикацию собственных веб-сервисов (когда 1С выступает сервером) и вызов внешних веб-сервисов (когда 1С выступает клиентом). Оба направления настраиваются штатными средствами конфигуратора и не требуют сторонних компонентов.

Что такое веб-сервис и какие типы поддерживает 1С

Веб-сервис — это программный интерфейс, доступный по сети через стандартизированные протоколы. Клиент отправляет запрос, сервер выполняет операцию и возвращает ответ в структурированном формате. В контексте 1С различают два основных типа.

Первый тип — SOAP-сервисы. Это классический подход: описание сервиса публикуется в формате WSDL, данные передаются в виде XML-сообщений строгой структуры. SOAP подходит для интеграций, где важна формальная спецификация контракта: банковские системы, государственные сервисы, корпоративные шины данных.

Второй тип — HTTP-сервисы (часто их называют REST-подобными). Они работают напрямую с HTTP-запросами: методы GET, POST, PUT, DELETE, произвольные URL-шаблоны и форматы данных — JSON, XML или любые другие. HTTP-сервисы гибче, легче отлаживаются и стали основным выбором для интеграции с сайтами и мобильными приложениями.

Сравнение вариантов

SOAP веб-сервис

Строгий контракт WSDL, автоматическая генерация клиентов. Подходит для формальных корпоративных интеграций, но сложнее в отладке.

HTTP-сервис

Гибкие URL и форматы (JSON), простая отладка браузером или Postman. Оптимален для сайтов, мобильных приложений и внутренних интеграций.

OData

Автоматический REST-интерфейс к данным конфигурации без программирования. Удобен для чтения справочников и документов, но ограничен стандартными операциями.

Как устроен обмен: архитектура публикации

Платформа 1С сама по себе не принимает сетевые запросы напрямую. Для приёма вызовов извне используется веб-сервер — Apache или IIS, на котором публикуется информационная база. Веб-сервер принимает HTTP-запрос, передаёт его модулю расширения платформы, а тот вызывает код веб-сервиса внутри 1С.

Цепочка выглядит так: внешняя система → веб-сервер (Apache/IIS) → расширение веб-сервера 1С → рабочий процесс сервера 1С или файловая база → код операции веб-сервиса → ответ клиенту. Понимание этой цепочки критично для диагностики: ошибка может возникнуть на любом из звеньев.

Ошибка 404 при обращенииСервис не опубликован или неверный URL

Проверить публикацию базы на веб-сервере и имя сервиса в конфигурации

Ошибка 401/403Проблема с аутентификацией

Проверить пользователя, пароль и права на объект веб-сервиса

Ошибка 500Ошибка в коде операции 1С

Смотреть журнал регистрации и технологический журнал

Публикация собственного веб-сервиса из 1С

Чтобы предоставить данные внешней системе, в конфигураторе создаётся объект «Веб-сервис» или «HTTP-сервис». В нём описываются операции, параметры и код на встроенном языке, который будет выполняться при вызове. Затем база публикуется на веб-сервере с включённой опцией публикации веб-сервисов.

Обработчик HTTP-сервиса получает объект HTTPСервисЗапрос, из которого доступны параметры строки запроса, заголовки и тело. Ответ формируется объектом HTTPСервисОтвет с кодом состояния и телом, например JSON:

Функция ПолучитьОстаток(Запрос)

Артикул = Запрос.ПараметрыЗапроса.Получить("article");

// ... запрос остатка из базы ...

Ответ = Новый HTTPСервисОтвет(200);

Ответ.УстановитьТелоИзСтроки(СформироватьJSON(Остаток));

Возврат Ответ;

КонецФункции

Вызов внешних веб-сервисов из 1С

Обратная задача — обратиться из 1С к стороннему сервису. Для SOAP-сервисов в конфигурации создаётся объект «WS-ссылка», указывающая на WSDL-описание; платформа автоматически генерирует прокси-объект с типизированными методами. Это удобно, когда у внешнего сервиса есть формальная спецификация.

Для произвольных HTTP-запросов используются объекты HTTPСоединение и HTTPЗапрос. Так код 1С может отправить JSON на сайт, получить курс валют, передать заказ в службу доставки или вызвать любой REST API. Таймауты, заголовки авторизации и защищённое соединение настраиваются программно.

bsl
Соединение = Новый HTTPСоединение("api.example.ru", 443,,,, 30, Новый ЗащищенноеСоединениеOpenSSL);
Запрос = Новый HTTPЗапрос("/v1/orders");
Запрос.Заголовки.Вставить("Content-Type", "application/json");
Запрос.УстановитьТелоИзСтроки(ТелоJSON);
Ответ = Соединение.ОтправитьДляОбработки(Запрос);

При вызове внешних сервисов важно предусмотреть обработку недоступности: сетевые сбои, превышение таймаута, невалидный ответ. Обертывайте вызовы в попытку/исключение и логируйте результат — иначе интеграция будет молча терять данные.

Безопасность и аутентификация

Опубликованный веб-сервис — это открытая точка входа в базу 1С, поэтому вопросы безопасности здесь первостепенны. Минимальный набор мер: доступ только по HTTPS, отдельный пользователь 1С с минимально необходимыми правами и ограничение доступа на уровне веб-сервера (по IP или сертификатам), если сервис предназначен для конкретной системы.

Для аутентификации чаще всего используют базовую аутентификацию по логину и паролю пользователя 1С, передачу токена в заголовке запроса или проверку ключа внутри кода обработчика. Не храните пароли в открытом виде в коде внешних систем и не используйте для интеграций учётные записи с правами администратора.

Типичные ошибки и ограничения

На практике большинство проблем с веб-сервисами 1С связано не с кодом, а с инфраструктурой: неподходящая версия веб-сервера, незарегистрированный модуль расширения, неверные права на каталог публикации. Поэтому диагностику следует начинать с проверки доступности базы через веб-клиент — если она не открывается, веб-сервисы работать не будут.

Типичные ошибки
01
Публикация сервиса под пользователем с полными правами — компрометация пароля даёт полный доступ к базе
02
Отсутствие обработки исключений в обработчике — клиент получает 500 вместо понятного ответа, а ошибка теряется
03
Игнорирование таймаутов при вызове внешних API — сеанс 1С зависает при недоступности удалённого сервера
04
Передача больших объёмов данных одним запросом — превышение лимитов веб-сервера и обрыв соединения
05
Изменение структуры ответа без версионирования — внешние системы ломаются после обновления конфигурации

Из ограничений стоит помнить: в файловом режиме работы публикация возможна, но производительность под нагрузкой существенно ниже клиент-серверного варианта. Кроме того, длительные операции внутри обработчика блокируют соединение — тяжёлые задачи лучше выполнять асинхронно через фоновые задания.

Контрольные точки

Как проверить результат

Доступность сервиса
Норма

Запрос из браузера или Postman возвращает ожидаемый код 200 и корректное тело

Тревожный признак

Код 404, 401 или 500, пустой ответ

Права доступа
Норма

Под тестовым пользователем доступны только нужные операции

Тревожный признак

Сервис отвечает без аутентификации или пользователь видит лишние данные

Устойчивость
Норма

При неверных параметрах сервис возвращает осмысленную ошибку с кодом 4xx

Тревожный признак

Любая некорректная строка вызывает код 500 и запись об ошибке в журнале

Когда веб-сервисы не нужны: альтернативы

Веб-сервис — не единственный способ интеграции. Для простого чтения данных часто достаточно автоматического интерфейса OData, который публикуется одной галочкой и не требует программирования. Для обмена между базами 1С удобны планы обмена и EnterpriseData, а для интеграции с внешними очередями — брокеры сообщений.

Маршрут решения

Как выбрать действие

Внешней системе нужно только читать справочники и документы 1СВключите публикацию OData — код писать не потребуется
Нужна гибкая логика, проверки и нестандартные операцииСоздайте HTTP-сервис с собственными обработчиками
Интеграция с формальной системой, требующей WSDL-контрактИспользуйте классический SOAP веб-сервис
Обмен между двумя базами 1С по расписаниюРассмотрите планы обмена вместо веб-сервисов

Выбор зависит от требований к реальному времени, объёма данных и компетенций команды. Веб-сервисы выигрывают там, где нужен мгновенный отклик и произвольная логика; файловый и очередной обмен проще в сопровождении, но работает с задержкой.

Итог

Что важно запомнить

Веб-сервисы 1С — штатный способ интеграции через SOAP или HTTP. Публикация требует веб-сервера Apache/IIS, минимальных прав пользователя и обязательного HTTPS. Для простого чтения данных рассмотрите OData, для обмена между базами 1С — планы обмена.

Частые вопросы

Чем HTTP-сервис отличается от веб-сервиса SOAP в 1С?

SOAP-сервис работает по строгому контракту WSDL с XML-сообщениями и подходит для формальных корпоративных интеграций. HTTP-сервис даёт полный контроль над URL, методами и форматом данных (обычно JSON), проще в отладке и лучше подходит для сайтов и мобильных приложений.

Можно ли опубликовать веб-сервис без веб-сервера?

Нет. Приём запросов извне всегда выполняет веб-сервер (Apache или IIS) с модулем расширения 1С. Платформа сама по себе сетевые подключения для веб-сервисов не слушает.

Работают ли веб-сервисы в файловой базе?

Да, публикация возможна и для файлового режима. Однако при параллельных обращениях производительность заметно ниже, чем в клиент-серверном варианте, поэтому для нагруженных интеграций рекомендуется сервер 1С:Предприятия.

Как посмотреть, почему веб-сервис возвращает ошибку 500?

Откройте журнал регистрации в конфигураторе или режиме предприятия — ошибки кода обработчика фиксируются там. Для детальной диагностики на уровне платформы дополнительно включают технологический журнал.

Что такое OData в 1С и нужен ли для него код?

OData — это автоматически генерируемый REST-интерфейс к данным конфигурации. Достаточно включить его публикацию и указать состав объектов: внешние системы смогут читать и изменять данные стандартными HTTP-запросами без единой строки кода.

Как защитить веб-сервис от несанкционированного доступа?

Используйте HTTPS, создайте отдельного пользователя 1С с минимальными правами только на нужные операции, при необходимости ограничьте доступ по IP на уровне веб-сервера и добавьте проверку токена в коде обработчика.