Analiza szczegółowa

Podatność na kradzież

Przekrojowy atrybut towaru „podatność na kradzież” — słownik S_PODATNOSC_NA_KRADZIEZ, wartości domyślne, zapis na zleceniu oraz użycie w tenderze, na kontrahencie i w umowach CRM.

Podatność na kradzież to słownikowy atrybut towaru określający, czy ładunek jest narażony na kradzież (wartościowy, atrakcyjny). Jest przekrojowy — definiowany jednym słownikiem, podpowiadany z grupy towarowej i kontrahenta, a zapisywany na towarze zlecenia; używają go też tender i CRM.

Opis działania oparto na kodzie repozytorium (install/table/, latest/, apex/f2000, apex/f200), a kontekst biznesowy uzupełniono z Confluence (przestrzeń VAN Cargo APEX — zob. § Źródła w Confluence). W razie różnic w opisie działania rozstrzyga repozytorium — rozbieżności zaznaczono. Pełną listę miejsc występowania pola w repo zebrano w § Mapa wystąpień. Wartości słownika inne niż TAK/NIE są możliwe, ale w logice EVAN wykorzystywane są TAK/NIE(pełna lista — niepewne, słownik replikowany z VAN@SPO).

Cel biznesowy

Podatność na kradzież nie jest tylko etykietą informacyjną — wraz z wartością towaru kwalifikuje zlecenie do wewnętrznej procedury kontroli ryzyka OH-02 (właściciel biznesowy: Piotr Bogacz). Cel: ograniczenie ryzyka i strat przy ładunkach cennych / atrakcyjnych dla złodziei.

Cel biznesowyNa czym polegaPodstawa
Świadoma akceptacja ryzyka i nadzór MDzlecenie z cennym/podatnym ładunkiem dostaje znacznik ZLECENIE.OH2_NARUSZENIE; bez zapisanej akceptacji ryzyka na kontrahencie → e-mail do Menadżera Departamentu (MD) i wpis do ZLECENIE_OH02repo (NOWE_ZLECENIE_PKG.p_send_md_email) + Confluence „OH02”
Dobór wiarygodnego przewoźnikado zlecenia OH-02 nie powinien trafić „nowy”/niesprawdzony przewoźnik — f_check_new_carrier_oh02 (próg zleceń ważonych AKTYWNY_PRZEWOZNIK_MIN_COUNT) generuje alert do MD i błąd OH02 w raporcie błędówrepo + Confluence „OH02”
Prewencja strat w transporcieinformowanie przewoźnika/kierowcy o ładunku podatnym (środki ostrożności)repo (PLANOWANIE_MOCKUP_PKG) + Confluence
Wykrywanie nadużyćkatalog błędów MD obejmuje m.in. „Zmiana podatności na kradzież z TAK na NIE” (próba obejścia kontroli)Confluence („PBOGACZ”)
Klasyfikacja towarupodatność to jeden z atrybutów słownika Grup Towarowych (obok ADR/SENT/akcyzy/odpadów/wartości/akceptu MD), automatyzujący walidacje i podpowiedziConfluence „Grupa towarowa” (PRD)

Znaczenie znacznika ZLECENIE.OH2_NARUSZENIE (repo + dokument „OH02”):

  • 0 — zlecenie nie podlega OH-02,
  • 1 — podlega, wysłano e-mail do MD,
  • 2 — podlega, ale na kontrahencie zapisano akceptację ryzyka przez MD, więc maila nie wysłano.
„Cel biznesowy” to ujęcie oparte na dokumentach właściciela biznesowego w Confluence; mechanizm działania rozstrzyga repozytorium. Podstawowym celem pola jest kontrola ryzyka (OH-02), a nie ubezpieczenie/CMR — odpowiedzialność pokrywa odrębne WWZ „Kwota specjalnego interesu”.

Słownik

