Обработка изменений OData
В этой статье описывается настройка сервисов OData для обработки изменений ячеек в надстройке SaveToDB 10 или выше.
OData не предоставляет стандартных возможностей для описания обработчиков событий.
Существует два способа конфигурации отсутствующих возможностей OData:
- Использовать аннотации.
- Использовать объекты OData, которые возвращают настройки.
Для сторонних сервисов OData разработчики могут опубликовать таблицу xls.handlers в виде EntitySet.
Надстройка SaveToDB определяет объекты настройки по сигнатуре полей и загружает их после загрузки документа метаданных.
Настройка обработчиков событий аналогична следующим подходам:
Однако рекомендуется использовать объекты OData вместо объектов базы данных.
Например, можно задать целевой EntitySet для сохранения изменений:
| ID | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | EVENT_NAME | HANDLER_SCHEMA | HANDLER_NAME | HANDLER_TYPE | HANDLER_CODE | TARGET_WORKSHEET | MENU_ORDER | EDIT_PARAMETERS |
|---|---|---|---|---|---|---|---|---|---|---|---|
| s02 | cashbook | Change | default | s02_cashbook | ENTITYSET |
Ниже приведен пример использования ActionImport:
| ID | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | EVENT_NAME | HANDLER_SCHEMA | HANDLER_NAME | HANDLER_TYPE | HANDLER_CODE |
|---|---|---|---|---|---|---|---|---|
| s02 | usp_cashbook3 | Change | default | s02_usp_cashbook3_change | ACTIONIMPORT |
В обоих случаях слева указывается тип объекта, а в полях обработчика событий — элементы контейнера, доступные для вызова.
Обратите внимание, что конфигурации не конфликтуют с конфигурациями для объектов базы данных.
Таким образом, пользователи могут подключаться как к базе данных, так и к сервису OData, а надстройка выберет необходимую конфигурацию из таблицы xls.handlers.
Вы также можете использовать методы, описанные в статье Обработка изменений для REST API.