Если вы работаете с 1С:Предприятие и сталкиваетесь с задачами интеграции — например, обменом данными с банками, госуслугами или внешними системами — то рано или поздно услышите про WSDL. Этот термин часто вызывает путаницу: одни считают его форматом файла, другие — протоколом, третьи — просто"чем-то для программистов". На самом деле WSDL (Web Services Description Language) — это стандарт описания веб-сервисов, который играет ключевую роль в автоматизированном обмене данными между 1С и внешними системами.

В этой статье мы разберём, что такое WSDL на практике, как он связан с , и почему без него невозможно настроить корректный обмен данными через SOAP. Вы узнаете, где взять WSDL-файл для популярных сервисов (Сбербанк, ФНС, ЭДО), как его подключить в конфигураторе 1С, и какие ошибки чаще всего возникают при работе с ним. Материал будет полезен и администраторам, и разработчикам — от новичка до опытного специалиста.

Что такое WSDL и зачем он нужен в 1С

WSDL (Web Services Description Language) — это XML-документ, который описывает интерфейс веб-сервиса: какие методы (функции) доступны, какие параметры они принимают, какой формат ответа возвращают. Фактически, это"паспорт" сервиса, по которому 1С понимает, как с ним взаимодействовать.

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

  • 📌 Какие методы доступны (например, GetStatement для выписки или SendPayment для отправки платежа).
  • 📌 Какие параметры требует каждый метод (номер счёта, дата, сумма и т.д.).
  • 📌 В каком формате будет ответ (JSON, XML) и как его обработать.
  • 📌 Где расположен endpoint (адрес сервиса в сети).

В контексте 1С WSDL используется преимущественно для работы с SOAP-веб-сервисами (в отличие от REST, где описание API часто даётся в формате OpenAPI/Swagger). Например, при интеграции с:

  • 🏦 Банками (Сбербанк, Тинькофф, Альфа-Банк) для обмена платежными документами.
  • 📄 Госорганами (ФНС, ПФР, Росстат) для сдачи отчётности.
  • 📦 Логистическими компаниями (СДЭК, Boxberry) для отслеживания грузов.
  • 🔄 Системами ЭДО (Контур.Диадок, СБИС) для электронного документооборота.
📊 С какими внешними системами вы интегрируете 1С?
Банки
Госуслуги
Логистика
ЭДО
Другое

Как WSDL связан с SOAP и REST в 1С

Чтобы понять роль WSDL, нужно разобраться в различиях между SOAP и REST — двумя основными подходами к созданию веб-сервисов. В 1С оба варианта поддерживаются, но используются по-разному:

Характеристика SOAP (с WSDL) REST (обычно без WSDL)
Формат описания WSDL (обязателен) OpenAPI/Swagger (не всегда)
Протокол HTTP + XML HTTP (JSON/XML)
Сложность интеграции в 1С Проще (автоматическая генерация объектов) Сложнее (ручная настройка)
Примеры использования в 1С Банки, ФНС, ЭДО API маркетплейсов (Ozon, Wildberries)

SOAP + WSDL — классический подход для корпоративных систем, где важны надёжность и строгая типизация данных. В 1С для работы с SOAP-сервисами WSDL-файл загружается в конфигуратор, после чего платформа автоматически создаёт HTTP-соединение и описание методов. Например, при подключении к веб-сервису Сбербанка вы:

  1. Скачиваете WSDL-файл с сайта банка.
  2. Импортируете его в 1С через Файл → Открыть.
  3. Платформа генерирует объекты для вызова методов (например, СбербанкВС.ПолучитьВыписку).

REST обычно не требует WSDL, но в 1С его приходится настраивать вручную через HTTPЗапрос и HTTPСоединение. Это гибко, но требует больше кода. Например, для работы с API Wildberries придётся самостоятельно формировать URL, заголовки и обрабатывать JSON-ответы.

💡

WSDL упрощает интеграцию с SOAP-сервисами в 1С, автоматизируя создание объектов для вызова методов. Для REST такой механизм не предусмотрен — требуется ручная настройка.

Где взять WSDL-файл для интеграции с 1С

Источник WSDL-файла зависит от того, с какой системой вы интегрируетесь. Вотчные варианты:

  • 🏦 Банки: WSDL предоставляется в личном кабинете или по запросу в поддержку. Например, для Сбербанк Бизнес Онлайн файл называется BankService.wsdl и скачивается в разделе"Интеграция".
  • 📄 Госуслуги: ФНС и ПФР публикуют WSDL на своих порталах (например, для сдачи отчётности через Электронный документооборот). Обычно это файлы вроде FNSNDS.wsdl.
  • 📦 Логистика: СДЭК, Boxberry и другие курьерские службы выкладывают WSDL в документации для партнёров. Например, для отслеживания заказов в СДЭК нужен файл TrackingService.wsdl.
  • 🔄 ЭДО: В системах электронного документооборота (Контур.Диадок, СБИС) WSDL генерируется автоматически при настройке обмена.

