Настройка вкладки отчетов
Вкладка Отчеты настраивается с помощью специальных рабочих листов с суффиксом _setup.
Например, используйте лист report_setup для настройки вкладки для листа report.
Такие листы можно создавать с помощью кнопки Создать лист настройки отчетов меню инструментов разработчика.
С помощью кнопки группы Параметры можно легко переключаться между листами отчета и настройки.
Также можно легко проверять изменения настроек на вкладке Отчеты.
Лист настройки вкладки отчета может содержать следующие элементы, разделенные пустыми строками:
Заголовок
Ячейка A1 должна содержать значение savetodb _90.
Фильтр
Элементы фильтра определяют строку и столбец с пустыми значениями ячеек, 0 или 1.
Надстройка скрывает строки и столбцы для 0 и открывает строки и столбцы для 1.
Поскольку ячейки фильтра могут содержать формулы, использующие значения параметров, можно создавать динамические отчеты только с помощью формул Excel.
Надстройка отображает элементы фильтра в меню Применить группы Настройка.
Ниже приведен пример конфигурации:
A | B | C | D | E |
---|---|---|---|---|
filter | Применить фильтр | BeforeChange | $2:$2 | $F:$F |
Значения столбцов:
A - filter
B - имя фильтра для меню "Применить"
C - имя ImageMso для меню "Применить"
D - адрес строки фильтра
E - адрес столбца фильтра
Значения ImageMso можно найти в Интернет.
Обновить
Элементы reload позволяют перезагружать данные на других рабочих листах с помощью пунктов меню Обновить.
Обычно отчеты используют данные с таких листов с помощью формул.
Ниже приведен пример настройки:
A | B | C | D | E | F | G | H |
---|---|---|---|---|---|---|---|
reload | Обновить | Refresh | data |
Значения столбцов:
A - reload
B - имя элемента для меню "Обновить"
C - имя ImageMso для меню "Обновить"
D - пусто
E - имя объекта ListObject или листа для перезагрузки
F - пусто
G - имя параметра объекта запроса для обновления
H - значение параметра объекта запроса для обновления
Если обновляемый запрос имеет несколько параметров, используйте строки ниже и заполните столбцы G и H.
Используйте строки ниже и заполните столбцы E, G и H, чтобы обновлять несколько объектов, используя один и тот же пункт меню.
Сохранить
Элементы save позволяют сохранять данные с помощью пунктов меню Сохранить.
Каждый элемент использует два диапазона:
- Диапазон источников данных
- Подключенный объект ListObject, используемый для сохранения данных
Надстройка считывает данные из диапазонов, сравнивает данные и выполняет команды SQL для обновления целевого диапазона.
Затем он перезагружает данные объекта ListObject, чтобы они были готовы для сохранения новых данных.
Параметр должен содержать столбец или список столбцов, используемые в качестве ключей строк.
Надстройка использует такие ключи для связывания исходных и целевых строк.
Для связывания строк по их номерам можно использовать значение rownum или rownum2.
Ниже приведен пример конфигурации:
A | B | C | D | E | F | G | H |
---|---|---|---|---|---|---|---|
save | Сохранить отчет | DatabaseSqlServer | report | report_data | rownum | category_id | 69 |
time_id | 67 |
Значения столбцов:
A - save
B - имя элемента для меню "Сохранить"
C - имя ImageMso для меню "Сохранить"
D - имя исходного диапазона
E - имя подключенного объекта ListObject, используемого для сохранения данных
F - имя столбца или список столбцов, разделенных запятыми, используемый в качестве ключей строк
G - имя параметра объекта запроса, используемого для сохранения данных
H - значение параметра объекта запроса, используемого для сохранения данных
Если целевой запрос имеет несколько параметров, используйте строки ниже и заполните столбцы G и H, как показано в примере.
Для сохранения нескольких диапазонов с использованием одного и того же пункта меню используйте строки ниже и заполните столбцы D-H.
Сохранение слиянием
Режим объединения аналогичен режиму сохранения, описанному выше.
В отличие от режима сохранения, надстройка не удаляет целевые строки, отсутствующие в источнике.
Используйте ключевое слово merge в столбце A.
Действия
Элементы actions позволяют выполнять различные операции с помощью меню Действия.
Ниже приведен пример настройки:
A | B | C | D | E | F | G | H |
---|---|---|---|---|---|---|---|
actions | Экспорт в Excel | ExportExcel | ExportToExcel | ||||
actions | Экспорт в PDF | PublishToPdfOrEdoc | ExportToPDF | ||||
actions | Справка | HyperlinkInsert | https://www.savetodb.ru/report_setup_help |
Значения столбцов:
A - actions
B - имя элемента для меню "Действия"
C - имя ImageMso для меню "Действия"
D - пусто
E - имя подключенной таблицы ListObject, используемой для получения строки соединения
F - действие для выполнения
G - имя параметра
H - значение параметра
Выполняемое действие может содержать:
- имя процедуры или SQL-код для выполнения
- URL-адрес
- ExportToExcel
- ExportToPDF
ExportToExcel и ExportToPDF являются встроенными действиями надстройки SaveToDB.
Пример использования хранимых процедур см. ниже.
Контекстное меню
Элементы contextmenu позволяют выполнять различные операции с помощью контекстного меню Excel.
Они аналогичны элементам action, описанным выше.
Однако, контекстное меню должно иметь имя диапазона в столбце D, а действия могут использовать контекст ячейки.
Надстройка отображает элементы контекстного меню для ячеек в заданном диапазоне.
Кроме того, надстройка считывает заголовки столбцов из первой строки диапазона.
Действия контекстного меню могут получать значения активной строки, используя параметры с именами заголовков.
Кроме того, действия контекстного меню могут использовать значения контекста, также как обычные обработчики событий SaveToDB:
- @column_name
- @cell_value
- @cell_number_value
- @cell_datetime_value и другие
Полный список доступных значений контекста см. в руководстве разработчика.
Ниже приведен пример конфигурации:
A | B | C | D | E | F | G | H |
---|---|---|---|---|---|---|---|
contextmenu | Показать детали | 3892 | report | data | xls27.xl_actions_budget_report_cell_data | category_id | 69 |
time_id | 67 | ||||||
entity_id | 0 |
Обратите внимание, что элементы контекстного меню требуют значений FaceId, а не ImageMso в столбце C.
Параметр
Элементы parameter позволяют определять параметры ленты.
Ниже приведен пример конфигурации параметра раскрывающегося списка:
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
parameter | Отчет | list | 1 | |||
Доходы и расходы | ||||||
Движение денег | ||||||
Баланс |
Значения столбцов:
A - parameter
B - имя параметра ленты
C - тип данных
D - список значений
E - фактическое значение параметра
F - имя подключенной таблицы ListObject
G - имя параметра подключенной таблицы ListObject
Пример конфигурации определяет четыре элемента списка, включая первый пустой элемент.
При изменении пользователем значения параметра, надстройка обновляет фактическое значение в столбце E.
Такие значения можно использовать в формулах, в том числе для установки значений параметров других элементов конфигурации отчета.
Эта функция работает подобно элементам управления форм VBA. Однако, он определяется на листе и вместо элементов управления форм используются параметры ленты.
Надстройка поддерживает следующие типы данных:
- list (список)
- string (строка)
- integer (целое число)
- double (число с десятичными знаками)
- date (дата)
- bit (бит)
- boolean (логическое значение)
Элементы типа данных list должны содержать значения списка. Надстройка обновляет столбец E с выбранным индексом элемента, начиная с 1.
Элементы типов данных bit и boolean устанавливают флажки на ленте. Столбец E имеет значения TRUE или FALSE без значения NULL.
Для элементы других типов на ленту помещаются обычные поля ввода. При этом надстройка проверяет входные значения в соответствии с указанным типом данных и обновляет столбец E введенным значением.
Ниже приведен пример конфигурации параметра флажка:
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
parameter | Показать пустые строки | boolean | FALSE |
Ниже приведен пример конфигурации параметров подключенного ListObject:
A | B | C | D | E | F | G |
---|---|---|---|---|---|---|
parameter | Категория | 69 | data | category_id | ||
parameter | Период | 67 | data | time_id | ||
parameter | Подразделение | data | entity_id |
Столбец F содержит имя подключенной таблицы ListObject. Например, для подключения используется мастер подключения к базе данных.
Столбец G содержит имена параметров подключенной таблицы ListObject, в то время как столбец B содержит имена параметров ленты.
Значения в столбцах C и D можно опустить, поскольку надстройка автоматически определяет типы данных параметров и списков значений.
При изменении таких параметров надстройка обновляет столбец E новыми значениями, перезагружает подключенный ListObject и повторно применяет активные фильтры.
Например, если пользователь изменяет параметр category_id, надстройка обновляет данные отчета, включая новые пустые и непустые строки.
Если фильтр показывает только непустые строки, то будет отображен отчет с новыми актуальными строками, так как надстройка повторно применяет фильтр.