Wartości pochodzą ze słownika S_PODATNOSC_NA_KRADZIEZ (klucz KOD, etykieta NAZWA):

  • Tabela: install/table/S_PODATNOSC_NA_KRADZIEZ.sql — replikowana z van.S_PODATNOSC_NA_KRADZIEZ@spo; synonim w latest/synonym/.
  • LOV-y APEX (app f2000): DICT_ORDE_PODATNOSC_NA_KRADZIEZ (select nazwa d, kod r from S_PODATNOSC_NA_KRADZIEZ) oraz S_PODATNOSC_NA_KRADZIEZ.NAZWA.
  • W logice (TDR_PRZETARG_PKG, ST_INFO_ZLEC) sprawdzane są wartości TAK / NIE.

W kolumnach przechowywany jest KOD (np. TAK/NIE), nie etykieta.

Skąd bierze się wartość (domyślne)

Pole jest podpowiadane, a nie wpisywane ręcznie od zera:

  1. Grupa towarowaS_GRUPY_TOWAROWE.KOD_PODATNOSC_KRADZIEZ (FK → słownik) niesie domyślną podatność dla danej grupy. Po wyborze towaru/grupy ekran zlecenia podpowiada tę wartość. Potwierdza to kod: NOWE_ZLECENIE_PKG czyta v_podatnosc := v_s_grupy_towarowe_row.kod_podatnosc_kradziez (domyślnie NIE).
  2. KontrahentKONTRAHENT.PODATNOSC_NA_KRADZIEZ to atrybut klienta (ustawiany przez KONTRAHENT_GUI_PKG), wystawiany m.in. widokiem KONTRAHENT_P201_POZOSTALE_V. Wg Confluence („API zlecenia”) przy zleceniach z platformy Ładunki wartość towaru i podatność są pobierane z replikacji — po kontrahencie.
  3. Wybór użytkownika — na zleceniu/tenderze wartość można nadpisać z listy słownikowej.

Gdzie i jak jest używana

ObszarJak używanaObiekty
Zlecenie / towar (f2000)wybór w siatce towaru przy tworzeniu/edycji zlecenia; zapisywany na pozycji towaru; pole wymaganeZLECENIE_TOWAR.KOD_PODATNOSC_KRADZIEZ, NOWE_ZLECENIE_PKG, REALIZACJA_PKG, itemy P7_/P301_/P302_PODATNOSC_NA_KRADZIEZ
Tender (f200)atrybut oferowanego ładunku pod skróconą etykietą „Podatność”P305_PODATNOSC, P310_PODATNOSC, kolumna podatnosc, TDR_PRZETARG_PKG (decode(...,'TAK',...,'NIE',...))
Kontrahentdomyślna podatność klienta (przenoszona na nowe zlecenia)KONTRAHENT.PODATNOSC_NA_KRADZIEZ, KONTRAHENT_GUI_PKG (itemy P218/P222)
CRM / umowyuzgodniona podatność na umowie z podmiotemCRM_UMOWY.KOD_PODATNOSC_KRADZIEZ, CRM_ZDARZENIA_PKG (item P801)

Zlecenie (główne miejsce)

Na ekranie zlecenia (app f2000, strony tworzenia/edycji 7 / 301 / 302) podatność jest kolumną siatki towaru (PODATNOSC) z etykietą „Podatność na kradzież” i LOV-em DICT_ORDE_PODATNOSC_NA_KRADZIEZ. Wartość:

  • jest walidowana jako wymagana (walidacja „Podatność na kradzież nie może być pusta”),
  • przekazywana do PL/SQL jako pi_podatnosc_na_kradziez (kolekcja apex_application.g_x06) i zapisywana w ZLECENIE_TOWAR.KOD_PODATNOSC_KRADZIEZ przez NOWE_ZLECENIE_PKG,
  • odczytywana w realizacji (REALIZACJA_PKG) oraz w informacjach o zleceniu — ST_INFO_ZLEC oznacza zlecenie, gdy istnieje towar z KOD_PODATNOSC_KRADZIEZ = 'TAK' (sygnał „ładunek podatny na kradzież”).

