Od verze 2025.6.0 byla přidána validace dat pro import položky dokladu. Kontroluje, zda po zaokrouhlení oproti zadaným sumám odpovídá přepočet:
cenaMj
(jednotková cena) * mnozMj
(množství)
Kontrolou prochází veškeré nastavené slevy (v hlavičce i na položce) a celkové sumy.
Položka k vytvoření nyní potřebuje pole cenaMj
k tomu, aby vytvoření proběhlo úspěšně. Pokud použito nebude, skončí pokus o vytvoření chybou. V takovém případě se nabízí několik řešení popsaných níže.
Nevalidní XML (popř. JSON) končí chybou podobnou této
<error for="slevaPol" path="faktura-vydana[temporary-id=null].polozkyFaktury" code="INVALID" messageCode="polDoklNesediSumyPoSleve">Pro položku s jednotkovou cenou [409.8] za Mj, množstvím [1.0], slevou na dokladu [10.0] a slevou na položce [5.0] vychází očekávaná cena [348.33], ale zadaná hodnota byla [348.3]. [VF1-0180/2025]</error>
Možná řešení
Použití previousValue
Použijete jej ve chvíli, kdy neznáte cenaMj
a znáte celkovou částku.
Lze tedy použít pro tyto pole:
sumZkl
sumCelkem
sumZklMen
sumCelkemMen
Příklad:
<faktura-vydana-polozka>
<typPolozkyK>typPolozky.obecny</typPolozkyK>
<mnozMj>1.0</mnozMj>
<sumDph>86.78</sumDph>
<sumZkl previousValue="0">413.22</sumZkl>
<text>test</text>
</faktura-vydana-polozka>
Nastavit položky jako účetní položku (typPolozkyK
):
Tento typ položky nelze použít ceník (cenik
), množství (mnozMj
) ani jednotkovou cenu (cenaMj
). Pro tyto účely je nezbytné použít řešení výše, nebo aktivovat parametr níže.
Příklad:
<faktura-vydana-polozka>
<typPolozkyK>typPolozky.ucetni</typPolozkyK>
<sumDph>86.78</sumDph>
<sumZkl>413.22</sumZkl>
</faktura-vydana-polozka>
Nastavit parametr paramValidateSumFak
:
Byl vytvořen pokročilý parametr
paramValidateSumFak
, který je defaultně true a vypíná/zapíná tuto validaci.Před použitím parametru doporučujeme konzultovat s technickou podporou - vypnutí validace může způsobit neočekávané chování (resp. nově přidanou validaci, která je potřeba, vypne).
XML parametr k importu:
<?xml version="1.0" encoding="utf-8"?>
<winstrom version="1.0">
<parametr>
<paramK>paramValidateSumFak</paramK>
<hodnota>true</hodnota>
</parametr>
</winstrom>
Příklady nyní nevalidních XML
Chybějící cenaMj
<faktura-vydana-polozka>
<sumCelkem>177.00</sumCelkem>
<sumZkl>146.28</sumZkl>
<mnozBaleni>3.00</mnozBaleni>
<baleniId>1</baleniId>
<nazev>Test</nazev>
<cenik>code:TEST</cenik>
</faktura-vydana-polozka>
Pokud cenaMj
neznáte, řešením je v tomto případě použít právě previousValue.