26.05.25

Что такое OData? Open Data Protocol — это набор правил для обмена информацией между разными приложениями через интернет. 

Эти правила помогают разработчикам создавать специальные программы (API), которые могут получать и отправлять данные в виде простых текстовых файлов (JSON или XML).

Как работает протокол OData, и как его можно использовать для работы с данными в популярной системе, подробнее в статье.

FwT59Cr8py4.jpg

Организация доступа

Для работы с протоколом OData необходимо иметь доступ к серверу, на котором размещён сервис, предоставляющий данные. Доступ к таким сервисам может быть как открытым, так и защищённым с помощью аутентификации и авторизации. Чтобы начать работу, потребуется только URL адрес сервиса и передаваемые в запросе параметры.

Это может включать создание учетной записи, настройку прав доступа и установку параметров подключения.

Например, чтобы работать с программой 1С через интернет, нужно разместить её базу данных на специальном веб-сервере.

Основные шаги:

1) Установка веб-сервера

- Выберите сервер (например, Apache 2.4 для кроссплатформенности).
- Для безопасности используйте Apache с SSL.

2) Публикация информационной базы

- Откройте конфигуратор 1С 8, перейдите в «Администрирование».
- Выберите «Публикация на веб-сервере…».
- Укажите имя публикации, сервер и каталог.
- Отметьте «Публиковать стандартный интерфейс OData».

3) Варианты публикации

- Если сервер на том же ПК, нажмите «Опубликовать» и перезапустите.
- Если сервер на другом ПК или нет прав, сохраните файл конфигурации (default.vrd) и разместите его на сервере.

4) Активация OData

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

5) Тестирование OData

- Проверьте через веб-браузер по URL-адресу;
- Параметры: сервер, порт, имя публикации, объект метаданных, формат (json или atom).




Чтобы эффективно использовать протокол OData, нужно понять основные понятия и концепции.

Рассмотрим ключевые термины:

  1. Сущность — это уникальный объект, похожий на записи в системе «1С:Предприятие». Все сущности содержат уникальный номер и соответствуют записям в базе данных

  2. Коллекция — это группа сущностей, объединённых общим контекстом. Например, коллекция может быть списком справочников или журналом документов.

  3. Свойство — это характеристика сущности. Свойства могут быть простыми, например, текст или число, или сложными, например, ссылки на другие сущности или другие коллекции.

  4. Связь — это отношение между двумя сущностями, которое позволяет связывать данные. Связи могут быть односторонними или двусторонними.

  5. Функция — это операция, которая выполняется над сущностями или их свойствами. Функции используются для сортировки, фильтрации или объединения данных.

Протокол OData — это мощный инструмент для работы с данными. Он стандартизирует запросы и поддерживает различные форматы данных. Понимание принципов работы с Open Data Protocol и их практическое применение упрощает интеграцию данных в веб-приложения и другие системы.




Протокол OData работает по принципу RESTful-архитектуры. Что означает, что он легко встраивается в экосистему других сайтов и сервисов.

С помощью Open Data Protocol можно делать разные вещи с данными: получать их, обновлять, добавлять новые или удалять. Для каждой из этих задач используются специальные команды, которые отправляются через интернет: GET, POST, PUT или DELETE.

Протокол OData:

- Автоматически создает простой веб-интерфейс для работы с данными, что позволяет избежать написания дополнительного кода для взаимодействия с другими сервисами. Это экономит время и ресурсы, необходимые для интеграции.

- Обладает высокой степенью гибкости и адаптивности. Другие программы могут добавлять новые функции без необходимости изменения основной системы. Это повышает удобство и простоту использования решения.

- Позволяет легко загружать и выгружать данные, что помогает эффективно управлять информацией.

- Предоставляет возможность динамической настройки, что позволяет легко адаптировать систему под нужды пользователей.

- Обеспечивает контроль доступа к данным, что позволяет ограничить доступ к информации и контролировать её использование.

С помощью OData Protocol можно легко добавить новые функции без изменения основной системы. Это делает решение более гибким и легко настраиваемым.

ODP поддерживает загрузку и выгрузку данных, что помогает эффективно управлять информацией.

Метаданные можно изменять "на лету", чтобы адаптировать интерфейс под конкретные нужды пользователей.

1q.jpgВ запросах используются специальные ключевые слова.

3q.jpg

Что такое OData? Это набор правил, которые говорят компьютеру, как получать доступ к информации в системе учета, опираясь на настройки безопасности и разрешения.

Для каждого кусочка информации (ресурса) устанавливаются настройки, которые определяют, кто может его видеть и использовать. Это помогает защитить данные от посторонних.

2q.jpgURL в протоколе - это адрес, по которому можно найти нужный ресурс или совершить с ним действие. Например, URL может включать путь к ресурсу, дополнительные параметры и данные для входа в систему. 

