Źródło danych

Źródło danych dla wydruku musi zostać umieszczone w pliku o nazwie Data.xml. Głównym elementem w pliku jest sekcja data wewnątrz której musi się znaleźć dokładnie jeden element setf. Wewnątrz elementu setf musi się znaleźć jeden lub więcej elementów set. Każdy element set reprezentuje jeden zbiór danych (wynik jednego zapytania SQL). Musi on zawierać dwa elementy podrzędne: name – który określa nazwę zbioru oraz query, które definiuje zapytanie SQL na bazie danych systemu ERP XL.

Uwaga
Prezentowane zapytania SQL mogą różnić się w zależności od wersji systemu ERP XL.

 

Przykładowy plik Data.xml

Przykład
<?xml version=”1.0″ encoding=”utf-8″?>
<data>
<setf>
<set>
<name>DocumentPositions</name>
<query>
SELECT A.Code, A.Name, I.Quantity, I.RealizedQuantity, A.BasicUnitSymbol,
CAST(I.RealizedQuantity * ISNULL(AU.Denominator, 1) / ISNULL(AU.Nominator, 1) as DECIMAL(19,4)) as SecondaryQuantityRealized,
ISNULL(AU.UnitSymbol, A.BasicUnitSymbol) as SecondaryUnitSymbol
FROM WMS.Items I
JOIN WMS.vArticles A ON I.ArticleId = A.Id
LEFT JOIN WMS.vArticleUnits AU on AU.ArticleId = I.ArticleId AND AU.UnitId = I.SecondaryUnitId
WHERE I.DocumentId = @DocumentId
</query>
</set>
<set>
<name>CompanyData</name>
<query>
SELECT Frm_GidFirma as CompanyUnitId, Frm_Nazwa1
as CompanyFullName, Frm_Ulica as Street, Frm_KodP as ZipCode, Frm_Miasto as [City], Frm_NipPrefiks as NipPrefiks, Frm_NIP as NIP, Frm_telefon1 as Phone, Frm_Email as Email
FROM [CDN].[Firma]
WHERE Frm_DataArc = 0
</query>
</set>
</setf>
</data>

 

Zapytanie może być standardowym zapytaniem SQL lub nazwą procedury składowanej, która zwraca żądany wynik. Aby skorzystać z procedury składowanej do elementu query należy dodać atrybut type z wartością StoredProcedure.

Wskazówka
Przy wykonywaniu zapytań z pliku Data.xml przekazywane są do nich parametry zależne od typu oraz kontekstu wydruku. Jakie parametry przekazywane są do określonego typu wydruku można sprawdzić w tabeli [WMS].[PrintoutsArguments]. W przykładzie powyżej wykorzystany został jeden parametr @DocumentId.

 

Czy ten artykuł był pomocny?