W skrócie
Numer kontenera w normie ISO 6346 ma jedenaście znaków: cztery litery, sześć cyfr numeru seryjnego i jedną cyfrę kontrolną. Studio WMS.net w module Dozór celny sprawdza format i poprawność tej cyfry w kartotece kontenerów, w rejestrze dokumentów celnych i w przyjęciu PZC. Dwa przykłady są policzone w tabelach.
Ostatni znak numeru kontenera nie niesie informacji o kontenerze. Służy do sprawdzenia, czy pozostałe dziesięć znaków przepisano poprawnie, a liczy się go z wartości tych dziesięciu znaków i ich pozycji.
W Studio WMS.net numer kontenera wpisuje się w module Dozór celny w trzech miejscach, a program w każdym z nich sprawdza format i cyfrę kontrolną. Moduł Dozór celny jest częścią platformy ST 26 i jest dostępny w środowisku demonstracyjnym; wdrożenie następuje po uzgodnieniu zakresu. Norma nie jest częścią produktu: opisujemy sam rachunek, który program wykonuje.
Strona zawiera dwa policzone przykłady oraz tabelę wartości liter. Opisuje też, co program robi z błędnym numerem. Jak ten sam rachunek zapisać w języku bazy danych, pokazuje funkcja cyfry kontrolnej w T-SQL.
Numer kontenera składa się z czterech części
Pierwsze trzy litery to kod właściciela kontenera. Czwarta litera oznacza kategorię sprzętu i przyjmuje jedną z trzech wartości: U, J albo Z. Dalej stoi sześć cyfr numeru seryjnego, a jedenasty znak to cyfra kontrolna. Maska wpisu w programie ma postać AAAA9999999, czyli cztery litery i siedem cyfr.
Norma przewiduje trzy kategorie sprzętu: U oznacza kontener towarowy, J wymienne wyposażenie związane z kontenerem, Z naczepę lub podwozie. To opis normy. Program tej litery nie sprawdza: kontroluje format (cztery litery i sześć cyfr) oraz poprawność cyfry kontrolnej.
Ten sam rachunek powtarzamy poniżej na dwóch innych numerach, żeby pokazać, jak wynik zależy od liter i cyfr. Cyfra kontrolna w etykietach GS1 jest liczona inaczej, algorytmem GS1 z wagami 3 i 1, co opisuje strona o numerze SSCC.
Litery mają wartości od 10, z pominięciem wielokrotności 11
Cyfry mają wartość równą sobie. Litery liczy się od A=10, ale trzy wartości, czyli 11, 22 i 33, są pomijane, więc B ma 12, L ma 23, a V ma 34. Tabela podaje wszystkie dwadzieścia sześć liter.
| Litera | Wartość | Litera | Wartość |
|---|---|---|---|
| A | 10 | N | 25 |
| B | 12 | O | 26 |
| C | 13 | P | 27 |
| D | 14 | Q | 28 |
| E | 15 | R | 29 |
| F | 16 | S | 30 |
| G | 17 | T | 31 |
| H | 18 | U | 32 |
| I | 19 | V | 34 |
| J | 20 | W | 35 |
| K | 21 | X | 36 |
| L | 23 | Y | 37 |
| M | 24 | Z | 38 |
Norma pomija wielokrotności 11, bo wartość podzielna przez 11 dawałaby w dalszym dzieleniu przez 11 resztę zero niezależnie od miejsca znaku w numerze. To opis rachunku według normy, a program stosuje po prostu tę tabelę.
Cyfra kontrolna powstaje w czterech krokach
- Każdemu z dziesięciu pierwszych znaków przypisz wartość: cyfra ma wartość równą sobie, litera wartość z tabeli.
- Pomnóż wartość znaku przez 2 do potęgi równej numerowi pozycji minus 1, czyli przez kolejne potęgi dwójki od 1 do 512 na dziesiątej pozycji.
- Zsumuj iloczyny i podziel sumę przez 11. Zapamiętaj resztę z dzielenia.
- Weź resztę modulo 10. Wynik jest cyfrą kontrolną i powinien zgadzać się z jedenastym znakiem numeru.
Krok czwarty zmienia wynik wyłącznie wtedy, gdy reszta z dzielenia przez 11 wynosi 10: wtedy cyfra kontrolna to 0, a nie 10. Przykład takiego numeru jest w dalszej części strony.
Pierwszy przykład liczy numer DEMU2000015
Kod właściciela DEMU i numer seryjny 200001 są wymyślone. Tabela liczy dziesięć pierwszych znaków. Cztery litery mają wartości 14, 15, 24 i 32, a cyfry liczą się jako one same.
| Pozycja | Znak | Wartość | Waga | Iloczyn |
|---|---|---|---|---|
| 1 | D | 14 | 1 | 14 |
| 2 | E | 15 | 2 | 30 |
| 3 | M | 24 | 4 | 96 |
| 4 | U | 32 | 8 | 256 |
| 5 | 2 | 2 | 16 | 32 |
| 6 | 0 | 0 | 32 | 0 |
| 7 | 0 | 0 | 64 | 0 |
| 8 | 0 | 0 | 128 | 0 |
| 9 | 0 | 0 | 256 | 0 |
| 10 | 1 | 1 | 512 | 512 |
| Suma | 940 |
Suma wynosi 940. Po podzieleniu przez 11 zostaje reszta 5, a 5 modulo 10 daje 5. Jedenasty znak numeru też jest piątką, więc numer DEMU2000015 jest poprawny.
Drugi przykład liczy numer CSQU3054383
Tutaj cztery litery CSQU mają wartości 13, 30, 28 i 32. Numer seryjny 305438 zawiera cyfry większe niż w pierwszym przykładzie, więc iloczyny rosną do tysięcy.
| Pozycja | Znak | Wartość | Waga | Iloczyn |
|---|---|---|---|---|
| 1 | C | 13 | 1 | 13 |
| 2 | S | 30 | 2 | 60 |
| 3 | Q | 28 | 4 | 112 |
| 4 | U | 32 | 8 | 256 |
| 5 | 3 | 3 | 16 | 48 |
| 6 | 0 | 0 | 32 | 0 |
| 7 | 5 | 5 | 64 | 320 |
| 8 | 4 | 4 | 128 | 512 |
| 9 | 3 | 3 | 256 | 768 |
| 10 | 8 | 8 | 512 | 4096 |
| Suma | 6185 |
Suma wynosi 6185. Reszta z dzielenia przez 11 to 3, a 3 modulo 10 daje 3, czyli tyle, ile wynosi ostatnia cyfra numeru. Numer CSQU3054383 jest poprawny.
Reszta równa 10 daje cyfrę kontrolną 0
Dla pierwszych dziesięciu znaków DEMU123456 suma wynosi 5532. Po podzieleniu przez 11 zostaje reszta 10, a 10 modulo 10 daje 0, więc poprawny numer to DEMU1234560. Gdyby cyfrą była dziesiątka, numer miałby dwanaście znaków, dlatego krok czwarty sprowadza ją do zera.
Numer DEMU1000007 nie jest poprawny. Dla DEMU100000 suma wynosi 412, reszta z dzielenia przez 11 to 5, więc cyfra kontrolna powinna być piątką, a nie siódemką. Program ma odrzucić taki numer komunikatem, że kontener nie spełnia ISO 6346.
Program sprawdza numer w trzech miejscach
Ta sama reguła działa w kartotece kontenerów na ekranie Agencje i kontenery, w oknie Nowy dokument celny w rejestrze dokumentów celnych oraz w polu Kontener (ISO 6346) dokumentu PZC. Jedna reguła sprawia, że numer przyjęty w jednym miejscu nie zostanie odrzucony w innym.
Program sprawdza format numeru (cztery litery i sześć cyfr) oraz poprawność cyfry kontrolnej. Nie sprawdza kategorii sprzętu ani istnienia kontenera w rejestrze zewnętrznym.
W dokumencie PZC pole jest sprawdzane po opuszczeniu i pokazuje komunikat „Numer zgodny z ISO 6346” albo błąd. Błędny numer zatrzymuje zatwierdzenie PZC, bo brak albo błąd numeru kontenera należy do błędów blokujących, a nie do ostrzeżeń. Osobne ostrzeżenie „Kontener występuje w innym otwartym PZC” pojawia się, gdy ten sam numer stoi w innym niezatwierdzonym przyjęciu. Pola dokumentu opisuje strona o dokumentach PZC i WZC.