n15nwwD3T1A.jpgПонимание формата URL важно для правильного запроса информации.

Чтобы получить данные через OData, нужно отправить запрос на сервер. В запросе нужно указать адрес нужного ресурса, дополнительные параметры и, если нужно, данные для входа.

Дополнительные параметры помогают фильтровать и сортировать информацию. Например, можно указать, какие данные нужно получить, или задать условие для их отбора.

В адресе сайта содержится:

  • основной адрес сайта;

  • путь к разделу (например, /odata/v4/);

  • название группы или объекта (например, Клиенты);

  • дополнительные настройки (например, ?фильтруем=Имя eq 'Иван').

На веб-страницах есть обозначения, которые помогают найти разные элементы. Вот некоторые из них:

  • Catalog_имяСправочники — это список вещей или предметов.

  • Document_имяДокументы — это документы, например, письма или отчеты.

  • DocumentJournal_имяЖурналы — это записи о документах.

  • Constant_имяКонстанты — это постоянные значения или числа.

  • ExchangePlan_имяПланы — это планы обмена, например, планы по обмену данными.

  • ChartOfAccounts_имяПланы счетов — это список счетов для учета денег.

  • ChartOfCalculationTypes_имяПлан видов расчета — это план для расчета чего-либо, например, зарплаты.

  • ChartOfCharacteristicTypes_имяПлан видов характеристик — это план для описания характеристик чего-либо.

  • InformationRegister_имяРегистр сведений — это место, где хранятся данные.

  • AccumulationRegister_имяРегистр накопления — это место для накопления данных.

  • CalculationRegister_имяРегистр расчета — это место для расчета данных.

  • AccountingRegister_имяРегистр бухгалтерии — это место для ведения бухгалтерии.

  • BusinessProcess_имяБизнес процесс — это бизнес-процессы, то есть шаги, которые выполняются в бизнесе.

  • Task_имяЗадача — это задачи, которые нужно выполнить.

Эти обозначения помогают быстро найти нужную информацию на веб-странице.

В запросе Open Data Protocol:

  • Слова заключаются в одинарные кавычки. Например: 'Конфеты'.

  • Уникальные идентификаторы помечаются как guid'строка'. Например: guid'27b04ad1-302f-45ed-b661-9f300183c9b1'.

  • Даты записываются как datetime'yyyy-mm-ddThh:mm:ss'. Например: datetime'2024-10-03T12:30:59'.

После того как вы выбрали тип и название объекта, можно добавить к нему суффикс, который начинается с подчёркивания.

Вот несколько примеров:

  • Catalog_Организации(guid’c2c7fe20-dbde-41d1-9753-c74a0f23d4da’) — это способ найти запись в списке "Организации" с определённым уникальным кодом.

  • InformationRegister_КурсыВалют(Period='2024-02-20T00:00:00', Валюта_Key=guid'7ba35875-8c6b-4d9d-8826-3b6ac165be5a') — это способ найти конкретную запись в списке "Курсы валют" за определённую дату и для определённой валюты.

  • Catalog_Орган.




Установка отборов по ресурсам

В протоколе можно задавать фильтры, чтобы получать только нужные данные. Например, можно фильтровать по номеру, дате или значению какого-то поля.

Фильтры помогают получать только важную информацию и уменьшают объем передаваемых данных.

Чтобы использовать фильтры, нужно добавить специальные параметры в запрос. Например, можно указать, что нужны данные с определенным значением или в определенном диапазоне значений. Это позволяет получить только те данные, которые нужны для конкретной задачи.

Оба стандарта (REST и OData) обеспечивают создание эффективных веб-сервисов, способных обслуживать множество клиентов.

REST — это набор правил, которые помогают разработчикам создавать такие программы.

OData — это специальный язык, который делает использование этих правил проще. Он помогает упорядочить и управлять данными, что очень удобно для тех, кто создает и соединяет разные интернет-сервисы.

Чтобы получить информацию в формате OData, нужно отправлять специальные запросы. Эти запросы строятся по определённым правилам и включают параметры. Информация, которую вы получите, может быть представлена в разных форматах, например, в виде списка или таблицы.

Для взаимодействия с протоколом OData необходимо понимание правил формирования запросов.

Например, чтобы узнать список клиентов, можно отправить запрос на адрес:

/odata/v4/Customers. 
В ответ сервер вернёт список объектов Customer, где каждый объект содержит информацию о клиенте, такую как имя, адрес и телефон.

Структурирование данных в OData

Для систем, использующих OData Protocol, требуется описание структуры данных. Эта информация включает сведения о существующих элементах, их типах и возможных действиях.

Поддерживаются два варианта представления структуры: XML либо JSON.

Чтобы увидеть схему данных, отправьте запрос на этот адрес:

