
Архитектура платформы 1С:Предприятие (версия 8.3.24)
REST интерфейс
Платформа может автоматически формировать REST интерфейс для всего прикладного решения. После того, как прикладное решение опубликовано на веб-сервере, сторонние системы могут обращаться к нему через REST интерфейс с помощью HTTP запросов. Благодаря универсальности и кроссплатформенности автоматически генерируемый REST интерфейс является основным инструментом для интеграции со сторонними системами.
REST интерфейс позволяет читать данные 1С:Предприятия, изменять их, создавать новые объекты данных и удалять существующие.
Автоматический REST интерфейс может использоваться для таких задач как:
Интеграция прикладного решения с интернет-сайтами и интернет-магазинами;
Реализация сторонними средствами дополнительной функциональности прикладного решения без изменения его конфигурации;
Загрузка данных в прикладное решение и выгрузка данных из него;
Интеграция прикладного решения с корпоративными системами, возможно даже без дополнительного программирования.
Типичные операции, выполняемые через REST интерфейс это:
Получение списка документов, справочников, записей регистра сведений и т.п., возможно с фильтром;
Получение данных элемента справочника, документа (по ссылке), данных записи независимого регистра сведений (по ключу), данных набора записей подчинённого регистра (по регистратору);
Редактирование данных одного элемента справочника, документа и другого ссылочного объекта;
Создание нового элемента справочника, документа, набора записей;
Проведение одного документа, старт бизнес-процесса.
В качестве протокола доступа платформа использует протокол OData версии 3.0. Это открытый веб-протокол для запроса и обновления данных. Он позволяет оперировать данными, используя в качестве запросов HTTP-команды. Получать ответы можно в формате Atom/XML или JSON.
В платформе реализована только серверная часть REST сервисов. То есть прикладное решение может автоматически поставлять свою функциональность через REST сервисы. Для взаимодействия со сторонними REST сервисами из «1С:Предприятия 8» (для организации клиентской части) можно использовать имеющиеся в платформе средства работы с HTTP.
<img src=»https://www.recode.monster/wp-content/uploads/2023/06/sredstva-raboty-s-http-300×198.png» alt=»1c» width=»300″ height=»198″ class=»alignnone size-medium wp-image-3498″ />
Основная задача REST интерфейса прикладных решений заключается в интеграции со сторонними системами. И тут проблемы не возникает, ведь клиенты OData существует практически для всех значимых платформ:
Мобильные: iOS, Windows Phone, Android;
Серверные/настольные: .NET, Java, PHP, Objective-C, Ruby, JavaScript;
Поддержка в системах управления содержимым (CMS): Drupal, Joomla.
Использовать стандартный интерфейс OData прикладного решения просто:
В конфигураторе REST интерфейс публикуется на веб-сервере;
После этого объекты прикладного решения становятся доступны через этот интерфейс;
Способы аутентификации OData клиентов полностью совпадают со способами, используемыми для веб-сервисов;
OData клиенты могут запросить через HTTP документ метаданных, описывающий доступные объекты прикладного решения;
OData клиенты выполняют операции создания, чтения, модификации и удаления данных прикладного решения.
В REST интерфейсе доступны практически все основные объекты конфигурации: справочники, документы, константы, перечисления, планы обмена, регистры накопления, расчета, бухгалтерии и сведений, виртуальные таблицы периодического регистра сведений, регистров бухгалтерии и регистров накопления, планы счетов, видов характеристик и видов расчета, бизнес-процессы, задачи и журналы документов.
В REST интерфейсе доступны реквизиты объектов конфигурации, доступны операции создания, чтения, модификации и удаления данных, а также некоторые методы встроенного языка. Например:
Для документа — проведение и отмена проведения;
Для задачи — выполнение;
Для бизнес-процесса — старт;
Для регистра сведений — получение среза первых и среза последних;
Для регистра накопления и регистра бухгалтерии — получение остатков, оборотов, остатков и оборотов;
Для регистра расчета — получение данных графика, фактического периода действия, перерасчета и базы.
В случае ошибочной ситуации «1С:Предприятие 8» возвращает ответ с HTTP-статусом 4XX или 5XX. Статус 4XX говорит о неверных действиях клиента, статус 5XX — об ошибке на сервере. В случае статуса 4XX «1С:Предприятие 8» пытается помочь клиенту понять причину ошибки и может передать дополнительный внутренний код ошибки и информационное сообщение.
При чтении и записи данных с помощью REST интерфейса платформа выполняет все обычные проверки прав и вызывает обработчики событий, за исключением проверки заполнения.
При получении списков данных можно использовать стандартные условия фильтрации ODATA запросов. Например, получить товары, у которых цена меньше или равна 3,5 или больше 200:
GET /OData_Tests_Infobase/odata/standard.odata/Catalog_Goods?$filter=Price le 3.5 or Price gt 200
Источник: https://v8.1c.ru/platforma/rest-interfeys/