Динамический источник данных - это источник данных, который использует одну или несколько переменных в выражении вместо жестко установленных значений, что позволяет динамически извлекать данные.
Источники динамических данных предлагают решение для пользователей, которым необходимо получить результирующие данные на основе выбранных условий.
Примеры:
Пользователь выбирает продукты на основе запасов в операции. Пользователь выбирает склад в заголовке операции, логично, что при выборе отображаются остатки только выбранного продукта и только для выбранного склада.
Мы настроили отчет, показывающий информацию о движении денежных средств за период. Конечно, при изменении периода в форме отчета необходимо извлечь и отобразить набор данных, соответствующий выбору пользователя.
Hubcloud может использовать динамические источники данных для решения следующих задач:
В Операциях:
- Создает динамический список на основе выбора. Например, создать список товаров выбранной группы.
- Автоматически заполнять таблицу на основе выбранных критериев (см. Подробнее: «Заполнение таблицы» и «Подобрать»)
- Получение значений, выбранных пользователем
В Отчетах:
- Фильтр по периоду
- Фильтр по элементу Справочника
Формат переменнных
При использовании динамических источников данных в Операциях переменные задаются в формате:
- $h.fildName - значение в поле fieldName заголовка операции («h» означает заголовок).
- $r.fildName - значение в поле fieldName таблицы операций («r» означает строку).
Пример:
Продукт | Магазин ($h.store) | Товар ($r. Товар) | GroupBy (товар, количество, сумма) | Вычислить (цена, сумма / количество)
При использовании динамических источников данных в Отчетах переменные задаются в формате:
- &filterName – имя фильтра, которому будет передано значение для вывода данных отчета.
При настройке отчета для выбора периода (Period) используются следующие значения:
- &dateStart - Дата начала периода
- &dateFinish - Дата окончания периода
- &dateStartPreviousDayEnd - Конец дня, предшествующий дате начала периода
- &dateFinishPreviousDayEnd - Конец дня, предшествующего периоду даты окончания
Параметры &dateStartPreviousDayEnd и &dateFinishPreviousDayEnd используются, когда необходимо получить остатки на дату, за исключением указанной даты. Например, нужно получить сальдо на начало периода, но не включая записи, в которых период равен дате начала периода.
Пример:
Example:
Money | Period (&dateStart, &dateFinish) | СompanyAccount (&account) | GroupBy (CompanyAccount, Amount) | GetTitle ()
Это выражение извлекает записи из Журнала Money за период между значениями &dateStart и &dateFinish, установленными в форме отчета. Кроме того, выбор устанавливается в соответствии со столбцом CompanyAccount в соответствии со значениями, выбранными в фильтре &account.