🔍 Как найти WSDL для конкретного сервиса:

  1. Ищите раздел"API" или"Интеграция" на сайте поставщика услуг.
  2. В документации ищите упоминания .wsdl или"описание веб-сервиса".
  3. Если файла нет в открытом доступе, обратитесь в техническую поддержку с запросом.
💡

Сохраните WSDL-файлы в отдельной папке проекта — при обновлении сервиса может потребоваться новая версия файла. Не храните его только в 1С!

⚠️ Внимание: некоторые сервисы (например, ФНС) регулярно обновляют свои WSDL-файлы. Если после обновления 1С перестаёт отправлять данные, проверьте актуальность файла на сайте поставщика.

Как подключить WSDL в 1С: пошаговая инструкция

Рассмотрим процесс подключения WSDL на примере интеграции с веб-сервисом банка. Инструкция актуальна для 1С:Предприятие 8.3 (управляемые формы).

Шаг 1. Получение WSDL-файла

Скачайте файл с сайта банка (например, BankService.wsdl) и сохраните его на диск.

Шаг 2. Импорт в конфигуратор

  1. Откройте конфигуратор 1С в режиме Конфигуратор.
  2. Перейдите в Файл → Открыть и выберите скачанный WSDL-файл.
  3. Система предложит создать HTTP-соединение — подтвердите.
  4. В появившемся окне укажите:
    • 📍 Имя соединения (например, СбербанкВС).
    • 📍 Адрес сервиса (endpoint, обычно указан в документации банка).
    • 📍 Логин/пароль, если требуется аутентификация.

Шаг 3. Генерация объектов

После импорта в дереве конфигурации появится новый объект HTTPСервисы.СбербанкВС. В нём будут автоматически созданы:

  • 🔹 Методы (например, ПолучитьВыписку, ОтправитьПлатеж).
  • 🔹 Типы данных (структуры для параметров и ответов).

Шаг 4. Использование в коде

Теперь можно вызывать методы сервиса прямо из модулей 1С. Пример кода для получения выписки:

Соединение = HTTPСервисы.СбербанкВС.СоздатьСоединение;

Выписка = Соединение.ПолучитьВыписку(ДатаНачала, ДатаКонца, НомерСчета);

Сообщить(Выписка.ВJSON);

Скачан актуальный WSDL-файл|Проверен адрес endpoint|Настроена аутентификация (логин/пароль)|Создано резервное копирование конфигурации-->

⚠️ Внимание: если при импорте WSDL 1С выдаёт ошибку "Недопустимый формат файла", проверьте:

  • 🔸 Файл не повреждён (откройте его в блокноте — должен быть читаемый XML).
  • 🔸 Версия 1С поддерживает данный стандарт WSDL (в старых версиях могут быть ограничения).
  • 🔸 В файле нет ссылок на внешние схемы (XSD), которые недоступны без интернета.

Типичные ошибки при работе с WSDL в 1С и как их исправить

Даже при корректной настройке интеграция через WSDL может давать сбои. Рассмотрим самые частые ошибки и способы их решения.

Ошибка Причина Решение
Ошибка соединения с сервером (404) Неверный адрес endpoint Проверьте URL в настройках HTTP-соединения
Недопустимый формат сообщения SOAP Несовпадение структуры данных Сверьте параметры вызова с документацией WSDL
Ошибка аутентификации (401) Неверный логин/пароль или истёк сертификат Обновите учётные данные в соединении
Тайм-аут соединения Сервер не отвечает или медленный интернет Увеличьте тайм-аут в настройках или проверьте сеть

Критическая особенность: если сервис требует сертификат для HTTPS (например, ФНС), 1С может не подключиться без установки корневого сертификата в хранилище Windows. В этом случае:

  1. Скачайте сертификат с сайта поставщика (обычно файл .cer или .crt).
  2. Импортируйте его в Локальное хранилище сертификатов через certmgr.msc.
  3. Перезапустите 1С и повторите попытку соединения.

Ещё одна распространённая проблема — изменение WSDL со стороны поставщика. Например, банк обновил версию API, а вы продолжаете использовать старый файл. В этом случае:

  • 🔹 Скачайте актуальный WSDL с сайта поставщика.
  • 🔹 Удалите старое HTTP-соединение в 1С.
  • 🔹 Импортируйте новый файл и перенастройте интеграцию.
Что делать, если WSDL содержит внешние ссылки (XSD)?

