26.05.25

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

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

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

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).




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

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

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

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

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

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

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

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




Протокол Open Data Protocol работает по принципу RESTful-архитектуры. Это значит, что его легко можно соединить с другими веб-сайтами и сервисами.

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

Протокол Open Data:

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

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

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

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

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

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

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

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

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

3q.jpg

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

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

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

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

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

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

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

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

  • путь к определенному разделу (например, /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 — это специальный язык, который делает использование этих правил проще. Он помогает упорядочить и управлять данными, что очень удобно для тех, кто создает и соединяет разные интернет-сервисы.

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

Чтобы работать с протоколом, нужно знать, как правильно отправлять запросы.

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

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

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

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

Данные о структуре могут быть представлены в виде XML или JSON.

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

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

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

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

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

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

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

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

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

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




Коды ошибок

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

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

Например, если сервер отвечает кодом 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. Продукт включен в реестр российского ПО.

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

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

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