Настройка и использование веб-сервисов и внешних компонентов в 1С: инструкция
Настроить и использовать веб-сервисы и внешние компоненты в 1С можно в Конфигураторе: сервисы публикуют на веб-сервере, а компоненты подключают функцией ПодключитьВнешнююКомпоненту() из макета.
Оглавление
Настройка и использование веб-сервисов в 1С
Веб-сервисы (SOAP) и HTTP-сервисы (REST) позволяют организовать обмен данными между 1С и внешними системами.
Этапы создания и настройки:
-
Разработка в Конфигураторе:
- В дереве конфигурации добавьте объект «Веб-сервис» или «HTTP-сервис» в соответствующую ветку.
- Опишите операции сервиса и реализуйте бизнес-логику в модуле объекта веб-сервиса.
- Для HTTP-сервисов настройте шаблоны URL и методы обработки запросов (GET, POST и др.).
-
Публикация на веб-сервере:
- Установите и настройте поддерживаемый веб-сервер (IIS или Apache) для работы с платформой 1С.
- В режиме «Конфигуратор» выполните команду «Администрирование» → «Публикация на веб-сервере».
- В окне публикации укажите имя базы, выберите веб-сервер и отметьте флажками нужные веб-сервисы или HTTP-сервисы для публикации.
- При необходимости можно публиковать сервисы из расширений конфигурации, следуя специальным правилам правки файлов конфигурации веб-сервера.
-
Использование:
- После публикации WSDL-описание SOAP-сервиса становится доступным по соответствующему адресу.
- Для вызова сервисов из другой базы 1С используются объекты
WSОпределения,WSПроксиилиHTTPСоединение(для REST).
Подключение и работа с внешними компонентами
Внешние компоненты позволяют подключить к 1С функционал, написанный на C++, C# или других языках, используя технологии Native API или COM.
Подключение и работа:
- Типы компонентов: Компоненты могут быть выполнены по технологии Native API (кроссплатформенные) или COM (только Windows).
- Установка и подключение:
- Для подключения используется функция встроенного языка
ПодключитьВнешнююКомпоненту(). - Рекомендуется хранить файл компоненты в макете обработки или конфигурации (в виде ZIP-архива для Native API или бинарного файла) и подключать через метод
УстановитьВнешнююКомпоненту()с указанием пути к макету. - В Библиотеке стандартных подсистем (БСП) существует общий модуль
ОбщегоНазначенияс процедуройПодключитьКомпонентуИзМакета, которая упрощает этот процесс.
- Для подключения используется функция встроенного языка
Перед созданием экземпляра объекта компоненты (Новый("AddIn...")) необходимо убедиться, что она успешно подключена. Это особенно критично при работе на сервере или в фоновых заданиях. Компоненты для веб-клиента должны быть упакованы в специальный ZIP-архив и размещены соответствующим образом.
- Разработка: Создание собственных компонент требует учета особенностей хост-процесса 1С и реализации специальных интерфейсов (например,
IPropertyProfileдля сохранения параметров).
Частые ошибки
- Ошибка при создании объекта на сервере: Попытка выполнить
Новый("AddIn...")без предварительной проверки успешного выполненияПодключитьВнешнююКомпоненту(). В фоновых заданиях и на сервере подключение нужно инициировать явно. - Недоступность веб-сервиса после публикации: В окне «Публикация на веб-сервере» не были отмечены флажками нужные веб-сервисы или HTTP-сервисы, либо не настроены шаблоны URL для HTTP-методов.
- Ошибка загрузки в веб-клиенте: Файл внешней компоненты не упакован в специальный ZIP-архив, что является обязательным требованием для работы в веб-клиенте.
FAQ
В чем разница между веб-сервисами и внешними компонентами?
Веб-сервисы (SOAP/REST) используются для организации обмена данными между 1С и внешними системами. Внешние компоненты (Native API/COM) добавляют в 1С новый функционал, написанный на других языках программирования (C++, C#).
Можно ли опубликовать веб-сервисы из расширения конфигурации?
Да, при публикации на веб-сервере можно отметить сервисы из расширений конфигурации, следуя специальным правилам правки файлов конфигурации веб-сервера.
Как упростить подключение внешней компоненты из макета?
Используйте процедуру ПодключитьКомпонентуИзМакета из общего модуля ОбщегоНазначения в Библиотеке стандартных подсистем (БСП). Это стандартизированный и надежный способ.