Kolejność pobierania cen artykułów na dokumentach przychodowych
Algorytm wyboru ceny dla elementu dokumentu przychodowego można podzielić na cztery główne etapy. System rozpocznie poszukiwanie ceny od etapu pierwszego. Jeśli w tym etapie nie uda mu się ustalić ceny, przejdzie do kolejnego i tak aż do momentu ustalenia ceny.
Etap I
W etapie pierwszym do ustalenia ceny dla elementu dokumentu brane są pod uwagę tylko te cenniki, które spełniają wszystkie poniższe kryteria:
- zostały utworzone na typach ceny, które są jednocześnie:
- dostępne dla centrum, w którym wystawiany jest dokument (zalogowane centrum)
- dostępne dla centrum, w imieniu którego wystawiany jest dokument (centrum będące właścicielem dokumentu)
- dostępne dla grupy operatorów, do której należy aktualnie zalogowany operator wystawiający dokument
- na zakładce Dostawcy mają przypisanego kontrahenta wskazanego na dokumencie
- są aktywne
- Jeśli system nie znajdzie takich cenników przejdzie do etapu II.
- Jeśli znajdzie cenniki spełniające kryteria etapu I, wśród nich szuka takich cenników, które posiadają pozycję z dokładnie z takim samym artykułem, jednostką i cechami, jakie określono na elemencie dokumentu. Jeśli znajdzie takie cenniki, wybierze najbardziej aktualny, pobierze z niego typ ceny oraz cenę i ustawi je na elemencie dokumentu.
- Jeśli nie znajdzie cennika w pkt. 2, a jednostka określona na elemencie dokumentu to:
- jednostka podstawowa artykułu, wówczas przejdzie do etapu II
- jednostka pomocnicza, wówczas wśród cenników spełniających kryteria etapu I szuka takich cenników, które posiadają pozycję z dokładnie takim samym artykułem i cechami, ale z jednostką podstawową tego artykułu. Jeśli znajdzie takie cenniki, wybierze najbardziej aktualny pobierze z niego typ ceny oraz cenę przeliczy ją na cenę dla jednostki pomocniczej (według przelicznika jednostki pomocniczej do jednostki podstawowej dla tego artykułu) i ustawi je na elemencie dokumentu
- Jeśli nie znajdzie cennika z pkt. 3 przejdzie do etapu II
Etap II:
Jeśli cena nie zostanie ustalona w pierwszym etapie, system przystąpi do etapu drugiego, w którym rozpocznie od wyboru typu ceny, który spełnia wszystkie poniższe kryteria:
- domyślny dla centrum, w imieniu którego wystawiany jest dokument (centrum będące właścicielem dokumentu – pole Właściciel na formularzu dokumentu)
- dostępny dla centrum, w którym wystawiany jest dokument (zalogowane centrum)
- dostępny dla grupy operatorów, do której należy aktualnie zalogowany operator wystawiający dokument
- niepowiązany z żadnym kontrahentem (dostępny dla wszystkich kontrahentów)
- Jeśli system nie znajdzie takiego typu ceny przejdzie do etapu III.
- Jeśli znajdzie typ ceny spełniający kryteria etapu II, szuka cenników utworzonych na podstawie tego typu ceny, które zawierają pozycję z dokładnie takim samym artykułem, jednostką i cechami, jakie określono na elemencie dokumentu. Jeśli znajdzie takie cenniki, wybierze najbardziej aktualny, pobierze z niego typ ceny oraz cenę i ustawi je na elemencie dokumentu.
- Jeśli nie znajdzie cennika w pkt. 2, a jednostka określona na elemencie dokumentu, to:
- jednostka podstawowa artykułu, wówczas ustawi na elemencie dokumentu ten typ ceny i cenę równą 0
- jednostka pomocnicza, wówczas wśród cenników utworzonych na podstawie typu ceny spełniającego kryteria etapu II, będzie szukał takich cenników, które posiadają pozycję z dokładnie takim samym artykułem i cechami, ale z jednostką podstawową tego artykułu. Jeśli znajdzie takie cenniki, wybierze najbardziej aktualny, pobierze z niego typ ceny oraz cenę przeliczy ją na cenę dla jednostki pomocniczej (według przelicznika jednostki pomocniczej do jednostki podstawowej dla tego artykułu) i ustawi je na elemencie dokumentu
- Jeśli nie znajdzie cennika w pkt. 3 ustawi na elemencie dokumentu ten typ ceny i cenę równą 0
Etap III:
Jeśli z powodu braku typu ceny spełniającego podstawowe kryteria etapu drugiego cena nie zostanie ustalona w tym etapie, system przejdzie do etapu trzeciego, w którym nastąpi próba ustalenia ceny na podstawie tych cenników, które spełniają wszystkie poniższe kryteria:
- zostały utworzone na typach cen, które są jednocześnie:
- dostępne dla centrum, w którym wystawiany jest dokument (zalogowane centrum)
- dostępne dla centrum, w imieniu którego wystawiany jest dokument (centrum będące właścicielem dokumentu)
- dostępne dla grupy operatorów, do której należy aktualnie zalogowany operator wystawiający dokument
- nie są powiązane z żadnym kontrahentem
- Jeśli system nie znajdzie takich cenników, przejdzie do etapu IV.
- Jeśli znajdzie cenniki spełniające kryteria etapu III wśród nich szuka takich cenników, które zawierają pozycję z dokładnie takim samym artykułem, jednostką i cechami, jakie określono na elemencie dokumentu. Jeśli znajdzie takie cenniki, wybierze najbardziej aktualny, pobierze z niego typ ceny oraz cenę i ustawi je na pozycji dokumentu.
- Jeśli nie znajdzie cennika z pkt. 2, a jednostka określona na elemencie dokumentu, to:
- jednostka podstawowa artykułu, wówczas przejdzie do etapu IV
- jednostka pomocnicza artykułu, wówczas wśród cenników spełniających kryteria etapu III szuka takich cenników, które posiadają pozycję z dokładnie takim samym artykułem i cechami, ale z jednostką podstawową tego artykułu. Jeśli znajdzie takie cenniki, wybierze najbardziej aktualny, pobierze z niego typ ceny oraz cenę, przeliczy ją na cenę dla jednostki pomocniczej (względem przelicznika jednostki pomocniczej do jednostki podstawowej dla tego artykułu) i ustawi je na elemencie dokumentu.
- Jeśli nie znajdzie cennika z pkt. 3, przejdzie do etapu IV
Etap IV:
Jeśli cena dla elementu nie została ustalona we wcześniejszych etapach, zostanie ona ostatecznie ustalona w wyniku etapu czwartego.
W tym etapie system ustawi na elemencie dokumentu typ ceny, który jest domyślny dla centrum, w imieniu którego wystawiany jest dokument (centrum będące właścicielem dokumentu – pole Właściciel na formularzu dokumentu), nawet jeśli ten typ ceny nie jest dostępny dla centrum wystawiającego dokument (zalogowane centrum) czy grupy operatorów, do której należy aktualnie zalogowany operator. Nie jest również poszukiwany żaden cennika – na elemencie dokumentu ustawiona zostaje cena równa 0.