Hi Armin,
also, ich habe mir das gerade nochmal angeschaut.
Unsere Formel für die Leitweg-ID in der XRechnung ist die von JTL bereitgestellte (Stand
Wawi 1.9.4.6):
<ram:ApplicableHeaderTradeAgreement>
<ram:BuyerReference>{% capture query -%}
SELECT TOP(1) BuyerReference.cValue
FROM dbo.trechnung
JOIN
(
SELECT tBestellungAttribute.kBestellung,
CASE WHEN tBestellungAttribute.cName = 'Leitweg-ID' THEN 2 ELSE 1 END AS nPriority,
tBestellungAttribute.cValue
FROM dbo.tBestellungAttribute
WHERE tBestellungAttribute.cName IN (
'Leitweg-ID', 'BuyerReference')
AND LEN(ISNULL(tBestellungAttribute.cValue, '')) > 0
UNION ALL
SELECT tBestellung.kBestellung,
CASE WHEN tAttributSprache.cName = '
Leitweg-ID' THEN 4 ELSE 3 END AS nPriority,
tKundeEigenesFeld.cWertVarchar AS cValue
FROM Kunde.tKundeEigenesFeld
JOIN dbo.tBestellung ON tKundeEigenesFeld.kKunde = tBestellung.tKunde_kKunde
JOIN dbo.tAttributSprache ON tKundeEigenesFeld.kAttribut = tAttributSprache.kAttribut
WHERE tAttributSprache.cName IN ('
Leitweg-ID', 'BuyerReference')
AND LEN(ISNULL(tKundeEigenesFeld.cWertVarchar, '')) > 0
UNION ALL
SELECT tBestellung.kBestellung,
5 AS nPriority,
tkunde.cKundenNr AS cValue
FROM dbo.tkunde
JOIN dbo.tBestellung ON tkunde.kKunde = tBestellung.tKunde_kKunde
) AS BuyerReference ON trechnung.tBestellung_kBestellung = BuyerReference.kBestellung
WHERE trechnung.kRechnung = {{ Report.InternalId | SqlEscape }}
ORDER BY BuyerReference.nPriority ASC
{% endcapture -%}\
{% assign result = query | DirectQueryScalar -%}\
{{ result }}</ram:BuyerReference>
Das eigene Feld beim Kunden muss entsprechend "Leitweg-ID" heißen (Anzeigeort bei uns: Allgemein).
Wenn ich das dann durch spiele, passt das eigentlich:
Viele Grüße,
Sarah