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
  • Custom – wybór jednej lub wielu wartości
  • Text – pole tekstowe
  • Autocomplete – pole tekstowe z autouzupełnianiem

 

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>

 

Nazwa IsRequired
Opis Znacznik czy dany argument ma być wymagany przy otwarciu raportu
Zawartość
  • brak sekcji – argument nie wymagany
  • true – argument wymagany
  • false – argument niewymagany

 

Nazwa CustomTypeName
Opis Nazwa typu. Używane z typem raportu Custom.
Zawartość
  • wartość tekstowa

 

Nazwa AutocompleteSqlProc
Opis Używane z typem raportu Autocomplete. Umożliwia automatyczną podpowiedź podczas uzupełniania pola.
Zawartość Brak
Elementy podrzędne
  • Name
  • Parameters

 

Nazwa AutocompleteSqlProc: Name
Opis Nazwa procedury na bazie SQL zwracającej podpowiedzi.
Zawartość
  • wartość tekstowa

 

Nazwa AutocompleteSqlProc: Parameters
Opis Znacznik parametrów, które przyjmuje procedura.
Zawartość Brak
Elementy podrzędne
  • ArgumentValueParameter

 

Nazwa AutocompleteSqlProc: Parameters: ArgumentValueParameter
Opis Identyfikator argumentu.
Parametry
  • paramname – nazwa argumentu używana w procedurze
Zawartość
  • wartość tekstowa określająca nazwę argumentu używanej w procedurze
Wskazówka
Odwołanie do poszczczególnych argumentów odbywa się poprzez znak @ np. @WarehouseId.

 

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 Custom:

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

Przykład
Argument typu Text:

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

Przykład
Argument typu Autocomplete:

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

 

Czy ten artykuł był pomocny?