Генератор запросов OData

30.04.26

Интеграция - WEB-интеграция

Генератор запросов, значительно упрощающий формирование URL запросов к стандартному интерфейсу OData, встроенному в платформу «1С:Предприятие 8».

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Генератор запросов к стандартному сервису OData
.epf 15,01Kb
2 3 000 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Внешняя обработка «Генератор OData запросов» для 1С

Аннотация.

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


1. Зачем это нужно?

Начиная с версии 8.3.5, платформа 1С поддерживает автоматическую публикацию объектов метаданных через протокол OData. Это открывает широкие возможности для интеграции: получение данных из 1С без написания прямых запросов, работа из любых сред (включая Linux), построение личных кабинетов, выгрузка/загрузка данных и многое другое.

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


2. Основные возможности

Обработка представляет собой внешнюю epf форму, работающую в режиме управляемого приложения. Её ключевые функции:

  • Автоматическое построение дерева ресурсов OData
    При запуске обработка анализирует метаданные текущей информационной базы и строит иерархический список всех доступных для публикации объектов, включая:

    • справочники, документы, журналы документов, планы видов характеристик, планы счетов, планы видов расчёта, планы обмена, константы;
    • регистры сведений (записи и срез последних);
    • регистры накопления, расчёта, бухгалтерии;
    • бизнес процессы и задачи;
    • табличные части перечисленных объектов. Для каждого элемента отображается его внутреннее имя и реальное имя ресурса в OData (префикс + имя, например Catalog_Номенклатура).
  • Задание фильтров ($filter)
    Добавлена удобная таблица, где для каждой строки можно выбрать:

    • поле ресурса (с возможностью выбора из списка свойств выбранного объекта);
    • оператор сравнения (eqnegtgeltlesubstringofstartswithendswith – полный набор поддерживаемых OData операторов);
    • значение;
    • логическую связку с предыдущим условием (and / or). Обработчик начала выбора для поля оператора и связки формирует выпадающий список, не допуская ошибок в синтаксисе.
  • Сортировка ($orderby)
    Отдельная таблица для указания полей и направления сортировки (asc / desc). Поля также выбираются из состава свойств текущего ресурса.

  • Выбираемые поля ($select)
    Поле для перечисления через запятую имён свойств, которые необходимо включить в ответ.

  • Раскрытие связанных сущностей ($expand)
    Зарезервировано для будущей поддержки (в стандартном 1С OData не реализовано, но может пригодиться для кастомных сервисов).

  • Ограничение количества записей
    Параметры $top и $skip позволяют управлять размером выборки.

  • Выбор формата ответа
    Переключатель json / atom (xml). При выборе json добавляется параметр $format=json, для atom он опускается (поведение по умолчанию).

  • Формирование итогового URL
    По нажатию кнопки «Сформировать URL» все заданные параметры собираются в корректно закодированную строку, готовую для копирования.

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


3. Интерфейс и работа с обработкой

Внешний вид обработки разбит на несколько логических групп.

  1. Параметры сервиса
    Поле «Адрес сервиса» – базовый URL до стандартного интерфейса OData, например http://server/base/odata/standard.odata/.

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

  3. Фильтры
    Таблица со столбцами «Поле», «Оператор», «Значение», «И/ИЛИ». Предусмотрено автоматическое добавление новых строк.

  4. Сортировка
    Аналогичная таблица с колонками «Поле» и «Направление».

  5. Параметры запроса
    Поля для ввода $select$expand$top$skip и выбора формата.

  6. Кнопка «Сформировать URL» и поле результата
    Итоговый URL появляется в read only поле; его можно скопировать и использовать в любом HTTP клиенте.


4. Как это работает технически

Обработка построена целиком на стандартных механизмах платформы:

  • Дерево ресурсов формируется на сервере путём обхода коллекций метаданных (Метаданные.Справочники и т.д.) и автоматического добавления табличных частей и виртуальных таблиц регистров.
  • Списки свойств для выбора в фильтрах и сортировке генерируются функцией ПолучитьСвойстваOData, которая анализирует тип выбранного объекта и возвращает массив допустимых имён (включая суффиксы _Key_Type).
  • Сборка URL происходит на клиенте: все непустые параметры объединяются знаком &, при этом значения $filter и $orderby предварительно собираются из соответствующих таблиц.
  • Сохранение настроек реализовано через СохранитьЗначение / ВосстановитьЗначение – это штатный способ хранения пользовательских данных в профиле ОС, не требующий прав на запись в базу.

Обработка не требует изменений в конфигурации и может быть запущена в любой типовой или самописной базе на платформе 8.3.5 и выше, где активирован стандартный интерфейс OData для нужных объектов.


5. Пример использования

Допустим, нам необходимо получить список контрагентов, у которых кредит больше 1000, отсортированный по убыванию наименования, только поля «Наименование» и «ИНН», и вернуть результат в формате JSON.

После открытия обработки мы действуем так:

  • В поле «Адрес сервиса» вводим http://localhost/MyBase/odata/standard.odata/.
  • В дереве раскрываем «Справочники» и выбираем Контрагенты. Автоматически подставится Catalog_Контрагенты.
  • В таблице фильтров добавляем строку:
    • Поле: Кредит (выбираем из выпадающего списка)
    • Оператор: Больше (gt)
    • Значение: 1000
  • В таблице сортировки добавляем:
    • Поле: Наименование
    • Направление: По убыванию (desc)
  • В поле «Выбираемые поля» пишем: Наименование, ИНН
  • Для формата выбираем json.

Нажимаем «Сформировать URL». В поле результата получим:

http://localhost/MyBase/odata/standard.odata/Catalog_Контрагенты?$format=json&$filter=Кредит gt 1000&$orderby=Наименование desc&$select=Наименование, ИНН

Этот URL можно сразу вставить в адресную строку браузера, использовать в PowerShell, curl или в HTTP соединении из другой учётной системы.


6. Заключение

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

Буду рад обратной связи и предложениям по развитию.

Проверено на следующих конфигурациях и релизах:

  • Бухгалтерия предприятия, редакция 3.0, релизы 3.0.196.21

Вступайте в нашу телеграмм-группу Инфостарт

Генератор OData обработка

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

42700 руб.

03.08.2020    24163    37    24    

28

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Расширение для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

24000 руб.

02.02.2021    22854    68    52    

43

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

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

17568 руб.

20.12.2024    6103    26    4    

28

WEB-интеграция Анализ продаж Системный администратор Программист Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Модуль "Подсистема интеграции AmoCRM с 1С" позволяет обеспечить единое информационное пространство, в котором пользователи могут эффективно управлять клиентской базой, следить за статусами сделок и поддерживать актуальность данных как в AmoCRM, так и в 1С.

60000 руб.

07.05.2019    42827    76    45    

31

WEB-интеграция Загрузка и выгрузка в Excel Программист Пользователь 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Платные (руб)

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

12200 руб.

29.08.2025    2598    7    6    

8
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. Tarlich 96 30.04.26 14:23 Сейчас в теме
Подскажите - можно ли получить таблицу остатков и колонку с ценой в одной таблице ?
2. redeye911 8 30.04.26 17:05 Сейчас в теме
(1) Не уверен что в OData такое возможно, пока только к единичным таблицам обращальсь - Для нужд BI хватает
Для отправки сообщения требуется регистрация/авторизация