Если при импорте WSDL 1С выдаёт ошибку о недоступных внешних схемах (XSD), скачайте эти файлы вручную и положите их в ту же папку, что и WSDL. Затем откройте WSDL-файл в текстовом редакторе и замените внешние ссылки (например, http://example.com/schema.xsd) на локальные (schema.xsd).

Примеры использования WSDL в 1С: банки, ФНС, ЭДО

Разберём реальные сценарии применения WSDL в типичных задачах интеграции.

1. Обмен с банком (Сбербанк, Тинькофф)

Задача: автоматически загружать банковские выписки в 1С.

  • 📌 WSDL-файл: BankStatementService.wsdl (скачивается в личном кабинете банка).
  • 📌 Метод: GetStatement (параметры: дата начала, дата конца, номер счёта).
  • 📌 Результат: XML с транзакциями, который парсится в документы"Платёжное поручение".

2. Сдача отчётности в ФНС

Задача: отправлять декларации по НДС через веб-сервис ФНС.

  • 📌 WSDL-файл: FNSNDS.wsdl (с сайта nalog.ru).
  • 📌 Метод: SendDeclaration (параметры: ИНН, период, файл декларации в XML).
  • 📌 Особенность: требуется квалифицированная электронная подпись (КЭП).

3. Электронный документооборот (Контур.Диадок)

Задача: отправлять и получать счета-фактуры в формате ЭДО.

  • 📌 WSDL-файл: генерируется в личном кабинете Диадока при настройке интеграции.
  • 📌 Методы: SendInvoice (отправка), GetInbox (получение входящих).
  • 📌 Формат: XML по стандарту ФНС (приказ №ЕД-7-26/99@).

📌 Общий совет: перед настройкой интеграции проверьте, поддерживает ли ваша версия 1С нужный стандарт WSDL (например, WSDL 1.1 или WSDL 2.0). В старых релизах могут быть ограничения.

WSDL 1.1 vs WSDL 2.0: что поддерживает 1С

Существует две версии стандарта WSDL: 1.1 и 2.0. Они отличаются синтаксисом и возможностями, и это важно учитывать при интеграции с 1С.

Характеристика WSDL 1.1 WSDL 2.0
Поддержка в 1С 8.3 Полная Частичная (требует доработок)
Синтаксис Проще, шире распространён Сложнее, реже используется
Примеры сервисов Сбербанк, ФНС, Контур.Диадок Редко (обычно корпоративные решения)

🔹 WSDL 1.1 — самый распространённый вариант, который поддерживается 1С"из коробки". Большинство банков и госуслуг предоставляют файлы именно в этом формате.

🔹 WSDL 2.0 — более современный стандарт, но в 1С с ним могут возникнуть проблемы:

  • 🚫 Не все конструкции WSDL 2.0 корректно обрабатываются платформой.
  • 🚫 Может потребоваться ручная правка файла или использование промежуточного слоя (например, на C#).

⚠️ Внимание: если поставщик сервиса предоставляет только WSDL 2.0, уточните у него, есть ли альтернативная версия файла в формате 1.1. Если нет — будьте готовы к доработкам или использованию внешних адаптеров.

FAQ: ответы на частые вопросы о WSDL в 1С

Можно ли использовать WSDL для работы с REST API?

Нет, WSDL предназначен только для SOAP-сервисов. Для REST в 1С используется HTTPЗапрос с ручной настройкой заголовков и обработкой JSON/XML. Однако некоторые сервисы (например, Ozon) предоставляют OpenAPI-спецификации (в формате YAML/JSON), которые можно конвертировать в код 1С с помощью внешних инструментов.

Как обновлять WSDL, если сервис изменил API?

Если поставщик обновил WSDL, скачайте новый файл и:

  1. Удалите старое HTTP-соединение в 1С (Конфигуратор → HTTP-Сервисы).
  2. Импортируйте новый WSDL через Файл → Открыть.
  3. Обновите код вызова методов, если изменились параметры.

🔹 Важно: перед обновлением сделайте резервную копию конфигурации!

Почему 1С не видит методы из WSDL после импорта?

Возможные причины:

  • 🔸 Файл повреждён или неполный (проверьте его в блокноте).
  • 🔸 В WSDL используются внешние схемы (XSD), которые не загрузились.
  • 🔸 Версия 1С не поддерживает конструкции из WSDL (актуально для WSDL 2.0).

Решение: попробуйте открыть WSDL в SoapUI — если там методы отображаются, проблема в 1С.

Нужно ли знать XML, чтобы работать с WSDL в 1С?

Базовые знания XML помогут разобраться в структуре WSDL, но они не обязательны. 1С автоматически генерирует объекты для работы с сервисом, и в большинстве случаев достаточно:

  • 🔹 Знать, какие методы доступны (описание обычно есть в документации).
  • 🔹 Уметь передавать параметры и обрабатывать ответы.

Для сложных случаев (например, правка WSDL) может потребоваться помощь разработчика.

Можно ли тестировать WSDL без подключения к реальному сервису?

Да, для тестирования можно:

  1. Использовать SoapUI — инструмент для работы с SOAP-сервисами.
  2. Настроить mock-сервер (например, с помощью Stoplight), который будет эмулировать ответы.
  3. В 1С временно указать тестовый endpoint (если поставщик предоставляет песчаную зону).