W obiekcie obsługującym kilku zleceniodawców widoczność danych jest zobowiązaniem handlowym, nie ustawieniem interfejsu. Filtr zakresu musi działać po stronie serwera przy każdym odczycie, bo ukrycie kolumny nie jest zabezpieczeniem.
Czym różni się obiekt wielozleceniodawcowy
Magazyn prowadzony przez operatora logistycznego obsługuje towar należący do kilku firm. Każda z nich ma własnych dostawców, własnych przewoźników i własne oczekiwania co do terminów, a niektóre konkurują ze sobą na tym samym rynku.
Wynika z tego wymóg, którego nie ma w magazynie własnym: dane jednego zleceniodawcy nie mogą być widoczne dla drugiego, i to na żadnym poziomie. Ani lista jego dostawców, ani wolumeny, ani nawet rozkład terminów, z którego dałoby się odczytać skalę działalności.
| Poziom | Co rozdziela | Skutek braku |
|---|---|---|
| Kartoteka kontrahentów | Listy dostawców i przewoźników | Widoczna sieć współpracy konkurenta |
| Zgłoszenia | Bieżące i historyczne wizyty | Widoczne wolumeny i asortyment |
| Kalendarz | Kto zajął które okna | Możliwy odczyt skali i rytmu dostaw |
| Zestawienia | Zakres danych w raportach | Wyciek przez eksport do arkusza |
Ostatni wiersz bywa pomijany przy projektowaniu uprawnień. Raport uruchomiony przez użytkownika zleceniodawcy musi zwracać wyłącznie jego dane niezależnie od tego, co wybierze w parametrach, bo filtr nakładany dopiero w widoku nie obejmuje eksportu.

Wspólna siatka, rozdzielony widok
Rampy są zasobem wspólnym, więc siatka okien musi być jedna. Zleceniodawca widzi natomiast wyłącznie dostępność terminów, bez informacji, kto zajął pozostałe. Z jego perspektywy okno jest wolne albo zajęte, i to wszystko.
Rozwiązanie proste w opisie bywa trudne w realizacji, bo rozkład zajętości sam w sobie niesie informację. Zleceniodawca obserwujący kalendarz przez tydzień odczyta rytm dostaw pozostałych podmiotów, choćby nie widział ich nazw. Przy podmiotach konkurujących stosuje się więc wydzielone pule terminów, dzięki czemu każdy widzi wyłącznie własną część siatki.
Mechanizm pul opisuje strona o zarządzaniu awizacjami i pulach okien, a zasady podziału danych - materiał o awizacjach według klientów.
Przy obiekcie obsługującym konkurujące podmioty sam rozkład zajętości kalendarza jest informacją handlową. Wydzielone pule terminów rozwiązują ten problem przy okazji porządkując dostęp do najbardziej pożądanych godzin.
Rozliczenie usługi z każdym zleceniodawcą
Operator rozlicza się za wykonane operacje, więc rejestr wizyt pełni tu dodatkową rolę: jest podstawą faktury. Liczba przyjęć, liczba jednostek ładunkowych i czas zajęcia stanowiska przekładają się na pozycje rozliczeniowe.
Wymaga to precyzji większej niż w magazynie własnym. Wizyta zamknięta automatycznie o północy zaniża albo zawyża pozycję na fakturze, a rozbieżność zauważy druga strona. Kontrola kompletności znaczników przestaje być higieną danych, a staje się elementem procesu rozliczeniowego.
Drugim wymogiem jest niezmienność zapisu po zamknięciu okresu. Korekta wizyty sprzed dwóch miesięcy, wykonana po wystawieniu faktury, musi zostawiać ślad umożliwiający odtworzenie stanu, na podstawie którego rozliczenie powstało.
Role po stronie zleceniodawcy
Użytkownicy zewnętrzni dzielą się na kilka grup o różnych potrzebach i zakres dostępu warto rozdzielić między nie, zamiast nadawać wszystkim jedną rolę.
- Planista zleceniodawcy - widzi własne zamówienia i zgłoszenia, rezerwuje terminy.
- Przewoźnik zleceniodawcy - widzi wyłącznie własne transporty, bez pozostałych dostaw tego podmiotu.
- Osoba rozliczająca - widzi zestawienia i dokumenty, bez dostępu do bieżącego harmonogramu.
- Kierowca - widzi jedno zgłoszenie, do którego dostał kod.
Drugi wiersz jest tym, o którym najłatwiej zapomnieć. Przewoźnik obsługujący jednego zleceniodawcę nie powinien widzieć dostaw realizowanych dla niego przez firmy konkurencyjne, bo to również informacja handlowa.
Co zmienia się we wdrożeniu
Projekt u operatora logistycznego przebiega podobnie jak w magazynie własnym, z dwiema różnicami. Pierwszą jest liczba stron uzgadniających parametry: siatka okien musi odpowiadać potrzebom wszystkich zleceniodawców, a nie jednego.
Drugą jest zakres testów uprawnień. Sprawdzenie, czy użytkownik jednego podmiotu nie dotrze do danych drugiego, wykonuje się przed uruchomieniem, a nie po pierwszym zgłoszeniu. Obejmuje to również eksport i raporty, nie tylko widoki. Przebieg projektu opisuje strona o wdrożeniu oprogramowania do awizowania dostaw, a zasady dostępu z Internetu - materiał o pracy systemu w przeglądarce.
Wejście i wyjście zleceniodawcy
Obiekt operatora logistycznego zmienia skład obsługiwanych podmiotów częściej niż magazyn własny zmienia właściciela. Uruchomienie nowego zleceniodawcy i zakończenie współpracy z dotychczasowym to czynności powtarzalne, więc warto mieć dla nich ustaloną procedurę.
Wejście obejmuje założenie kartoteki, przypisanie przewoźników, wydzielenie puli terminów i nadanie kont jego pracownikom. Największym nakładem bywa lista dostawców, bo pochodzi z systemu zleceniodawcy i wymaga uzgodnienia formatu.
Wyjście jest trudniejsze, bo obejmuje dane, które zostają. Zgłoszenia historyczne są podstawą rozliczeń i podlegają terminom przechowywania wynikającym z przepisów, więc nie usuwa się ich razem z kontami. Dostępy natomiast wygasają z dniem zakończenia umowy, a nie wtedy, gdy ktoś sobie o tym przypomni.
Trzecią czynnością jest przekazanie danych. Zleceniodawca ma zwykle prawo do wyciągu z własnych wizyt, a jego zakres i format warto ustalić przy podpisaniu umowy, a nie przy jej rozwiązywaniu. Zakres retencji opisuje strona o awizacji a przepisach o ochronie danych.