Definicje argumentów

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:

Przykład
<Arguments>
<Argument>

</Argument>
</Arguments>
Uwaga
Aby wstawiane polecenia SQL działały poprawnie należy umieścić je w znaczniku <![CDATA[ polecenieSQL ]> w celu wyłączenia spod analizy deserializatora XML.

 

Argument może zawierać następujące sekcje:

Nazwa Type
Opis Typ argumentu.
Zawartość
  • List – wybór z listy
  • Date – wybór daty
  • Text – pole tekstowe

 

Nazwa Name
Opis Nazwa argumentu wykorzystywana w definicji raportu.
Zawartość
  • wartość tekstowa

 

Nazwa VisibleName
Opis Nazwa argumentu widoczna na wyświetlanym raporcie.
Zawartość
  • wartość tekstowa

 

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ść
  • polecenie SQL

 

Nazwa ListSql
Opis Wartości parametru możliwe do wyboru.
Zawartość
  • polecenie SQL
Przykład
<ListSql>
<![CDATA[
SELECT 0, 'Zamówień’
UNION ALL
SELECT 1, 'Ofert’
UNION ALL
SELECT 2, 'Faktur’
]]>
</ListSql>

 

Przykład

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:

Przykład

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.

Przykład
Argument typu Text:

<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.

Czy ten artykuł był pomocny?