Postman-Collection
Invoices Lesen

pixiReadInvlines

Liefert Rechnungspositionen, entweder eine einzelne Position per Schlüssel oder eine nach Anlage- und/oder Änderungsdatum gefilterte Liste mit schlüsselbasiertem Paging.

Liest Rechnungspositionen aus Invlines. Jede Position wird mit ihrer Rechnung (Invoices) und der Rechnungswährung (pixi.Currency) verknüpft. Es wird nur ein Filtermodus verwendet. Die Prozedur prüft die Modi in dieser Reihenfolge:

  1. Anlage- oder Änderungsdatum: CreateAndUpdateDateFrom oder CreateAndUpdateDateTo ist gesetzt. Eine Position passt, wenn CreateDate oder UpdateDate >= dem Von-Wert ist und CreateDate oder UpdateDate < dem Bis-Wert ist.
  2. Anlagedatum: CreateDateFrom oder CreateDateTo ist gesetzt. Gefiltert wird auf CreateDate (Von inklusive, Bis exklusive).
  3. Änderungsdatum: UpdateDateFrom oder UpdateDateTo ist gesetzt. Gefiltert wird auf UpdateDate (Von inklusive, Bis exklusive).
  4. Schlüsselbereich: RowCount wird übergeben (beliebiger Wert ungleich NULL). Liefert alle Positionen mit InvLineKey größer als InvlineKey.
  5. Einzelner Schlüssel: Keiner der obigen Fälle trifft zu. Liefert die Position, deren InvLineKey gleich InvlineKey ist.

In den Modi 1–4 werden nur Positionen mit InvLineKey > InvlineKey geliefert, aufsteigend sortiert nach InvLineKey. InvlineKey ist standardmäßig 0, daher kommen standardmäßig alle Schlüssel in Frage.

Ein RowCount ungleich 0 begrenzt die Anzahl der Zeilen (SET ROWCOUNT). Damit ist Paging möglich: Der zuletzt erhaltene InvLineKey wird im nächsten Aufruf als InvlineKey übergeben.

Hinweise

  • Alle Lesezugriffe verwenden NOLOCK. Es können nicht festgeschriebene Daten geliefert werden.
  • Positionen werden nur geliefert, wenn ihre Rechnung existiert und die CurrencyId der Rechnung auf eine Währung verweist (Inner Joins).
  • Ein Aufruf ohne Parameter liefert keine Zeilen: InvlineKey wird zu 0, und der Einzelschlüssel-Modus sucht nach Schlüssel 0.
  • Die Übergabe von RowCount = 0 schaltet in den Schlüsselbereich-Modus ohne Zeilenbegrenzung. Damit werden alle Rechnungspositionen oberhalb von InvlineKey geliefert.
  • Die Datumsfilter-Modi schließen sich gegenseitig aus. Ist zum Beispiel CreateAndUpdateDate* gesetzt, werden die Parameter CreateDate* und UpdateDate* ignoriert.
  • Im kombinierten Datumsmodus werden Von und Bis unabhängig voneinander gegen eines der beiden Datumsfelder geprüft. Eine Position kann daher auch passen, wenn keines der beiden Datumsfelder im Bereich liegt.
  • ItemPrice_OrderCurr und ShipCost_OrderCurr sind Kopien von ItemPrice und ShipCost. Kommentare im Code markieren sie zur Entfernung, neue Integrationen sollten sich daher nicht auf sie stützen.
  • Der letzte Ausweichzweig im Code (leeres Ergebnis) wird nie erreicht, da InvlineKey an dieser Stelle nie NULL ist.

Parameter

Parameter Typ Standardwert Beschreibung
InvlineKey
int NULL

Schlüssel der Rechnungsposition. NULL wird als 0 behandelt. Im Einzelschlüssel-Modus wird die Position mit genau diesem Schlüssel geliefert. In allen anderen Modi werden nur Positionen mit größerem Schlüssel geliefert (Paging-Cursor).

Beispiel: 0

CreateDateFrom
datetime
dateTime
NULL

Untergrenze (inklusive) für CreateDate. Wird ignoriert, wenn ein CreateAndUpdateDate*-Parameter gesetzt ist.

Beispiel: 2024-01-01T00:00:00

CreateDateTo
datetime
dateTime
NULL

Obergrenze (exklusive) für CreateDate. Wird ignoriert, wenn ein CreateAndUpdateDate*-Parameter gesetzt ist.

Beispiel: 2024-02-01T00:00:00

UpdateDateFrom
datetime
dateTime
NULL

Untergrenze (inklusive) für UpdateDate. Wird nur verwendet, wenn kein CreateAndUpdateDate*- oder CreateDate*-Parameter gesetzt ist.

Beispiel: 2024-01-01T00:00:00

