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

На практике WS-ссылка (от англ. Web Service) — это адрес, по которому доступен веб-сервис , позволяющий внешним системам взаимодействовать с вашей базой. Например, отправлять заказы из интернет-магазина в 1С:УТ, синхронизировать справочники с CRM или получать актуальные остатки товаров для сайта. Без правильно настроенных WS-ссылок такие сценарии просто невозможны.

В этой статье мы разберём:

  • 🔹 Что такое WS-ссылки и как они связаны с веб-сервисами в 1С
  • 🔹 Как формируются эти ссылки в разных конфигурациях (файловый/клиент-серверный вариант)
  • 🔹 Типичные ошибки при настройке и способы их устранения
  • 🔹 Примеры использования в реальных бизнес-задачах

Особое внимание уделим разнице между WS-ссылками для публикации на веб-сервере и локальными ссылками для тестирования — это критично для безопасности и стабильности работы интеграций.

📊 С какой целью вы используете WS-ссылки в 1С?
Интеграция с сайтом
Обмен между базами 1С
Подключение внешних сервисов (банки, ЕГАИС и др.)
Ещё не использовал, изучаю тему

1. WS-ссылки в 1С: определение и принципы работы

WS-ссылка — это URL-адрес, по которому внешняя система (например, сайт на PHP, мобильное приложение или другая база 1С) может обратиться к веб-сервису, опубликованному в вашей конфигурации. Сам веб-сервис представляет собой набор методов (функций), которые выполняют конкретные действия: добавление документа, чтение справочника, проверка остатков и т.д.

Технически WS-ссылка состоит из нескольких частей:

  • 🌐 Протокол (http или https) — определяет способ передачи данных.
  • 🖥️ Адрес сервера — домен или IP, где размещён веб-сервис (например, mycompany.ru или 192.168.1.100).
  • 📂 Путь к веб-сервису — включает имя базы и название опубликованного сервиса (например, /hs/Exchange/ws/Exchange.1cws).
  • 🔑 Параметры аутентификации (если требуются) — логин/пароль или токен для доступа.

Пример типичной WS-ссылки для 1С:Управление торговлей:

https://server.mycompany.ru/ut11/ws/Exchange.1cws?wsdl

Здесь:

  • server.mycompany.ru — адрес веб-сервера,
  • /ut11/ — alias (псевдоним) базы 1С:УТ 11,
  • /ws/Exchange.1cws — путь к веб-сервису обмена,
  • ?wsdl — параметр для получения описания сервиса в формате WSDL.

⚠️ Внимание: Если ваш веб-сервис опубликован на локальном сервере (например, для тестирования), WS-ссылка будет содержать IP вида 192.168.x.x или localhost. Такие ссылки недоступны извне — для внешних интеграций требуется публичный IP или домен.

2. Как формируются WS-ссылки в разных режимах работы 1С

Способ формирования WS-ссылки зависит от того, в каком режиме работает ваша база 1С:Предприятиефайловом или клиент-серверном. Рассмотрим оба варианта.

2.1. Файловый вариант

В файловом режиме база хранится в виде файлов (.1CD) на локальном или сетевом диске. Для публикации веб-сервиса здесь используется встроенный веб-сервер или внешний (например, Apache, IIS).

Пример WS-ссылки для файловой базы:

http://localhost:8080/base_name/ws/ServiceName.1cws

Где:

  • 8080 — порт по умолчанию для встроенного веб-сервера 1С,
  • base_name — имя каталога с базой,
  • ServiceName — имя опубликованного веб-сервиса.

💡

Чтобы изменить порт встроенного веб-сервера, откройте файл conf.cfg в каталоге и найдите параметр port. После изменения перезапустите службу 1C:Enterprise 8.3 Server Agent.

2.2. Клиент-серверный вариант

В клиент-серверном режиме база размещается на сервере 1С:Предприятие, а веб-сервисы публикуются через веб-сервер (например, IIS или Nginx). WS-ссылка в этом случае включает:

  • 📌 Домен или IP сервера (например, erpserver.mycompany.ru),
  • 📌 Alias базы (задаётся при публикации в консоли администрирования сервера 1С),
  • 📌 Имя веб-сервиса (указывается в конфигураторе при создании публикации).

Пример для клиент-серверной базы:

https://erpserver.mycompany.ru/ut11_hs/ws/Exchange.1cws

Здесь /ut11_hs/ — alias базы, а /ws/Exchange.1cws — путь к сервису.

