|

Использование в 1С web-сервисов с REST интерфейсом ODATA


Содержание:

  1. ODATA и 1С
  2. Основные аспекты работы с интерфейсом OData в 1С

  ODATA и 1С

Давайте для начала определим, что такое ODATA — это открытый веб-протокол для запроса и обновления данных. Протокол позволяет выполнять операции с ресурсами, используя в качестве запросов HTTP-команды, и получать ответы в форматах atom-xml и json.

В 1С появилась возможность доступа к данным через автоматический REST-интерфейс на основе протокола OData v.3.0 начиная с версии платформы 8.3.5 появилась возможность предоставить, а с версии платформы 8.3.11 появилась возможность расширения структуры таблиц баз данных (добавление новых реквизитов для хранения служебных данных в целях интеграции) в механизме расширений. Учитывая все выше, сказанное можно сделать вывод, что интерфейс ODATA в 1С как нельзя лучше подходит для решения задач, связанных настройкой регулярного обмена данными, в которых нет возможности вносить какие-либо свои правки в их конфигурацию из-за преимуществ автоматического обновления не хотим снимать поддержку или финансовый вопрос обновлений конфигурации становиться неразрешим или еще по каким-либо причинам.

При размещении интерфейс OData в 1C на web-сервере автоматически генерируется непосредственно сам интерфейс.

Размещение OData в 1С на web-сервере

Механизм OData дает возможность читать данные «1С:Предприятия», производить действия по модификации и созданию новых объектов, удалять существующие. Разработка на базе «1С:Предприятия» может быть как клиентской частью, так и серверной частью с интерфейсом OData. После установки интерфейса OData в качестве сервера никаких действий по настройке производить не надо (при установке все настройки устанавливаются автоматически). Чтобы начать работу с клиентской частью интерфейса OData в 1С необходимо для этого создать функционал использующий данные web-сервера с REST интерфейсом OData.

При использовании интерфейса OData можно выполнять следующие операции:

  • Формирование и получение списка объектов системы с установленным отбором;
  • Для конкретного объекта системы получить его данные;
  • Создать, изменить существующий объект системы;
  • Выполнить проведение документа;
  • Запустить старт бизнес-процесса.

При работе со стандартным интерфейсом OData в 1С будем использовать следующие термину:

  • Сущность – это объект, который можно однозначно идентифицировать. У объекта «сущность» есть свойства. Свойства «идентификации» объекта «сущность» описывают идентичность объекта путем формирования уникального ключа объекта. По уникальному ключу можно получить непосредственно сам объект;
  • Набор сущностей –набор объектов «сущностей» заданного типа;
  • Составной тип – набор свойств объекта, не имеющих собственный ключ идентичности;
  • Функция – коллекция серверных функций и операций объекта «сущность», результатом которых являются данные (как объекта «сущность», его наборов так и данных, не связанных с объектом «сущность»). Функции Объекта «сущность» обязательно связаны с самим объектом «сущность» или коллекцией объектов;
  • Действие – функция объекта «сущность», изменяющая данные.

Основные аспекты работы с интерфейсом OData в 1С

Способ обращения к интерфейсу OData

http://host/base/odata/standard.odata/ПрефиксИмени_ИмяОбъектаКонфигурации_СуффиксИмени/Параметры?Параметры&УсловияОтбора

host – IP адрес или доменное имя веб сервера.

base – Имя базы. Указывается при публикации.

odata/standard.odata – Признак обращения к стандартному интерфейсу OData.

ПрефиксИмени – Представление объекта конфигурации для указания в URL.

ИмяОбъектаКонфигурации – свойство Имя объекта конфигурации, как оно задано при разработке прикладного решения в конфигураторе.

СуффиксИмени – предназначено для уточнения имени ресурса и является необязательной частью имени. В качестве суффикса имени могут выступать следующие выражения:

  • Имя табличной части объекта;
  • Имя реквизита табличной части или набора записей;
  • Имя виртуальной таблицы регистра;
  • RowType;
  • RecordType.

Праметры и УсловияОтбора – В качестве параметров обращения выступают параметры в виде, принятом для HTTP-запросов: ?ключ=значение&ключ2=значение2.

Описание назначений ключевых терминов/слов при использовании ресурсов:

  • $format – определяет формат входящих. Если инициализации формата нет, по умолчанию используется atom-xml.
  • $format=atom – формат входящих данных atom-xml.
  • $format=json – формат входящих данных json. Вторым способом указания формат входящих данных json является указание типа «MIME» значения application/json в заголовке HTTP-запроса.
  • $metadata – определяет необходимость получения описание стандартного интерфейса OData.
  • $filter – устанавливает/описывает фильтр на входящие данные.
  • $select – указывает список свойств объекта «сущность» при использовании интерфейсу OData. 

Методы, интерфейсом OData

  • GET – Получение данных;
  • POST – Создание объекта;

Обновление данных

  • PATCH – в этом случае можно указывать только те свойств, которые необходимо обновить;
  • PUT – в этом случае необходимо указывать все свойства сущности;
  • DELETE – Удаление данных.

Для серверной части интерфейса OData в «1С: Предприятие» необходимо зарегистрировать метаданные объектов, которые будут использования в OData. Регистрация объектов выполняется с помощью метода УстановитьСоставСтандартногоИнтерфейсаOData. Пример регистрации объектов:

&НаСервере

Процедура ВыполнитьРегистрациюOData()

      МДанные = Новый Массив();

      Для Каждого Справочник Из Метаданные.Справочники Цикл

           МДанные.Добавить(Справочник);

      КонецЦикла;

      УстановитьСоставСтандартногоИнтерфейсаOData(МДанные);

КонецПроцедуры

Процедура регистрирует все справочники прикладного решения для использования интерфейсом OData.

Результат отправки HTTP запроса:

Результат отправки HTTP запроса

Опишем произведенные действия – в строке запроса мы указали, что необходимо обратиться к сущности «Справочник» с именем «Номенклатура», получить все элементы сущности и вернуть результат в формате json используя стандартный интерфейс OData.

Заключение – таким образом видно, что использование стандартного инетрфейса OData значительно облегчает разработку интеграций как между прикладными решениями «1С: Предприятия», так и между внешними клиентами и прикладными решениями «1С: Предприятия».

Спасибо за внимание уважаемые коллеги.

Специалист компании  «Кодерлайн»

Дмитрий Гречушкин


Помогла ли вам статья? Оставьте свой комментарий:

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Блог про 1С:Предприятие

Copyright © 2024 TopKoder

Мы занимаемся внедрением и обслуживанием программных продуктов 1С.