pixiReportInvlines
Liefert Rechnungspositionen in einem Datumsbereich, optional gefiltert nach Shop, Zahlungsart, Lieferant, Kategorie, EAN und interner Artikelnummer.
Liest Rechnungspositionen aus der View PV_Invlines und ergänzt den Währungscode des Auftrags über die Tabellen für Wechselkurse (pixi.ExchRate) und Währungen (pixi.Currency).
Ablauf:
- Die Anzahl der gelieferten Zeilen wird auf
Rowcountbegrenzt (Standard 1000). DateFromwird auf den Tagesbeginn (00:00:00) gesetzt.- Ist
DateToleer oderNULL, gilt das aktuelle Datum mit Uhrzeit. Andernfalls wirdDateToauf das Tagesende (23:59:59.997) gesetzt. - Leere Zeichenketten in den optionalen Filterparametern werden wie
NULLbehandelt; der Filter entfällt dann. - Geliefert werden nur Rechnungspositionen, deren Rechnungsdatum zwischen
DateFromundDateToliegt. Die folgenden optionalen Filter werden mit UND verknüpft:ShopID:ShopID LIKE @ShopIDPaymentType: exakter Vergleich mitPaymentTypeSupplNr: Für den Artikel muss inAddItemsein Eintrag mit diesem Lieferanten existieren. Jeder dem Artikel zugeordnete Lieferant zählt, nicht nur der Lieferant der Rechnungsposition.Category: Der Kategorietext wird inTontrArten.TontrTextgesucht. Die zugehörigeTontrArtwird perLIKEmit demconfigtypeder Position verglichen.EAN:EANUPC LIKE @EANItemNrInt:ItemNrInt LIKE @ItemNrInt
Der Code enthält kein ORDER BY; die Reihenfolge der Zeilen ist daher nicht festgelegt.
Hinweise
- Alle Tabellen werden
WITH (NOLOCK)gelesen. Nicht festgeschriebene Daten können im Ergebnis erscheinen. - Die Zeilenbegrenzung erfolgt über
SET ROWCOUNT.Rowcount= 0 hebt die Begrenzung auf. ShopID,EANundItemNrIntwerden perLIKEverglichen; Platzhalter wie%und_sind möglich.- Wird der Text von
CategoryinTontrArtennicht gefunden, werden keine Zeilen geliefert. Kommt der Text mehrfach vor, liefert die Unterabfrage mehrere Werte und SQL Server meldet einen Fehler. - Ohne
DateToendet der Zeitraum zum aktuellen Zeitpunkt, nicht am Ende des aktuellen Tages. - Rechnungspositionen ohne passenden Wechselkurs oder ohne passende Währung werden durch die Inner Joins ausgeschlossen.
InvDatewird als Zeichenkette im Formatyyyy-mm-dd hh:mi:ssgeliefert.- Der Kopfkommentar der Prozedur ist ein allgemeiner Vorlagentext und beschreibt diesen Aufruf nicht.
PV_Invlinesist eine View, deren Definition nicht beigefügt ist. Die Datentypen der meisten Spalten lassen sich daher nicht ableiten.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
Rowcount
|
int | 1000 |
Maximale Anzahl gelieferter Zeilen; 0 bedeutet keine Begrenzung. Beispiel: |
DateFrom
Pflicht
|
datetime dateTime |
– |
Beginn des Rechnungsdatumsbereichs. Die Uhrzeit wird auf den Tagesbeginn gesetzt. Beispiel: |
DateTo
|
datetime dateTime |
NULL |
Ende des Rechnungsdatumsbereichs, wird auf das Tagesende gesetzt. Ist der Wert leer, gilt das aktuelle Datum mit Uhrzeit. Beispiel: |
ShopID
|
varchar(3) string |
NULL |
Filter auf die Shop-ID, Vergleich per LIKE. Leer bedeutet alle Shops. Beispiel: |
PaymentType
|
char(1) string |
NULL |
Filter auf die Zahlungsart der Rechnung (exakter Vergleich). Leer bedeutet alle Zahlungsarten. Beispiel: |
SupplNr
|
varchar(4) string |
NULL |
Lieferantennummer. Liefert nur Positionen von Artikeln, denen dieser Lieferant in Beispiel: |
Category
|
varchar(50) string |
NULL |
Kategorietext wie in Beispiel: |
EAN
|
varchar(13) string |
NULL |
Filter auf die EAN/UPC des Artikels, Vergleich per LIKE. Beispiel: |
ItemNrInt
|
varchar(50) string |
NULL |
Filter auf die interne Artikelnummer, Vergleich per LIKE. Beispiel: |
Antwort
Result-Set 1 · Immer
Rechnungspositionen, die den Filtern entsprechen, begrenzt auf Rowcount Zeilen, ohne festgelegte Reihenfolge.
| Spalte | Typ | Beschreibung |
|---|---|---|
Itemkey
Kann leer sein |
int |
Schlüssel des Artikels. |
InvoiceKey
Kann leer sein |
int |
Schlüssel der Rechnung. |
InvoiceNR
Kann leer sein |
string |
Rechnungsnummer. |
InvDate
Kann leer sein |
varchar(30) string |
Rechnungsdatum als Text im Format |
PaymentType
Kann leer sein |
string |
Zahlungsart der Rechnung. |
orderlinekey
Kann leer sein |
int |
Schlüssel der zugehörigen Auftragsposition. |
ShopID
Kann leer sein |
string |
Shop-ID. |
SupplNR
Kann leer sein |
string |
Lieferantennummer der Rechnungsposition. |
Supplier
Kann leer sein |
string |
Name des Lieferanten. |
ItemName
Kann leer sein |
string |
Artikelbezeichnung. |
EANUPC
Kann leer sein |
string |
EAN/UPC des Artikels. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer. |
ItemNrSuppl
Kann leer sein |
string |
Artikelnummer des Lieferanten. |
Category
Kann leer sein |
string |
Artikelkategorie. |
ItemQty
Kann leer sein |
int |
Berechnete Menge. |
SupplPrice
Kann leer sein |
decimal |
Einkaufspreis beim Lieferanten. |
ItemPrice_Brutto
Kann leer sein |
decimal |
Bruttopreis des Artikels. |
ItemPrice_netto
Kann leer sein |
decimal |
Nettopreis des Artikels. |
ItemPrice_VAT
Kann leer sein |
decimal |
Mehrwertsteuerbetrag oder -satz des Artikelpreises; der Code lässt offen, welcher Wert gemeint ist. |
OrderCurrencyCode
Kann leer sein |
string |
Währungscode ( |
Beispielantwort
<SqlRowSet1>
<row>
<Itemkey>10045</Itemkey>
<InvoiceKey>88231</InvoiceKey>
<InvoiceNR>R2024-001234</InvoiceNR>
<InvDate>2024-03-05 14:22:10</InvDate>
<PaymentType>R</PaymentType>
<orderlinekey>554120</orderlinekey>
<ShopID>ABC</ShopID>
<SupplNR>L001</SupplNR>
<Supplier>Muster GmbH</Supplier>
<ItemName>USB-Kabel 2m</ItemName>
<EANUPC>4006381333931</EANUPC>
<ItemNrInt>ART-10045</ItemNrInt>
<ItemNrSuppl>MU-778</ItemNrSuppl>
<Category>Zubehör</Category>
<ItemQty>2</ItemQty>
<SupplPrice>2.50</SupplPrice>
<ItemPrice_Brutto>9.99</ItemPrice_Brutto>
<ItemPrice_netto>8.39</ItemPrice_netto>
<ItemPrice_VAT>19.00</ItemPrice_VAT>
<OrderCurrencyCode>EUR</OrderCurrencyCode>
</row>
</SqlRowSet1>
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiReportInvlines>
<!-- <Rowcount>500</Rowcount> -->
<DateFrom>2024-03-01T00:00:00</DateFrom>
<!-- <DateTo>2024-03-31T00:00:00</DateTo> -->
<!-- <ShopID>ABC</ShopID> -->
<!-- <PaymentType>R</PaymentType> -->
<!-- <SupplNr>L001</SupplNr> -->
<!-- <Category>CD</Category> -->
<!-- <EAN>4006381333931</EAN> -->
<!-- <ItemNrInt>ART-10045</ItemNrInt> -->
</ns1:pixiReportInvlines>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiReportInvlines>
<!-- <Rowcount>500</Rowcount> -->
<DateFrom>2024-03-01T00:00:00</DateFrom>
<!-- <DateTo>2024-03-31T00:00:00</DateTo> -->
<!-- <ShopID>ABC</ShopID> -->
<!-- <PaymentType>R</PaymentType> -->
<!-- <SupplNr>L001</SupplNr> -->
<!-- <Category>CD</Category> -->
<!-- <EAN>4006381333931</EAN> -->
<!-- <ItemNrInt>ART-10045</ItemNrInt> -->
</ns1:pixiReportInvlines>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'Rowcount' => '500',
'DateFrom' => '2024-03-01T00:00:00',
// 'DateTo' => '2024-03-31T00:00:00',
// 'ShopID' => 'ABC',
// 'PaymentType' => 'R',
// 'SupplNr' => 'L001',
// 'Category' => 'CD',
// 'EAN' => '4006381333931',
// 'ItemNrInt' => 'ART-10045',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiReportInvlines', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiReportInvlines