Протокол (Open Data Protocol) — это набор правил для обмена информацией между разными приложениями через интернет.
Эти правила помогают разработчикам создавать специальные программы (API), которые могут получать и отправлять данные в виде простых текстовых файлов (JSON или XML).
Как работает этот протокол, и как его можно использовать для работы с данными в популярной системе, подробнее в статье.
Организация доступа
Для работы с протоколом 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С:Предприятие». Каждая сущность имеет свой уникальный номер и представляет собой запись в базе данных.
-
Коллекция — это группа сущностей, объединённых общим контекстом. Например, коллекция может быть списком справочников или журналом документов.
-
Свойство — это характеристика сущности. Свойства могут быть простыми, например, текст или число, или сложными, например, ссылки на другие сущности или другие коллекции.
-
Связь — это отношение между двумя сущностями, которое позволяет связывать данные. Связи могут быть односторонними или двусторонними.
-
Функция — это операция, которая выполняется над сущностями или их свойствами. Функции используются для сортировки, фильтрации или объединения данных.
Протокол Open Data Protocol — это мощный инструмент для работы с данными. Он стандартизирует запросы и поддерживает различные форматы данных. Понимание принципов работы с Open Data Protocol и их практическое применение упрощает интеграцию данных в веб-приложения и другие системы.
Протокол Open Data Protocol работает по принципу RESTful-архитектуры. Это значит, что его легко можно соединить с другими веб-сайтами и сервисами.
С помощью Open Data Protocol можно делать разные вещи с данными: получать их, обновлять, добавлять новые или удалять. Для каждой из этих задач используются специальные команды, которые отправляются через интернет: GET, POST, PUT или DELETE.
Протокол Open Data:
- Автоматически создает простой веб-интерфейс для работы с данными, что позволяет избежать написания дополнительного кода для взаимодействия с другими сервисами. Это экономит время и ресурсы, необходимые для интеграции.
- Обладает высокой степенью гибкости и адаптивности. Другие программы могут добавлять новые функции без необходимости изменения основной системы. Это делает решение более удобным и лёгким в использовании.
- Позволяет легко загружать и выгружать данные, что помогает эффективно управлять информацией.
- Предоставляет возможность динамической настройки, что позволяет легко адаптировать систему под нужды пользователей.
- Обеспечивает контроль доступа к данным, что позволяет ограничить доступ к информации и контролировать её использование.
С помощью Open Data Protocol можно легко добавить новые функции без изменения основной системы. Это делает решение более гибким и легко настраиваемым.
ODP поддерживает загрузку и выгрузку данных, что помогает эффективно управлять информацией.
Метаданные можно изменять "на лету", чтобы адаптировать интерфейс под конкретные нужды пользователей.
В запросах используются специальные ключевые слова.

Протокол OData - это набор правил, которые говорят компьютеру, как получать доступ к информации в системе учета, опираясь на настройки безопасности и разрешения.
Для каждого кусочка информации (ресурса) устанавливаются настройки, которые определяют, кто может его видеть и использовать. Это помогает защитить данные от посторонних.
URL в протоколе - это адрес, по которому можно найти нужный ресурс или совершить с ним действие. Например, URL может включать путь к ресурсу, дополнительные параметры и данные для входа в систему.
Понимание формата 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". Они используются для хранения и передачи информации.
EntityType похож на сущность в модели предметной области. Это объект, который включает в себя данные и уникальный идентификатор.
EntityType состоит из нескольких ключевых компонентов:
Property — это данные, такие как строки или числа. У каждого свойства есть название и тип. Также может быть указано, что значение может быть пустым.
NavigationProperty — это ссылки на другие объекты. У неё тоже есть название и тип.
ReferentialConstraint показывает, как одна сущность связана с другой. Он включает два свойства: Property и ReferencedProperty. Property указывает на поле в текущей сущности, а ReferencedProperty — на поле в связанной сущности.
Key — это уникальный идентификатор объекта. Значения ключей могут быть только простыми типами данных, такими как числа, и не могут быть пустыми.
Коды ошибок
Когда работаешь с Open Data, могут возникать разные проблемы, связанные с настройками доступа, параметрами запроса или другими вещами. Чтобы быстро понять, в чём проблема, и исправить её, нужно знать коды ошибок и их значение.
Ошибки могут выглядеть как числа или текстовые сообщения. Чтобы разобраться с ними, нужно смотреть на ответы сервера и анализировать их.
Например, если сервер отвечает кодом 404, это значит, что он не нашёл запрошенный ресурс. А код 500 указывает на ошибку на самом сервере.OData помогает делать масштабируемые и эффективные решения. В данной технологии используются метаданные в форматах XML или JSON.

Это делает его гибким и совместимым, что нравится разработчикам и интеграторам.
Интеграция с другими системами – важная часть работы компании. OData позволяет выгружать данные из 1С, что упрощает и ускоряет сбор информации.OData – это протокол, разработанный Microsoft для доступа к данным. Он помогает соединять разные системы и приложения, что полезно для решения оперативных задач. OData автоматически формирует запросы, что облегчает работу администраторов и разработчиков.
Тем не менее, у OData есть свои серьёзные ограничения:
Он может не справляться с большими объёмами данных, так как рассчитан на работу с небольшими наборами.
Также OData не всегда хорошо подходит для сложных запросов с фильтрами и логикой.
Ещё один момент – для работы с OData нужно знать T-SQL. Это язык запросов для работы с базами данных SQL Server. Не все умеют им пользоваться, что может стать проблемой.
Таким образом, OData – это полезный инструмент для выгрузки данных, но нужно учитывать его ограничения. В некоторых случаях лучше использовать другие методы и инструменты.
Важно знать:
OData — это технология, которая помогает легко извлекать данные из 1С и использовать их в других программах, например, в Power BI. Она может загружать данные из интернета в свою базу данных, что делает работу с информацией проще и удобнее.
Но, например, Yandex DataLens не может напрямую работать с OData. Чтобы решить эту проблему, можно создать скрипт с помощью Yandex Cloud Function. Этот скрипт будет регулярно переносить данные в облачную систему Clickhouse, а затем их можно будет показать с помощью специальных инструментов. Однако для этого нужен опытный программист.
![]()
Решение для автоматизированного извлечения данных из системы 1С – Экстрактор данных 1С
Данное решение помогает выгружать данные из 1С или электронных таблиц Excel и загружать их в другие базы данных, для дальнейшего использования в BI системах и прочих системах представления.
Это ПО не требует нанимать специалистов для настройки обмена данными. Оно также защищает важную информацию, не давая никому прямого доступа к базе данных 1С.
После установки Экстрактора в программу 1С и небольшой настройки, оно автоматически выгружает данные. Это обеспечивает постоянный обмен информацией.
Полученные данные можно легко использовать в аналитических системах, таких как Yandex Datalens, Power BI, Visiology и прочих BI системах.
Преимущества этого инструмента:
-
Совместим с любой конфигурацией 1С.
-
Быстро и безопасно выгружает данные, не видя их.
-
Автоматически обновляет любые данные.
-
Обеспечивает безопасность в процессе выгрузки данных.
-
Легко настраивается и не требует узких знаний.
-
Имеется бесплатная техническая поддержка на начальных этапах.
-
Продукт позволяет создавать разные отчеты.
-
Продукт включен в реестр российского ПО.
Этот инструмент помогает упростить работу с данными, сделать ее более эффективной и снизить риски, связанные с ошибками человека.