UpdateDateTo
datetime
dateTime
NULL

Obergrenze (exklusive) für UpdateDate. Wird nur verwendet, wenn kein CreateAndUpdateDate*- oder CreateDate*-Parameter gesetzt ist.

Beispiel: 2024-02-01T00:00:00

CreateAndUpdateDateFrom
datetime
dateTime
NULL

Untergrenze (inklusive): passt, wenn CreateDate oder UpdateDate an oder nach diesem Wert liegt. Hat die höchste Priorität unter den Datumsfiltern.

Beispiel: 2024-01-15T00:00:00

CreateAndUpdateDateTo
datetime
dateTime
NULL

Obergrenze (exklusive): passt, wenn CreateDate oder UpdateDate vor diesem Wert liegt.

Beispiel: 2024-01-16T00:00:00

RowCount
int NULL

Maximale Anzahl zu liefernder Zeilen. 0 oder NULL bedeutet keine Begrenzung. Jeder Wert ungleich NULL (auch 0) ohne Datumsfilter schaltet in den Schlüsselbereich-Modus.

Beispiel: 500

Antwort

Result-Set 1 · Immer (kann leer sein)

Rechnungspositionen, die dem gewählten Filtermodus entsprechen. Aufsteigend sortiert nach InvLineKey, außer im Einzelschlüssel-Modus.

Spalte Typ Beschreibung
InvLineKey int

Primärschlüssel der Rechnungsposition.

InvoiceRef int

Schlüssel der Rechnung (Invoices.InvoiceKey).

OrderLineRef
Kann leer sein
int

Verweis auf die Auftragsposition.

CustRef
Kann leer sein
int

Verweis auf den Kunden.

AddrRef
Kann leer sein
int

Verweis auf die Adresse.

ItemNr
Kann leer sein
string

Artikelnummer.

ItemQty
Kann leer sein
int

Berechnete Menge.

OrderQty
Kann leer sein
int

Bestellte Menge.

ItemText
Kann leer sein
string

Artikeltext der Position.

ItemPrice
Kann leer sein
decimal

Artikelpreis.

ItemDiscount
Kann leer sein
decimal

Artikelrabatt.

ItemVAT
Kann leer sein
decimal

Mehrwertsteuersatz des Artikels.

CreateDate
Kann leer sein
dateTime

Anlagedatum der Position.

CreateEmp
Kann leer sein
string

Mitarbeiter, der die Position angelegt hat.

UpdateDate
Kann leer sein
dateTime

Datum der letzten Änderung.

UpdateEmp
Kann leer sein
string

Mitarbeiter, der die Position zuletzt geändert hat.

ItemPrice_OrderCurr
Kann leer sein
decimal

Kopie von ItemPrice. Im Code zur Entfernung markiert.

ShipCost
Kann leer sein
decimal

Versandkosten der Position.

ShipCostPerItem
Kann leer sein
decimal

Versandkosten pro Artikel.

OrderCurrency
Kann leer sein
string

Währungscode (pixi.Currency.CodeA) der Rechnung.

ShipCost_OrderCurr
Kann leer sein
decimal

Kopie von ShipCost. Im Code zur Entfernung markiert.

ItemRef
Kann leer sein
int

Verweis auf den Artikel.

CCPChargedYN
Kann leer sein
string

Kennzeichen aus der Spalte CCPChargedYN (Belastungsstatus der Position).

SerialNr
Kann leer sein
string

Seriennummer.

FullPrice
Kann leer sein
decimal

Vollpreis vor Rabatt.

DiscountValue
Kann leer sein
decimal

Rabattbetrag.

DiscountPerc
Kann leer sein
decimal

Rabatt in Prozent.

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:pixiReadInvlines>
      <!-- <InvlineKey>0</InvlineKey> -->
      <!-- <CreateDateFrom>2024-01-01T00:00:00</CreateDateFrom> -->
      <!-- <CreateDateTo>2024-02-01T00:00:00</CreateDateTo> -->
      <!-- <UpdateDateFrom>2024-01-01T00:00:00</UpdateDateFrom> -->
      <!-- <UpdateDateTo>2024-02-01T00:00:00</UpdateDateTo> -->
      <!-- <CreateAndUpdateDateFrom>2024-01-15T00:00:00</CreateAndUpdateDateFrom> -->
      <!-- <CreateAndUpdateDateTo>2024-01-16T00:00:00</CreateAndUpdateDateTo> -->
      <!-- <RowCount>500</RowCount> -->
    </ns1:pixiReadInvlines>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Verwendete Tabellen

Invoices · Lesen Currency · Lesen Invlines · Lesen
SQL-Objekt:
dbo.pipiReadInvlines
Prozedur zuletzt geändert am 2026-10-05
Dokumentation von claude-opus-5-5 am 2026-10-30 geschrieben