Kontener podany na zatwierdzonym PZC ma trafić do kartoteki kontenerów z datą wjazdu równą dacie przyjęcia. Kartoteka prowadzi też rozmiar kontenera (20 albo 40 stóp), armatora i datę zwrotu pustego. Jak pole kontenera wpisuje się w cały dokument przyjęcia, wyjaśnia opis typów dokumentów celnych.
Pułapki przepisywania numeru z dokumentów
Numer kontenera trafia do programu zwykle z papierowych dokumentów przewozowych. Najczęstszy błąd to zamiana litery O na cyfrę 0 i odwrotnie. Taka pomyłka zwykle psuje cyfrę kontrolną, więc program odrzuci numer, a maska AAAA9999999 pilnuje dodatkowo, że cztery pierwsze znaki są literami, a siedem kolejnych cyframi.
Przykład: operator przepisuje ostatnią cyfrę numeru CSQU3054383 jako 8 zamiast 3. Dziesięć pierwszych znaków się nie zmienia, więc suma nadal wynosi 6185, a reszta 3. Jedenasty znak to jednak 8, więc nie zgadza się z obliczoną cyfrą i numer zostaje odrzucony.
Gdy program odrzuca numer, porównaj go z dokumentem przewozowym i przelicz cyfrę kontrolną według czterech kroków z tej strony. W filtrach rejestru litery wpisuje się wielkie, a sam fragment numeru kontenera wystarcza do znalezienia dokumentu. Ogólny obraz modułu daje opis modułu Dozór celny, a podział zadań między program i agencję strona o ewidencji składu celnego.
Czego moduł nie robi na tym etapie
Granice kontroli numeru są wąskie i dobrze je znać przed wdrożeniem.
- Norma: ISO 6346 nie jest częścią produktu. Program wykonuje opisany rachunek i nie sprawdza kategorii sprzętu, czyli czwartej litery numeru.
- Rejestr zewnętrzny: program nie sprawdza, czy kontener istnieje w rejestrze armatora albo w systemie celnym. Sprawdza tylko format i cyfrę kontrolną.
Pytania i odpowiedzi o numerze kontenera ISO 6346
Ile znaków ma numer kontenera?
Numer kontenera ma 11 znaków: cztery litery, sześć cyfr numeru seryjnego i jedną cyfrę kontrolną. Maska w programie ma postać AAAA9999999, czyli cztery litery i siedem cyfr, z których ostatnia jest cyfrą kontrolną.
Co oznacza litera U w numerze kontenera?
W normie czwarta litera oznacza kategorię sprzętu, a U oznacza kontener towarowy. Program tej litery nie sprawdza: kontroluje tylko format i cyfrę kontrolną, a norma nie jest częścią produktu.
Dlaczego litery pomijają wielokrotności 11?
Wartości liter liczy się od A=10 z pominięciem trzech wartości: 11, 22 i 33. Wielokrotność 11 dawałaby w dzieleniu przez 11 resztę zero niezależnie od pozycji znaku, więc norma ją omija.
Co zrobić, gdy program odrzuca numer kontenera?
Porównaj numer z dokumentem przewozowym, sprawdź zamianę litery O na cyfrę 0 i przelicz cyfrę kontrolną według czterech kroków. Program sprawdza numer w trzech miejscach: w kartotece kontenerów, w rejestrze dokumentów celnych i w przyjęciu PZC.
Czy program sprawdza numer kontenera w zewnętrznym rejestrze?
Nie. Program sprawdza format numeru i poprawność cyfry kontrolnej, a nie istnienie kontenera w rejestrze armatora ani w systemie celnym. Wynik kontroli mówi więc tylko o poprawnym zapisie numeru.
Słownik pojęć o numerze kontenera
Terminy używane przy sprawdzaniu numeru kontenera w module Dozór celny.
- ISO 6346
- Norma opisująca cztery części numeru kontenera: kod właściciela, kategorię sprzętu, numer seryjny i cyfrę kontrolną. Nie jest częścią produktu, a program stosuje tylko jej rachunek cyfry kontrolnej. Definicja w Softwarepedii.
- Cyfra kontrolna
- Jedenasty znak numeru kontenera, liczony z dziesięciu pierwszych znaków z wagami będącymi potęgami dwójki, resztą z dzielenia przez 11 i resztą modulo 10.
- Kod właściciela
- Trzy pierwsze litery numeru kontenera. Program sprawdza tylko, że są to litery.
- Kategoria sprzętu
- Czwarta litera numeru kontenera, jedna z trzech: U, J albo Z. Program tej litery nie sprawdza.
- Maska numeru
- Wzór AAAA9999999 pola kontenera: cztery litery i siedem cyfr.
Sprawdźmy numery kontenerów w Twoim magazynie
Opisz, skąd w Twojej firmie trafiają numery kontenerów do systemu, a pokażemy, w których miejscach modułu program je sprawdza.