Tender, kontrahent, CRM

  • Tender (f200) — pole „Podatność” opisuje ofertę/relację; TDR_PRZETARG_PKG mapuje TAK/NIE na wartości wynikowe oferty.
  • Kontrahent — wartość domyślna klienta, ustawiana w KONTRAHENT_GUI_PKG, podpowiadana na zleceniach tego kontrahenta.
  • CRMCRM_UMOWY.KOD_PODATNOSC_KRADZIEZ (komentarz „Kod podatności na kradzież”) przechowuje ustalenie z umowy; obsługa w CRM_ZDARZENIA_PKG.

Agregacja na poziom zlecenia

Podatność jest atrybutem pojedynczego towaru, ale w wielu miejscach liczy się na poziomie całego zlecenia: zlecenie traktuje się jako „podatne na kradzież”, gdy przynajmniej jeden jego towar ma KOD_PODATNOSC_KRADZIEZ = 'TAK'.

  • Kod realizacji (REALIZACJA_PKG) iteruje po towarach i jeśli trafi na 'TAK', ustawia podatność zlecenia na 'TAK' (item P1101_PODATNOSC).
  • Tak samo działa klasyfikacja w raportach (zob. § Raporty) — EXISTS towar z 'TAK' → „Podatny na kradzież”.

Powiadomienia i kontrola

Towar wartościowy lub podatny na kradzież uruchamia kontrolę zarządczą — to realizacja procedury OH-02. Wersja zaimplementowana w repo:

  • NOWE_ZLECENIE_PKG wysyła e-mail do MD (p_send_md_email, powód: „Towar wartościowy lub podatny na kradzież”), zapisuje wpis w tabeli ZLECENIE_OH02 i ustawia na zleceniu flagę OH2_NARUSZENIE = 1.
  • Jeżeli kontrahent ma akcept ryzyka, maila nie wysyłamy, a flaga przyjmuje OH2_NARUSZENIE = 2; gdy zlecenie nie kwalifikuje się — 0.
  • Przy planowaniu przewoźnika zlecenie z OH2_NARUSZENIE = 1 i „nowym” przewoźnikiem (f_check_new_carrier_oh02 — zlecenia ważone ≤ AKTYWNY_PRZEWOZNIK_MIN_COUNT) generuje kolejny alert do MD i błąd OH02 (PLANOWANIE_MOCKUP_PKG.p_przewoznik_zaplanuj).
  • Przewoźnikowi podatność jest prezentowana wprost: PLANOWANIE_MOCKUP_PKG buduje tabelę „Towar / Wartość towaru / Podatny na kradzież” (m.in. w treści wysyłanej przy planowaniu).
Archiwalna notatka Confluence („Stara Jira — przegląd”) opisuje SMS do przewoźnika dla „towaru drogiego” (podatny > 60 000 EUR) ze szczegółową instrukcją bezpieczeństwa (postoje, stacje sieciowe itp.). W kodzie repozytorium nie znaleziono tej reguły SMS ani progu 60 000 EUR — jest to pomysł z backlogu (status „co z tym robimy?”), niewdrożony. Obowiązuje mechanizm z repo: e-mail do MD + flaga OH2_NARUSZENIE oraz prezentacja przewoźnikowi w mockupie planowania.

WWZ, Transport Order i „kwota specjalnego interesu”

Wg Confluence (notatka „2025-06-18 Review 234”, status Zrobione) podatność trafia do WWZ / Transport Order: „jeśli podatność na kradzież ustawiona na zleceniu chociaż na jednym towarze, to pojawia się to w WWZ”. Spójne z agregacją powyżej i prezentacją przewoźnikowi.

W tym samym zakresie dodano powiązane WWZ „Kwota specjalnego interesu” — to odrębne pole, nie sama podatność:

  • WWZ o kodzie SPECJALNY_INTERES (NOWE_ZLECENIE_PKG, item P305_SPECJALNY_INTERES „Kwota specjalnego interesu”, walidacja wymagalności gdy warunek zaznaczony).
  • Dotyczy zadeklarowania kwoty specjalnego interesu w dostawie towaru (CMR Art. 26).
Nie należy mylić podatności na kradzież (atrybut towaru, TAK/NIE) z kwotą specjalnego interesu (osobne WWZ, wartość kwotowa). Powiązane biznesowo (towar cenny), ale to różne pola.

