Пример DBGate 17 - Заявка в бюджет

Этот пример демонстрирует создание форм типа заявки в бюджет приложения Gartle Budgeting.

Пример формы заявки в бюджет

Динамическое количество строк и фиксированный порядок строк

Процедура s17.usp_request имеет параметр @rows и возвращает требуемое количество строк. См. исходный код процедуры.

Для отключения сортировки колонок определен обработчик DoNotSort.

Для сохранения порядка строк, процедуры s17.usp_request_insert и s17.usp_request_update используют параметры @row_index и @rownum.

Параметр @row_index получает исходное загруженное значение колонки row_index. Это обычное поведение.

А параметр @rownum имеет специальное значение в DBGate. DBGate передает в нем актуальный номер строки.

Поэтому, когда пользователь удаляет или добавляет строку, DBGate сохраняет изменения во всех последующих,
т.к. они имеют новое значение параметра @rownum.

Сохранение изменений

Процедура s17.usp_request использует процедуры для сохранения изменений:
s17.usp_request_insert, s17.usp_request_update и s17.usp_request_delete.

DBGate определяет эти процедуры автоматически за счет суффиксов. В этом случае настройка не требуется.

Как сказано выше, эти процедуры используют специальный параметр @rownum.

Также они используют специальный параметр @transaction_start_time, который содержит время начала транзакции.

Списки значений параметров и ячеек

Пример загружает списки значений из таблиц, заданных в таблице xls.handlers table. См. обработчики ParameterValues и ValidationList.

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

Посмотрите на модель $metadata для получения деталей.

Значения по умолчанию

Этот пример содержит константы в обработчиках DefaultValue таблицы xls.handlers.

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

Начальный формат и условное форматирование

Этот пример использует два типа форматов:

Вы можете использовать плагин SaveToDB для сохранения форматов таблиц Excel.
Используйте пункт меню "Сохранить", "Сохранить формат таблицы".

DBGate загружает форматы Excel только при первом подключении.
При этом скрываются колонки и устанавливаются форматы числовых ячеек.

Второй тип форматов DBGate загружает при каждом подключении, так что пользователи всегда получают последний формат.

Вы можете использовать бесплатную версию плагина SaveToDB для преобразования условного форматирования Excel в набор правил.
Используйте пункт меню "Мастера", "Инструменты разработчика", "Показать формат таблицы".

Формулы на стороне клиента

Форма примера содержит расчетную колонку итогов, которая рассчитывается формулой, заданной в процедуре s17.usp_request.

DBGate поддерживает формулы Excel, которые используют имена колонок и операторы JavaScript.

Встраивание форм

Чтобы встроить форму, добавьте db.css в заголовок, db.js в конец страницы и используйте элемент как:

<div class="db-control" data-app="dbgate" data-url="v4/mssql-171/en-us/usp_request"></div>

Заключение

DBGate содержит много возможностей. Не стесняйтесь связаться с нами для их обсуждения.

Браузер кода



Вы можете загрузить примеры для SQL Server, Oracle Database, MySQL и PostgreSQL на странице SaveToDB SDK.