Ceny retrospektywne
Rozwiązanie umożliwia:
-
tworzenie rozbudowanych polityk cenowych,
-
możliwość wprowadzania upustów ilościowych,
-
integrację z systemami zewnętrznymi pod kątem polityk cenowych,
-
blokadę sprzedaży poniżej ceny minimalnej (cena H) / powyżej ceny maksymalnej (cena P),
-
analizę na zestawieniach w oparciu o ceny retrospektywne.
Rozwiązanie polega na wprowadzaniu do systemu 'specyfikacji', które będą generować ceny minimalne oraz maksymalne dla klucza grupowania.
Ceny retrospektywne mogą być użyte do:
-
podpowiadania sugerowanej ceny (ceny P) podczas wystawiania dokumentu,
-
blokady wystawiania dokumentu jeśli użytkownik zmieni jakąś cenę poniżej minimalnej / powyżej maksymalnej,
-
integracji z systemem zewnętrznym (np. programem sprzedaży mobilnej dla handlowców).
Spis treści
Specyfikacje kalkulatora retrospektywnego
Analiza rentowności retrospektywnej
Kalkulator rentowności retrospektywnej
Pojęcia
Algorytmy
Wartość ZAK na dostawach
Wartość ta powstaje na podstawie specyfikacji ZAK, zapisywana jest w polu dodatkowym dostawy.
Wykorzystywana jest do wyliczenia ceny T.
Wywołanie przeliczenia wartości ZAK na dostawie odbywa się:
- podczas wystawiania/edycji dokumentów magazynowych
- dwa tryby uruchomienia
- jeśli dokument tworzący dostawy to po wyliczeniu wartości ZAK występuje dodatkowo przeliczenie ceny T na towarach
- jeśli inny dokument (czyli wydania po prostu) to wyłączanie przeliczenie wartości ZAK na dostawach
- pierwotnie na procedurach AfterInsert oraz AfterUpdate, możliwa wdrożeniowa konfiguracja pod wybrane typy dokumentów i/lub inne procedury
- dwa tryby uruchomienia
- Poprzez ręczne wywołanie w celu przeliczenia wszystkich dostaw wybranego towaru
- Poprzez ręczne wywołanie w celu przeliczenia wszystkich dostaw wszystkich towarów
Dla danej dostawy bierzemy pod uwagę wszystkie specyfikacje ZAK wg filtrów:
- specyfikacje, których okres obowiązywania obejmuje datę dostawy
- specyfikacje z nieokreślonym parametrem czy gotówkowa
- specyfikacje z parametrem czy gotówka zgodnym z tym, czy faktura zakupu powiązana z dostawą ma formę płatności gotówkową (jeśli takowa faktura zakupu istnieje)
- specyfikacje, które wskazują na towar z dostawy po towarze lub po rodzaju towaru
- specyfikacje, które wskazują na kontrahenta z dostawy po kontrahencie lub po rodzaju kontrahenta
- specyfikacje, które mają nieokreślony typ dokumentu
- specyfikacje, które mają typ dokumentu zgodny z typem dokumentu dostawy
Sumowane są modyfikatory procentowe i wartościowe ze wszystkich pasujących specyfikacji.
Wartości ze specyfikacje są brane dla wybranego towaru (jeśli jest) lub ogólna dla całej specyfikacji.
Wartość ZAK wyliczana jest wg wzoru:
cena z dostawy * suma modyfikatorów procentowych + suma modyfikatorów wartościowych.
Cena T
Wyliczana jest na podstawie średnioważonej ceny z niezerowych dostaw danego towaru na magazynie głównym (możliwe dodanie konfiguracji konkretnych magazynów) z uwzględnieniem wartości ZAK na w.w. dostawach.
Wykorzystywana jest jako podstawa do wyliczenia ceny H.
Wzór na wyliczenie tej ceny różni się w zależności od dostaw danego towaru.
- W przypadku, gdy istnieją niezerowe dostawy na magazynie głównym:
- cena T = SUMA( ilość * (cena - ZAK) ) / SUMA( ilość )
- ilość to pozostała ilość na wybranej dostawie
- cena to cena z dostawy
- W przypadku, gdy nie ma w.w. dostaw szukamy ostatniej dostawy na magazynie głównym. W takim wypadku:
- cena T = cena-ZAK
- W przypadku, gdy nie ma w.w. dostawy bierzemy cenę zakupu z kartoteki towaru. W takim wypadku cena T to po prostu cena zakupu towaru.
- cena T = kartotekowa cena zakupu towaru
Ceny retrospektywne H i P
Generowanie cen H i P może odbywać się w dwóch trybach.
- Ręcznym - wywoływanym z okna specyfikacji kalkulatora retrospektywnego.
- Automatycznym - wywołanie o konkrentym interwale ustawiane wdrożeniowo.
Ceny H i P wyliczane są na podstawie specyfikacji SPR.
- Brane są pod uwagę wszystkie specyfikacje SPR, których okres obowiązywania obejmuje dzisiejszy dzień.
- Dla specyfikacji z podanymi rodzajami TW/KH lub wybraną opcją 'wszystkie' odczytywana jest lista towarów/kontrahentów.
- Grupowanie specyfikacji wg częściowego klucza grupowania.
- Zebranie do listy cen T wszystkich towarów, które się trafiły.
- Zebranie do listy cen C wszystkich towarów, które się trafiły.
- Wyliczenie cen H i P dla kluczy grupowania.
Wyliczanie równoległe wielowątkowo
Poniższe punkty wykonywane są niezależnie dla każdego częściowego klucza grupowania:- Zainicjowanie listy pełnych kluczy grupowania
- Grupujemy specyfikacje wg poziomu
- Pętla A po każdym poziomie
- Pętla B po każdym elemencie listy kluczy z uwzględnieniem ilości
- Zainicjowanie pól na wyliczenie cen H oraz P:
- wartości złotówkowe:
- ceny H
- ceny P
- wartości procentowe rozbite wg klucza:
- dotyczące ceny H/ceny P ( w przypadku gdy 'Dotyczy wszystkiego' to wartość zostanie doliczona do obu kluczy)
- liczone normalnie (czyli H od T, P od C) / tylko od T / tylko od C
- ze źródłem wartości z poprzedniego poziomu / z kartoteki
- wartości złotówkowe:
- Pętla C po każdej specyfikacji z poziomu z pętli A z ilością <= elementowi pętli B w kluczu
- Wyznaczamy wartość ze specyfikacji lub z towaru
- W zależności od modyfikatora specyfikacji:
- Jeśli złotówkowa to w zależności od parametru 'dotyczy' doliczamy wartość do odpowiedniego pola
- Jeśli procentowa to w zależności od pól 'dotyczy', 'odCzegoLiczone', 'źródło wartości' doliczamy wartość do odpowedniego pola
- Zainicjowanie cen H i P przechowywanych w elemencie pętli B jeśli jeszcze nie były zainicjowane
- inicjujemy je odpowiednio cenami T i C.
- Zmodyfikowanie cen H i P z elementu pętli B o wartości z punktu 1.
- Zainicjowanie pól na wyliczenie cen H oraz P:
- Pętla B po każdym elemencie listy kluczy z uwzględnieniem ilości
- Sprawdzamy, czy którakolwiek cena H lub P jest mniejsza niż 0,01. Jeśli tak to ustawiamy ją na 0,01.
- Usunięcie starych cen retrospektywnych
- Zapisywanie nowych cen wygenerowanych w punkcie 6.
- Dopisanie/nadpisanie cen na podstawie upustów ilościowych
- Pobieramy z dokumentów zamówień obcych wszystkie obowiązujące upusty ilościowe
- Tworzymy dla nich pełny klucza grupowania
- Jeśli dla danego klucza została już wygenerowana cena w punkcie 6. to zostaje ona nadpisywana tą z upustu ilościowego
- Ceny z upustów ilościowych, które nie miały wygenerowanego swojego klucza zostają dopisywane.