$https://api.timetta.com/odata/$metadata$
Этот адрес ведёт к основному разделу сервиса.

Типы данных в OData

В OData есть несколько основных типов данных. Эти типы обозначаются словом "Edm". Они используются для хранения и передачи информации.

DaL4RRrL3mw.jpgEntityType похож на сущность в модели предметной области. Это сущность, содержащая информационные данные и уникальный ID.

EntityType состоит из нескольких компонентов:

  1. Property — это данные, такие как строки или числа. У каждого свойства есть название и тип. Также может быть указано, что значение может быть пустым.

  2. NavigationProperty — это ссылки на другие объекты. У неё тоже есть название и тип.

  3. ReferentialConstraint показывает, как одна сущность связана с другой. Он включает два свойства: Property и ReferencedProperty. Property указывает на поле в текущей сущности, а ReferencedProperty — на поле в связанной сущности.

  4. Key — это уникальный идентификатор объекта. Значения ключей могут быть только простыми типами данных, такими как числа, и не могут быть пустыми.




Коды ошибок

При работе с OData могут возникнуть сложности: от настроек доступа до параметров запросов и других технических аспектов. Чтобы быстро понять, в чём проблема, и исправить её, нужно знать коды ошибок и их значение.

Ошибки могут выглядеть как числа или текстовые сообщения. Чтобы разобраться с ними, нужно смотреть на ответы сервера и анализировать их. 

Например, если сервер отвечает кодом 404, это значит, что он не нашёл запрошенный ресурс. А код 500 указывает на ошибку на самом сервере.
OData помогает делать масштабируемые и эффективные решения. В данной технологии используются метаданные в форматах XML или JSON.
XiiI2q-iUBs.jpg
Это делает его гибким и совместимым, что нравится разработчикам и интеграторам.

Интеграция с другими системами – важная часть работы компании. OData позволяет выгружать данные из 1С, что упрощает и ускоряет сбор информации.
OData – это протокол, разработанный Microsoft для доступа к данным. Он помогает соединять разные системы и приложения, что полезно для решения оперативных задач. OData автоматически формирует запросы, что облегчает работу администраторов и разработчиков.

OData имеет свои серьёзные ограничения:    

  • Он может не справляться с большими объёмами данных, так как рассчитан на работу с небольшими наборами. 

  • OData не всегда хорошо подходит для сложных запросов с фильтрами и логикой.

  • Ещё один момент – для работы с OData нужно знать T-SQL. Это язык запросов для работы с базами данных SQL Server. Не все умеют им пользоваться, что может стать проблемой.

  • OData – это полезный инструмент для выгрузки данных, но нужно учитывать его ограничения. В некоторых случаях лучше использовать другие методы и инструменты.

Важно знать:

OData — это технология, которая помогает легко извлекать данные из 1С и использовать их в других программах, например, в Power BI. Она может загружать данные из интернета в свою базу данных, что делает работу с информацией проще и удобнее.

Но, например, Yandex DataLens не может напрямую работать с OData. Чтобы решить эту проблему, можно создать скрипт с помощью Yandex Cloud Function. Этот скрипт будет регулярно переносить данные в облачную систему Clickhouse, а затем их можно будет показать с помощью специальных инструментов. Однако для этого нужен опытный программист. P6E8e2n8P5w.jpg




Решение для автоматизированного извлечения данных из системы 1С – Экстрактор данных 1С

Данное решение помогает выгружать данные из 1С или электронных таблиц Excel и загружать их в другие базы данных, для дальнейшего использования в BI системах и прочих системах представления.

Это ПО не требует нанимать специалистов для настройки обмена данными. Оно также защищает важную информацию, не давая никому прямого доступа к базе данных 1С.

qRsuydD7Z34.jpgПосле установки Экстрактора в программу 1С и небольшой настройки, оно автоматически выгружает данные. Это обеспечивает постоянный обмен информацией.

Полученные данные можно легко использовать в аналитических системах, таких как Yandex Datalens, Power BI, Visiology и прочих BI системах.

wI2JZy05S7Y.jpgПреимущества этого инструмента:

  1. Совместим с любой конфигурацией 1С.

  2. Быстро и безопасно выгружает данные, не видя их.

  3. Автоматически обновляет любые данные.

  4. Обеспечивает безопасность в процессе выгрузки данных.

  5. Легко настраивается и не требует узких знаний.

  6. Имеется бесплатная техническая поддержка на начальных этапах.

  7. Продукт позволяет создавать разные отчеты.

  8. Продукт включен в реестр российского ПО.

Этот инструмент помогает упростить работу с данными, сделать ее более эффективной и снизить риски, связанные с ошибками человека.

Наши менеджеры ответят на все вопросы, произведут расчет стоимости услуг и подготовят коммерческое предложение!
Заказать проект

Это интересно