Режим работы 1С Пример WS-ссылки Особенности
Файловый (встроенный веб-сервер) http://localhost:8080/base/ws/Service.1cws Доступен только в локальной сети. Порт 8080 можно изменить.
Файловый (внешний веб-сервер) http://mycompany.ru/1c_base/ws/Service.1cws Требует настройки виртуального хоста на веб-сервере.
Клиент-серверный (IIS) https://erpserver.mycompany.ru/alias/ws/Service.1cws Поддерживает HTTPS. Alias настраивается в консоли администрирования.
Клиент-серверный (Apache/Nginx) https://api.mycompany.ru/1c/ws/Service.1cws Требует модуля mod_proxy для проксирования запросов.
⚠️ Внимание: При публикации веб-сервиса в клиент-серверном режиме убедитесь, что в настройках IIS или Apache разрешён доступ по протоколу HTTP или HTTPS (последний предпочтительнее для безопасности). Также проверьте, что порт (например, 80 или 443) не заблокирован фаерволом.

3. Где и как используются WS-ссылки: практические примеры

WS-ссылки применяются в самых разных сценариях интеграции. Рассмотрим наиболее распространённые случаи.

3.1. Обмен данными между базами 1С

Если у вас несколько баз (например, 1С:УТ для торговли и 1С:ЗУП для зарплаты), WS-ссылки позволяют автоматизировать передачу данных:

  • 📦 Выгрузка заказов из 1С:УТ в 1С:Бухгалтерию для формирования счетов-фактур.
  • 👥 Синхронизация справочника сотрудников между 1С:ЗУП и 1С:Документооборот.
  • 📊 Передача остатков товаров из 1С:УТ в 1С:Розница для актуального отображения на кассах.

Пример настройки:

  1. В 1С:УТ публикуем веб-сервис ExchangeOrders с методом GetNewOrders().
  2. В 1С:Бухгалтерии создаём обработку, которая обращается по WS-ссылке к ExchangeOrders и загружает новые заказы.
  3. Настраиваем расписание обмена (например, каждые 2 часа).

3.2. Интеграция с сайтом или интернет-магазином

WS-ссылки активно используются для связи с CMS (например, Bitrix, WordPress + WooCommerce, самописные решения). Типичные задачи:

  • 🛒 Загрузка каталога товаров из 1С:УТ на сайт (наименования, цены, фотографии).
  • 📝 Приём заказов с сайта в с автоматической регистрацией документов.
  • 🔄 Обновление статусов заказов (например, "Оплачен", "Отгружен").

Пример WS-ссылки для интеграции с Bitrix:

https://erpserver.mycompany.ru/ut11/ws/CatalogExchange.1cws

Здесь CatalogExchange — сервис, который предоставляет методы GetProducts(), GetPrices() и т.д.

Как проверить работоспособность WS-ссылки?

