Обработка изменений для OData
В этой статье описывается настройка сервисов OData для обработки изменений ячеек в надстройке SaveToDB 10 или выше.
OData не предоставляет стандартных возможностей для описания обработчиков событий.
Существует два способа конфигурации отсутствующих возможностей OData:
- Использовать аннотации.
- Использовать объекты OData, которые возвращают настройки.
ODataDB использует аннотации обработчиков изменений для настройки встроенного клиента JavaScript. Надстройка SaveToDB также применяет эти аннотации.
Для сторонних сервисов 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.