Raport może wykorzystywać podane przez użytkownika aplikacji po kliknięciu w ikonę argumenty (parametry). Wszystkie argumenty znajdują się w sekcji Arguments definicji raportu, zaś poszczególne argumenty opatrzone są sekcją Argument według następującego przykładu:
<Argument>
…
</Argument>
</Arguments>
Argument może zawierać następujące sekcje:
Nazwa | Type |
Opis | Typ argumentu. |
Zawartość |
|
Nazwa | Name |
Opis | Nazwa argumentu wykorzystywana w definicji raportu. |
Zawartość |
|
Nazwa | VisibleName |
Opis | Nazwa argumentu widoczna na wyświetlanym raporcie. |
Zawartość |
|
Nazwa | DefaultSql |
Opis | Wartość parametru ustawiana domyślnie. Jeżeli wartość pozostanie pusta (ustawiona na <![CDATA[]]>) to wartość parametru w aplikacji ustawi się na ‚Brak wartości’ i konieczny będzie wybór tego parametru przed otwarciem raportu. |
Zawartość |
|
Nazwa | ListSql |
Opis | Wartości parametru możliwe do wyboru. |
Zawartość |
|
<![CDATA[
SELECT 0, 'Zamówień’
UNION ALL
SELECT 1, 'Ofert’
UNION ALL
SELECT 2, 'Faktur’
]]>
</ListSql>
Argument typu List:
<Argument> <Type>List</Type> <Name>DocumentType</Name> <VisibleName>Licz dla</VisibleName> <DefaultSql> <![CDATA[ DECLARE @docTypeId INT SET @docTypeId = (SELECT COALESCE( ( SELECT TOP 1 CAST(ruav.ArgumentValue AS nvarchar(max)) FROM esm.ReportsUserArguments ruav WHERE ruav.UserName = @LoginName AND ruav.ReportFileName = @ReportFileName AND ruav.ArgumentName = 'DocumentType' ) , ( SELECT 1) )) SELECT * FROM ( SELECT 0 as Id, 'Zamówień' as Name UNION ALL SELECT 1, 'Ofert' UNION ALL SELECT 2, 'Faktur' ) p WHERE p.Id = @docTypeId ]]> </DefaultSql> <ListSql> <![CDATA[ SELECT 0, 'Zamówień' UNION ALL SELECT 1, 'Ofert' UNION ALL SELECT 2, 'Faktur' ]]> </ListSql> </Argument>
Powyższa definicja argumentu w aplikacji wygląda następująco:
Po kliknięciu w pole wartości, możliwy jest wybór wartości z listy:
Argument typu Data:
<Argument> <Type>Date</Type> <Name>DateFrom</Name> <VisibleName>Data początkowa</VisibleName> <DefaultSql> <![CDATA[ SELECT COALESCE( ( SELECT TOP 1 CAST(ruav.ArgumentValue AS DATETIME) FROM esm.ReportsUserArguments ruav WHERE ruav.UserName = @LoginName AND ruav.ReportFileName = @ReportFileName AND ruav.ArgumentName = 'DateFrom' ) , ( SELECT esm.GetDateFromParts ( YEAR(GETDATE()), 1, 1 ) ) ) ]]> </DefaultSql> <ListSql></ListSql> </Argument>
Powyższa definicja argumentu w aplikacji wygląda następująco:
Po kliknięciu w pole wartości możliwy jest wybór daty.
<Argument> <Type>Text</Type> <Name>ArticleCode</Name> <VisibleName>Kod artykułu</VisibleName> <DefaultSql><![CDATA[SELECT ' ']]></DefaultSql> </Argument>
Powyższa definicja argumentu w aplikacji wygląda następująco:
Możliwe jest wpisanie dowolnej wartości tekstowej.