Przejdź do głównej zawartości

Transformacje pól

Transformacje modyfikują wartości pobrane ze źródeł danych przed wstawieniem do XML. Łączy się je znakiem | (pipe):

CardName|TRIM|UPPER

Usuwa białe znaki z początku i końca.

" ABC " → "ABC"

Zamienia na wielkie litery.

"abc" → "ABC"

Zamienia na małe litery.

"ABC" → "abc"

Zamienia tekst.

"ul. Kwiatowa 5" z REPLACE("ul. ","") → "Kwiatowa 5"

Pierwsze n znaków.

"ABCDEF" z LEFT(3) → "ABC"

Ostatnie n znaków.

"ABCDEF" z RIGHT(3) → "DEF"

Wycina fragment (indeks od 0).

"ABCDEF" z SUBSTRING(2,3) → "CDE"

Dodaje tekst na początku.

"12345" z PREFIX("PL") → "PL12345"

Dodaje tekst na końcu.

"12345" z SUFFIX("-00") → "12345-00"

Dopełnia z lewej strony do długości n.

"42" z PADLEFT(5,"0") → "00042"

Dopełnia z prawej strony do długości n.

"42" z PADRIGHT(5,"0") → "42000"

Zamiana z wyrażeniem regularnym.

"NIP: 123-456-78-90" z REGEX("[^0-9]","") → "1234567890"

Wyciąga pierwsze dopasowanie.

"Faktura VAT nr 123/2026" z MATCH("[0-9]+/[0-9]+") → "123/2026"

Stosuje kolejne transformacje tylko jeśli pole jest równe wartości.

DocCurrency|IF_FIELD_EQ("DocCurrency","PLN")|CONST("PLN")

Jeśli DocCurrency = "PLN" → wynik "PLN". Jeśli nie — pomija resztę łańcucha.

Stosuje kolejne transformacje tylko jeśli pole NIE jest równe wartości.

DocTotalFC|IF_FIELD_NEQ("DocCurrency","PLN")

Zwraca DocTotalFC tylko jeśli waluta to nie PLN.

Stosuje kolejne transformacje tylko jeśli bieżąca wartość jest pusta.

FederalTaxID|IF_EMPTY|CONST("1")

Jeśli FederalTaxID jest pusty → ustaw "1" (BrakID w KSeF).

Stosuje kolejne transformacje tylko jeśli bieżąca wartość NIE jest pusta.

FederalTaxID|IF_NOT_EMPTY|TRIM

Trim stosowany tylko gdy pole ma wartość.

Stała wartość, niezależna od danych źródłowych.

CONST("FA") → zawsze "FA"
CONST("3") → zawsze "3"

Mapuje kod VAT z SAP na kategorię KSeF, korzystając z tabeli mapowania VAT.

"Dzw"|VATMAP → "23"
"E8"|VATMAP → "8"

Więcej o mapowaniu VAT: Mapowanie VAT.

Wyrażenie matematyczne NCalc. W nawiasach kwadratowych pola ze źródła danych.

EXPR("[VisualOrder] + 1") → numer wiersza + 1
EXPR("[GrossTotal] - [LineTotal]") → kwota VAT
EXPR("[Quantity] * [Price]") → wartość netto

Obsługiwane operatory: +, -, *, /, %, nawiasy.

Stosowane na źródłach tablicowych (np. lines, vat_summary).

Filtrowanie wierszy tablicy na podstawie warunku.

Filtrowanie wierszy po kategorii VAT KSeF.

VATFILTER("23") → tylko wiersze z VAT 23%
VATFILTER("8") → tylko wiersze z VAT 8%

Sumowanie wartości po filtrowaniu.

LineTotal|VATFILTER("23")|SUM → suma netto pozycji z VAT 23%

Zliczanie wierszy po filtrowaniu.

lines|VATFILTER("23")|COUNT → liczba pozycji z VAT 23%

Wyrażenie matematyczne na zagregowanych danych.

EXPR_AGGREGATE("[SumGross] - [SumNet]") → suma VAT
FederalTaxID|REGEX("[^0-9]","")|TRIM
LineTotal|VATFILTER("23")|SUM
EXPR("[VisualOrder] + 1")
// Pole P_15: kwota brutto
DocTotal|IF_FIELD_EQ("DocCurrency","PLN")
DocTotalFC|IF_FIELD_NEQ("DocCurrency","PLN")
FederalTaxID|IF_EMPTY|CONST("1")