Содержание:
- ODATA и 1С
- Основные аспекты работы с интерфейсом 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
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С: Предприятия».
Спасибо за внимание уважаемые коллеги.
Специалист компании «Кодерлайн»
Дмитрий Гречушкин
Добавить комментарий