Откройте ссылку с параметром ?wsdl в браузере (например, https://server/ws/Service.1cws?wsdl). Если сервис работает, вы увидите XML-описание методов. Если нет — проверьте:

  • 🔌 Доступен ли сервер по указанному адресу (ping).
  • 🔒 Разрешён ли порт в фаерволе.
  • 📝 Правильно ли указан alias базы и имя сервиса.

3.3. Подключение внешних сервисов (банки, ЕГАИС, ФНС)

Многие государственные и коммерческие сервисы требуют обмена данными в автоматическом режиме. WS-ссылки здесь выступают как "мост" между и внешней системой:

  • 🏦 Банк-клиент: загрузка выписок, отправка платёжных поручений.
  • 🍷 ЕГАИС: обмен счетами-фактурами и актами для алкогольной продукции.
  • 📋 ФНС: отправка отчётности (например, через оператора ЭДО).
  • 🚚 Транспортные компании: передача данных о грузах (СДЭК, Деловые линии).

Пример: для интеграции с Сбербанк Бизнес Онлайн в 1С:Бухгалтерии публикуется сервис BankExchange, а банк обращается к нему по WS-ссылке:

https://mycompany.ru/buh83/ws/BankExchange.1cws

4. Типичные ошибки при работе с WS-ссылками и их решения

Даже опытные администраторы сталкиваются с проблемами при настройке WS-ссылок. Рассмотрим самые распространённые ошибки и способы их устранения.

4.1. Ошибка 404: сервис не найден

Если при обращении к WS-ссылке вы получаете ошибку 404 Not Found, проверьте:

  • 🔍 Правильность URL: нет ли опечаток в имени сервиса или alias базы.
  • 🖥️ Публикацию сервиса: опубликован ли он в конфигураторе (Администрирование → Публикация на веб-сервере).
  • 🌐 Настройки веб-сервера: для IIS проверьте привязку сайта к порту, для Apache — конфигурацию VirtualHost.
  • 🔌 Доступность порта: не блокирует ли фаервол порт 80/443 (или 8080 для встроенного сервера).

Пример диагностики для IIS:

  1. Откройте Диспетчер IIS.
  2. Проверьте, что сайт с alias базы запущен.
  3. Убедитесь, что в Обработчики добавлен обработчик для *.1cws (указывает на 1cv82.wsf).

4.2. Ошибка аутентификации (401 или 403)

Если сервис доступен, но возвращает ошибку доступа, проблема в настройках безопасности:

  • 🔑 Проверьте логин/пароль: они должны совпадать с пользователем , у которого есть права на вызов веб-сервиса.
  • 🛡️ Настройки IIS/Apache: включена ли анонимная аутентификация или базовая (если используется логин/пароль).
  • 📜 Права в 1С: у пользователя должна быть роль с правом на вызов веб-сервисов (например, Полные права или специальная роль).

Пример настройки аутентификации в IIS:

1. Откройте свойства сайта в Диспетчере IIS.

2. Перейдите в "Аутентификация".

3. Включите "Анонимная аутентификация" (если не нужна авторизация) или "Основная аутентификация" (для логина/пароля).

4. Отключите "Аутентификация Windows" (если не используется).

4.3. Ошибка "Сервис не отвечает" или таймаут

Если WS-ссылка доступна, но сервис не отвечает на запросы, причины могут быть следующими:

  • ⚙️ Перегрузка сервера 1С: проверьте загрузку CPU и памяти на сервере.
  • 🕒 Таймаут запроса: в настройках веб-сервиса или внешней системы может быть установлено слишком маленькое время ожидания.
  • 🔄 Блокировка антивирусом/фаерволом: некоторые антивирусы (например, Kaspersky) могут блокировать обращения к .1cws.
  • 📡 Проблемы с сетью: если сервер 1С и внешняя система находятся в разных сетях, проверьте маршрутизацию.

Пинг до сервера (команда ping server.mycompany.ru)|Проверка порта (telnet server.mycompany.ru 80)|Тест WSDL (https://server/ws/Service.1cws?wsdl)|Проверка логов IIS/Apache на ошибки|Тест вызова метода через Postman или SoapUI

-->

5. Безопасность WS-ссылок: как защитить данные

WS-ссылки открывают доступ к вашей базе извне, поэтому их настройка требует особого внимания к безопасности. Основные риски:

  • 🕵️ Несанкционированный доступ к данным (утечка информации о заказах, клиентах, финансах).
  • 💥 DDoS-атаки на веб-сервис, ведущие к падению производительности.
  • 🔄 Подмена данных при передаче (например, изменение сумм в заказах).

Чтобы минимизировать риски, следуйте рекомендациям:

5.1. Используйте HTTPS

Всегда настраивайте SSL-сертификат для домена, на котором опубликован веб-сервис. Это защищает данные от перехвата. Пример WS-ссылки с HTTPS:

https://secure.mycompany.ru/ut11/ws/Exchange.1cws

Для настройки SSL в IIS:

  1. Получите сертификат (например, через Let’s Encrypt или коммерческий центр).
  2. Импортируйте его в Диспетчер IIS → Серверные сертификаты.
  3. Привяжите сертификат к сайту в настройках Привязки.

5.2. Ограничьте доступ по IP

Если внешняя система, которая обращается к WS-ссылке, имеет статический IP, ограничьте доступ только для него. В IIS это делается через Ограничения по IP:

  1. Откройте свойства сайта в IIS.
  2. Перейдите в Ограничения по IP и доменам.
  3. Добавьте правило Запретить для всех IP, кроме разрешённых.

5.3. Настройте аутентификацию

Избегайте анонимного доступа к веб-сервисам. Лучше использовать:

  • 🔐 Базовую аутентификацию (логин/пароль передаются в заголовке Authorization).
  • 🔑 Токены (например, JWT), если внешняя система поддерживает их.
  • 🛡️ ОAuth 2.0 для сложных сценариев (например, интеграция с мобильным приложением).

Пример настройки базовой аутентификации в :

  1. В конфигураторе откройте свойства веб-сервиса.
  2. Установите флаг Требуется аутентификация.
  3. Создайте пользователя в с ролью, разрешающей вызов веб-сервисов.

⚠️ Внимание: Если вы используете базовую аутентификацию, всегда комбинируйте её с HTTPS. Без шифрования логин и пароль передаются открытым текстом и могут быть перехвачены!

6. Практические советы по работе с WS-ссылками

Чтобы упростить настройку и поддержку WS-ссылок, воспользуйтесь этими советами:

6.1. Тестируйте сервисы перед боем

Перед подключением внешней системы проверьте работоспособность WS-ссылки:

  • 🔧 Используйте Postman или SoapUI для тестирования методов.
  • 📡 Проверьте формат запросов и ответов (например, XML или JSON).
  • 📝 Сверьтесь с документацией веб-сервиса (её можно сгенерировать в конфигураторе).

Пример тестового запроса в Postman:

  1. Укажите метод POST.
  2. Введите WS-ссылку (например, https://server/ws/Service.1cws).
  3. В заголовках добавьте Content-Type: text/xml и Authorization: Basic ... (если нужна аутентификация).
  4. В теле запроса укажите XML-сообщение (пример можно взять из WSDL).

6.2. Ведите журнал обращений

Настройте логирование запросов к веб-сервису. Это поможет:

  • 📅 Отслеживать время и частоту обращений.
  • 🔍 Диагностировать ошибки (например, неверные параметры в запросе).
  • 🛡️ Выявлять подозрительную активность (многократные запросы с одного IP).

В IIS логи настраиваются так:

  1. Откройте свойства сайта.
  2. Перейдите в Журналы.
  3. Включите ведение журнала в формате W3C.
  4. Укажите путь для сохранения логов (например, C:\inetpub\logs\1C).

6.3. Автоматизируйте обновление сертификатов

Если используете HTTPS, следите за сроком действия SSL-сертификата. Просроченный сертификат сделает WS-ссылку недоступной. Решения:

  • 🔄 Настройте автоматическое продление через Let’s Encrypt (например, с помощью Certbot).
  • 📅 Добавьте напоминание в календарь за месяц до истечения срока.
  • 🛠️ Используйте скрипты для проверки срока действия сертификата (например, на PowerShell).
💡

Регулярно обновляйте пароли пользователей, от имени которых работают веб-сервисы. Это снизит риск несанкционированного доступа при утечке учётных данных.

7. Частые вопросы о WS-ссылках в 1С

🔹 Как узнать WS-ссылку для своей базы 1С?

WS-ссылка формируется из:

  1. Адреса сервера (например, https://mycompany.ru).
  2. Alias базы (указывается при публикации на веб-сервере).
  3. Имени веб-сервиса (например, /ws/Exchange.1cws).

Чтобы узнать точную ссылку:

  1. Откройте конфигуратор .
  2. Перейдите в Администрирование → Публикация на веб-сервере.
  3. Посмотрите список опубликованных сервисов и их URL.
🔹 Можно ли изменить порт для WS-ссылок?

Да, порт можно изменить:

  • Для встроенного веб-сервера 1С: отредактируйте файл conf.cfg в каталоге , найдите параметр port и укажите новый номер (например, port = 8081). После изменения перезапустите службу 1C:Enterprise 8.3 Server Agent.
  • Для IIS/Apache: измените привязку сайта к другому порту в настройках веб-сервера.

Пример для IIS:

  1. Откройте Диспетчер IIS.
  2. Выберите сайт, нажмите Привязки.
  3. Добавьте новую привязку с нужным портом (например, 8443 для HTTPS).

🔹 Почему WS-ссылка работает в локальной сети, но не доступна из интернета?

Вероятные причины:

  • 🌍 Сервер находится за NAT (нужно настроить проброс портов на роутере).
  • 🔌 Порт заблокирован фаерволом (проверьте настройки Windows Firewall или корпоративного фаервола).
  • 📡 У провайдера заблокирован входящий трафик на порт 80/443 (нужно обратиться в поддержку хостинга).
  • 🖥️ Веб-сервер привязан только к локальному IP (127.0.0.1 или 192.168.x.x).

Решения:

  1. Настройте проброс портов на роутере (например, порт 443 на IP сервера 192.168.1.100).
  2. В IIS проверьте, что сайт привязан к внешнему IP или Все неназначенные.
  3. Откройте порт в фаерволе (например, для TCP 443).
🔹 Как защитить WS-ссылку от взлома?

Минимальный набор мер безопасности:

  1. 🔒 Используйте HTTPS (настройте SSL-сертификат).
  2. 🔑 Включите аутентификацию (базовую или по токенам).
  3. 🚫 Ограничьте доступ по IP (разрешите только IP внешних систем).
  4. 📡 Настройте логирование запросов для мониторинга активности.
  5. 🔄 Ре