Обновление только измененных ячеек
DBEdit, DBGate и ODataDB сохраняют строки, в которых была изменена хотя бы одна ячейка.
Например, если пользователь изменил 1 на 2, а затем вернул 2 на 1, строка все равно будет сохранена.
Надстройка SaveToDB поддерживает два режима обновления строк:
- Все ячейки
- Только измененные ячейки
В первом режиме надстройка сохраняет значения всех колонок для строк, где пользователь отредактировал хотя бы одну ячейку, даже если значения не изменились.
Во втором режиме сохраняются изменения только при наличии реальных изменений.
Первый режим работает быстрее и сохраняет меньше данных в книге.
Второй режим может сэкономить время, если изменяется большое количество строк, но данные остаются неизменными. Например, если пользователь скопировал и вставил целую колонку.
Пользователи могут выбрать режим в диалоговом окне Настройки.
Разработчики могут переопределить режим для конкретного объекта, используя типы UpdateEntireRow и UpdateChangedCellsOnly в таблице xls.handlers.
Пример:
ID | TABLE_SCHEMA | TABLE_NAME | COLUMN_NAME | EVENT_NAME | HANDLER_SCHEMA | HANDLER_NAME | HANDLER_TYPE | HANDLER_CODE |
---|---|---|---|---|---|---|---|---|
s03 | usp_budget_request | UpdateEntireRow | ATTRIBUTE |