pixiGetPOSSalesReport
Liefert die POS-Verkaufspositionen (Kassenverkäufe) eines Zeitraums, optional für einen Standort, mit Artikel-, Lieferanten- und Preisdaten.
Erstellt einen Bericht über Kassenverkäufe (POS). Laut Kommentar im Code wurde der Aufruf für einen bestimmten Kunden (ERK) erstellt.
- Jede Zeile ist eine POS-Position aus
POSitem2. Sie wird mit ihrem POS-Kopf (POSheader2) und dem Artikel (items) verknüpft. Der Lieferant (Suppliers) wird optional über dieSupplNrdes Artikels verknüpft, daher kannSupplNameleer sein. LocIDfiltert auf den Standort des POS-Kopfs (PHlocID). Ein Leerstring oderNULLbedeutet alle Standorte.DateFromundDateTofiltern auf das Datum des POS-KopfsPHdatemit einem einschließendenBETWEEN. Ein Wert, derNULList oder vor dem 01.01.1990 liegt, wird durch das aktuelle Datum mit Uhrzeit ersetzt.- Der Bericht stellt den Listen-VK des Artikels (
VK_List) dem tatsächlich auf der POS-Position berechneten Preis (VK_Real) gegenüber. Zusätzlich werden der Lieferanten-Einkaufspreis und die Menge geliefert. - Die Sortierung erfolgt aufsteigend nach dem Schlüssel des POS-Kopfs, also in der Reihenfolge, in der die Kassenbelege angelegt wurden.
Hinweise
- Werden
DateFromundDateTobeide weggelassen, erhalten beide die aktuelle Uhrzeit, die nur Millisekunden auseinanderliegt. Das Ergebnis ist dann praktisch immer leer, daher sollten immer beide Datumswerte übergeben werden. BETWEENschließt beide Grenzen ein. WirdDateToals Datum ohne Uhrzeit (Mitternacht) übergeben, fehlen spätere Verkäufe dieses Tages. Um den ganzen Tag abzudecken, den Folgetag oder die Uhrzeit 23:59:59 übergeben.- Alle Tabellen werden mit
NOLOCKgelesen, daher können nicht festgeschriebene Daten im Ergebnis erscheinen. - Es gibt kein Paging. Große Zeiträume können viele Zeilen liefern.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
LocID
|
char(3) string |
NULL |
Standort-ID der Kassenverkäufe. Ein Leerstring oder Beispiel: |
DateFrom
|
datetime dateTime |
NULL |
Beginn des Zeitraums (einschließlich), verglichen mit dem Datum des POS-Kopfs. Beispiel: |
DateTo
|
datetime dateTime |
NULL |
Ende des Zeitraums (einschließlich), verglichen mit dem Datum des POS-Kopfs. Beispiel: |
Antwort
Result-Set 1 · Immer (kann leer sein)
Eine Zeile pro POS-Verkaufsposition im Zeitraum, aufsteigend sortiert nach dem Schlüssel des POS-Kopfs.
| Spalte | Typ | Beschreibung |
|---|---|---|
ItemName
Kann leer sein |
string |
Artikelbezeichnung. |
VK_List
Kann leer sein |
decimal |
Listen-VK des Artikels ( |
VK_Real
Kann leer sein |
decimal |
Tatsächlich auf der POS-Position berechneter Preis ( |
SupplPrice
Kann leer sein |
decimal |
Einkaufspreis beim Lieferanten aus dem Artikel. |
SupplName
Kann leer sein |
string |
Name des Lieferanten. Leer, wenn kein Lieferant mit der |
SupplNr
Kann leer sein |
string |
Lieferantennummer des Artikels. |
ItemNrInt
Kann leer sein |
string |
Interne Artikelnummer. |
ItemNrSuppl
Kann leer sein |
string |
Artikelnummer des Lieferanten. |
EANUPC
Kann leer sein |
string |
EAN/UPC des Artikels. |
InvoiceDate
Kann leer sein |
dateTime |
Datum des Kassenbelegs ( |
Qty
Kann leer sein |
int |
Verkaufte Menge der POS-Position ( |
Beispielantwort
<SqlRowSet1>
<row>
<ItemName>Trekking Shoe Alpine 42</ItemName>
<VK_List>129.90</VK_List>
<VK_Real>119.90</VK_Real>
<SupplPrice>62.50</SupplPrice>
<SupplName>Outdoor Supply GmbH</SupplName>
<SupplNr>OSG</SupplNr>
<ItemNrInt>100245</ItemNrInt>
<ItemNrSuppl>TS-ALP-42</ItemNrSuppl>
<EANUPC>4012345678901</EANUPC>
<InvoiceDate>2024-03-05T14:22:10</InvoiceDate>
<Qty>1</Qty>
</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:pixiGetPOSSalesReport>
<!-- <LocID>001</LocID> -->
<!-- <DateFrom>2024-03-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-03-31T23:59:59</DateTo> -->
</ns1:pixiGetPOSSalesReport>
</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:pixiGetPOSSalesReport>
<!-- <LocID>001</LocID> -->
<!-- <DateFrom>2024-03-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-03-31T23:59:59</DateTo> -->
</ns1:pixiGetPOSSalesReport>
</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 = [
// 'LocID' => '001',
// 'DateFrom' => '2024-03-01T00:00:00',
// 'DateTo' => '2024-03-31T23:59:59',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiGetPOSSalesReport', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiGetPOSSalesReport