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>
Nazwa | IsRequired |
Opis | Znacznik czy dany argument ma być wymagany przy otwarciu raportu |
Zawartość |
|
Nazwa | CustomTypeName |
Opis | Nazwa typu. Używane z typem raportu Custom. |
Zawartość |
|
Nazwa | AutocompleteSqlProc |
Opis | Używane z typem raportu Autocomplete. Umożliwia automatyczną podpowiedź podczas uzupełniania pola. |
Zawartość | Brak |
Elementy podrzędne |
|
Nazwa | AutocompleteSqlProc: Name |
Opis | Nazwa procedury na bazie SQL zwracającej podpowiedzi. |
Zawartość |
|
Nazwa | AutocompleteSqlProc: Parameters |
Opis | Znacznik parametrów, które przyjmuje procedura. |
Zawartość | Brak |
Elementy podrzędne |
|
Nazwa | AutocompleteSqlProc: Parameters: ArgumentValueParameter |
Opis | Identyfikator argumentu. |
Parametry |
|
Zawartość |
|
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>Custom</Type> <CustomTypeName>Operators</CustomTypeName> <Name>Operators</Name> <VisibleName>Operatorzy</VisibleName> <IsRequired>true</IsRequired> </Argument>
Powyższa definicja argumentu w aplikacji wygląda następująco:
Używając parametru IsRequired konieczny będzie wybór conajmniej jednej wartości.
<Argument> <Type>Text</Type> <Name>ArticleCode</Name> <VisibleName>Kod artykułu</VisibleName> <IsRequired>false</IsRequired> </Argument>
Powyższa definicja argumentu w aplikacji wygląda następująco:
Możliwe jest wpisanie dowolnej wartości tekstowej.
<Argument> <Type>Autocomplete</Type> <Name>LocationCode</Name> <VisibleName>Położenie</VisibleName> <AutocompleteSqlProc> <Name>WMS.Reports_GetLocationsAutocompleteData</Name> <Parameters> <ArgumentValueParameter paramname="WarehouseId">WarehouseId</ArgumentValueParameter> </Parameters> </AutocompleteSqlProc> <DefaultSql></DefaultSql> <IsRequired>false</IsRequired> </Argument>
Powyższa definicja argumentu w aplikacji wygląda następująco:
Podczas wpisywania wartości wyświetlane są podpowiedzi.