Speculation
Speculation (spekulacja) to opłata wewnętrzna doliczana do zlecenia w zależności od parametru finansowego klienta (PARAM_FIN) — reprezentuje wynik na transakcjach z klientami o słabszej/granicznej kondycji finansowej. W BSC trafia do kolumny WYNIKI_BSC.SPECULATION (suma per sekcja × miesiąc), a źródłem są rekordy WYNIKI z TYP_WYNIKU = 'SPEKULACJA' (zawsze w EUR).
Skąd pochodzi wartość
Wartość liczy procedura WYNIKI_PKG.p_calculate_speculation (latest/package/WYNIKI_PKG.pkb) i zapisuje ją do tabeli WYNIKI. Widok WYNIKI_SPECULATION_V czyta tylko aktywne rekordy (STATUS = 1, TYP_WYNIKU = 'SPEKULACJA', zlecenie nieusunięte) i przelicza na EUR (dla EUR kurs = 1). Procedura P_CALCULATE_SCORES_BSC agreguje je do WYNIKI_BSC.
pi_calculation_moment): zapis zlecenia (c_save_order), edycja zlecenia (c_edit_order) oraz wystawienie faktury (c_save_invoice). Istnieje też wsadowy łańcuch przeliczeniowy SPEKULACJA_UPD (tabele SPEKULACJA_UPD_PROC / _DET / _CNF).Algorytm naliczania
Najpierw kwota zlecenia jest przeliczana do EUR:
wartosc_zlecenia_EUR = ZLECENIE.KWOTA × kurs(WALUTA) / kurs(EUR) -- na datę modyfikacji zlecenia
Następnie zależnie od parametru finansowego klienta (PARAM_FIN):
1. PARAM_FIN <= 0 — spekulacja krajowa/międzynarodowa (z opłatą stałą):
oplata = 3% × wartosc_zlecenia_EUR + oplata_stala
- sekcja
XX…(międzynarodowa):oplata_stala = OPLATA_SPEK_MIEDZYNARODOWA - sekcja
VV…(krajowa):oplata_stala = OPLATA_SPEK_KRAJ - inna sekcja → błąd („nieprawidłowa sekcja”).
2. PARAM_FIN > 0 — opłata spekulacyjna (bez opłaty stałej):
jeśli PARAM_FIN < (suma specyfikacji i faktur klienta):
oplata = 3% × wartosc_zlecenia_EUR
w przeciwnym razie:
brak opłaty (spekulacja = 0 / nie naliczana)
Suma specyfikacji i faktur pochodzi z WNIOSKI_HEADER_V.SPECYFIKACJE_I_FAKTURY (przy edycji zlecenia: z SPEC_FAK_ORG + bieżąca kwota zlecenia).
Wynik (v_fee) zawsze w EUR.
Parametry (VAN_PARAMS)
| Parametr | Znaczenie | Wartość |
|---|---|---|
PROCENT_WARTOSCI_FRACHTU | % wartości frachtu | 3 |
OPLATA_SPEK_KRAJ | opłata stała — sekcja krajowa (VV) | 130 → zaktualizowana do 50 EUR |
OPLATA_SPEK_MIEDZYNARODOWA | opłata stała — sekcja międzynarodowa (XX) | 150 → zaktualizowana do 100 EUR |
OPLATA_SPEK_KRAJ_WALUTA, OPLATA_SPEK_MIEDZYNARODOWA_WALUTA | waluty opłat stałych | EUR |
Zapis i nadpisywanie
- Przy zapisie/edycji zlecenia spekulacja jest naliczana zawsze; przy fakturze — tylko jeśli rekord spekulacji już istniał.
- Stary rekord nie jest usuwany — zostaje oznaczony
STATUS = -2(modyfikacja systemu eVan), a nowy zapisany zeSTATUS = 1. - Przeliczenie nadpisuje wartość, gdy nowa jest niższa od poprzedniej (
vr_score.WARTOSC > v_fee) lub gdy wcześniej była pusta — z założenia korygując spekulację „w dół”.
Aplikacja
Drill-down: strona 504 (Speculation – szczegóły); edycja: 517; zbiorczo: 401 (Spedycja, spekulacja, bonus).