Raporty i analizy

Podatność jest wymiarem analiz zleceń:

  • „Zlecenia a podatność na kradzież” (zestawienia procentowe, app raportowa, parametr P700_ROK) — udział procentowy i liczba zleceń „Podatny / Niepodatny na kradzież”; klasyfikacja przez EXISTS (… ZLECENIE_TOWAR … kod_podatnosc_kradziez = 'TAK').
  • % udział zleceń ze znacznikiem „Podatne na kradzież = TAK” w raporcie profilu sekcji / błędów.

Model danych (skrót)

ObiektKolumnaRola
S_PODATNOSC_NA_KRADZIEZKOD, NAZWAsłownik wartości
ZLECENIE_TOWARKOD_PODATNOSC_KRADZIEZ (FK)podatność towaru na zleceniu
S_GRUPY_TOWAROWEKOD_PODATNOSC_KRADZIEZ (FK)domyślna podatność grupy towarowej
KONTRAHENTPODATNOSC_NA_KRADZIEZdomyślna podatność kontrahenta
CRM_UMOWYKOD_PODATNOSC_KRADZIEZpodatność uzgodniona w umowie CRM
X_UNPIVOT_TEST.PODATNOSC_NA_KRADZIEZ to tabela testowa — bez znaczenia produkcyjnego. Odwołania w MERGE_PKG są zakomentowane.

Mapa wystąpień w repo

  • Słownik: install/table/S_PODATNOSC_NA_KRADZIEZ.sql, latest/synonym/S_PODATNOSC_NA_KRADZIEZ.sql, install/table/S_REPLIKACJA.sql; LOV-y w apex/f2000/.../lovs/.
  • Tabele (kolumny): ZLECENIE_TOWAR, S_GRUPY_TOWAROWE, KONTRAHENT, CRM_UMOWY (+ ST_INFO_ZLEC); ZLECENIE.OH2_NARUSZENIE, ZLECENIE_OH02 (log procedury OH-02).
  • PL/SQL: NOWE_ZLECENIE_PKG (zapis, e-mail MD/p_send_md_email, f_check_new_carrier_oh02, WWZ SPECJALNY_INTERES), REALIZACJA_PKG (agregacja na zlecenie), PLANOWANIE_MOCKUP_PKG (planowanie przewoźnika, prezentacja), KONTRAHENT_GUI_PKG, CRM_ZDARZENIA_PKG, TDR_PRZETARG_PKG, latest/procedure/OMIATARKA.sql, latest/view/KONTRAHENT_P201_POZOSTALE_V.sql.
  • APEX: f2000 (Obsługa Zlecenia / Realizacja zlecenia), f200 (Tender).

Źródła w Confluence

Kontekst biznesowy (przestrzeń VAN Cargo APEX); w razie różnic w opisie działania pierwszeństwo ma repozytorium:

  • OH02 — Nowy przewoźnikBO: Piotr Bogacz; procedura OH-02, znaczenie OH2_NARUSZENIE, walidacja przewoźnika i parametry.
  • Grupa towarowaBO/PRD: Piotr Bogacz; podatność jako atrybut słownika GT (z „akceptem MD”).
  • PBOGACZ — założenia OH-02, „akcept MD” jako wyjątek, katalog błędów (m.in. zmiana podatności TAKNIE).
  • NOWE ZLECENIE — element „Podatność na kradzież” w oknie nowego zlecenia.
  • API zlecenia — wartość i podatność pobierane z replikacji po kontrahencie.
  • 2025-06-18 Review 234 — podatność w WWZ/Transport Order; dodanie WWZ „Kwota specjalnego interesu”.
  • Zlecenia zestawienia procentowe — raport „Zlecenia a podatność na kradzież”.
  • Stara Jira — przeglądbacklog „SMS — towar drogi > 60 000 EUR” (niewdrożony — zob. różnica).
  • Powiązane zgłoszenia Jira: APEX-1309 (podatność w Transport Order), APEX-1311 (kwota specjalnego interesu w WWZ kontrahenta).

Powiązania

Copyright © 2026