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

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

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

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

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

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

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

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

Параметр @rownum имеет специальное значение в 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. См. обработчики 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.