Списки значений ячеек

Списки значений ячеек

Предположим, база данных содержит следующие таблицы:

Database Diagram of Sample 02 - Advanced Features

Было бы здорово предложить при редактировании полей account_id, item_id и company_id использовать списки значений из таблиц первичного ключа вместо числовых значений.

В документации используется термин "validation list" из Microsoft Excel.

Разработчики могут настроить списки значений ячеек используя тип ValidationList в таблице xls.handlers.

Например:

IDTABLE_SCHEMATABLE_NAMECOLUMN_NAMEEVENT_NAMEHANDLER_SCHEMAHANDLER_NAMEHANDLER_TYPEHANDLER_CODE
 s02cashbookaccount_idValidationLists02accountsTABLEid, +name
 s02cashbookitem_idValidationLists02itemsTABLEid, +name
 s02cashbookcompany_idValidationLists02companiesTABLEid, +name

SaveToDB 8+, DBEdit, DBGate и ODataDB создают такие настройки для таблиц, представлений и хранимых процедур автоматически, если заданы отношения таблиц и доступно SQL-определение объекта.

Вы можете отменить автоматические списки для объекта, добавив хотя бы один список вручную или установив тип события DoNotAddValidation.

Чтобы быстро настроить списки, можно скопировать, вставить и поправить автоматическую конфигурации из информации о книге надстройки SaveToDB (в меню "Справка").

Списки значений работают следующим образом: загружаются основные данные как есть, загружаются списки значений, затем значения ключа из первой колонки меняются на значения из второй колонки.

Когда пользователь сохраняет изменения или выполняются обработчики, то происходит обратная конвертация табличных значений на значения первичного ключа.

Эта конвертация выполняется очень быстро. Об этом можно не беспокоиться.

Однако, сама загрузка списков значений может занимать дополнительное время.

Соответственно, SaveToDB и DBEdit загружают списки значений при первом подключении и при выполнении действий Обновить данные и конфигурацию и Обновить списки значений.

SaveToDB и DBEdit не обновляют списки значений при обычном обновлении данных.

SaveToDB 10 может автоматически обновлять списки значений, используя зависимости объектов. См. Зависимые списки значений.

Примеры списков значений выше содержат две колонки, id и name.

Можно также использовать списки из одной колонки. В этом случае, создаются списки значений, но без операций конвертации.

Можно задать списки с фиксированными значениями. См. Списки фиксированных значений.

Также можно использовать списки, которые зависят от значений параметров запросов или значений в ячейках строки. См. Динамические и фильтрованные списки.

См. подробные статьи о создании списков значений с использованием объектов баз данных:

См. также подробные статьи о создании списков значений с использованием REST API: