Использование параметров – списков в отчетах

При написании отчетов может возникнуть необходимость фильтровать данные по некоторым параметрам. Например, по пользователям, контрагентам, проектам и т.д. Более подробно о создании отчетов можно узнать здесь и здесь.

При использовании для фильтрации нескольких записей, необходимо добавить параметр с типом связи Многие-ко-Многим.

 

 

 Запрос будет выглядеть примерно так:

Select *
from TableName
where
Property in (@Parameter)

 

В этом случае, фильтрация будет проходить по указанным пользователем элементам, но если понадобится посмотреть все записи, без фильтрации по этому параметру, отчет выдаст ошибку. В стандарте SQL нет возможности проверить список на null, поэтому в генераторе отчетов ELMA была добавлена возможность проверки списка. Предыдущий запрос с проверкой списка будет выглядеть следующим образом:

Select * 
from TableName as tn
where 
tn.Status <> 0
{if {$Parameter.Count} > 0 }
and
Property in (@Parameter)
{end if}

Если в списке не будет указано ни одной записи, этот параметр будет игнорироваться.