Algorytm sortowania numerów dokumentów sprzedaży

IntegratorKSeF & JPK do Symfonii — Intuiti sp. z o.o.
Producent: Intuiti sp. z o.o., NIP: 7811882150 · tel. (61) 307 40 00 · e-mail: biuro@intuiti.pl · www.intuiti.pl
Dokument opisuje, jak program układa faktury sprzedaży w rejestrze „Dokumenty” według licznika w numerze dokumentu — tak, aby faktura nr 2 stała przed fakturą nr 10. Opis dotyczy wersji 2026.4.1005.2.
Spis treści
  1. Do czego służy sortowanie numeryczne
  2. Jak włączyć
  3. Algorytm krok po kroku
  4. Przykłady
  5. Ograniczenia i dobre praktyki

1. Do czego służy sortowanie numeryczne

Zwykłe sortowanie kolumny „Nr Dokumentu” porównuje numery znak po znaku, jak słowa w słowniku. Dla numerów faktur daje to kolejność, której nikt się nie spodziewa:

Sortowanie tekstoweSortowanie numeryczne
1/10/2026
10/10/2026
11/10/2026
2/10/2026
1/10/2026
2/10/2026
10/10/2026
11/10/2026

Kłopot jest większy, gdy licznik nie stoi na początku numeru. W numeracji 0691-016-10-26 pierwszy segment zmienia się bez związku z kolejnością wystawienia, a licznikiem jest drugi segment (016). Sortowanie tekstowe układa wtedy faktury według pierwszego segmentu, czyli praktycznie losowo. Sortowanie numeryczne samo rozpoznaje, która liczba w numerze jest licznikiem.

2. Jak włączyć

W rejestrze Dokumenty → Sprzedaż przy lewej krawędzi nagłówka kolumny „Nr Dokumentu” znajduje się ikonka „Sortuj numerycznie” (cyjanowa, ze strzałką i cyframi 1-9). W rejestrze zakupów jej nie ma — numery faktur zakupu nadają różni wystawcy, więc wspólny licznik nie istnieje.

  1. Kliknij ikonkę — lista ułoży się według licznika rosnąco. Strzałka sortowania w nagłówku kolumny nie pojawia się — oznacza ona wyłącznie zwykłe sortowanie tekstowe.
  2. Najedź na ikonkę — podpowiedź pokaże rozpoznany układ numeru, np. FV/RRRR/MM/NR. Sprawdź, czy NR stoi tam, gdzie w Twojej numeracji jest licznik.
  3. Kliknij ikonkę ponownie, aby odwrócić kierunek (malejąco). Kierunek widać na samej ikonce: cyfry 1-9 (rosnąco) albo 9-1 (malejąco).
  4. Kliknięcie samego nagłówka kolumny wraca do zwykłego sortowania tekstowego. Ręczne przesunięcie dokumentów w górę lub w dół również wyłącza sortowanie numeryczne.
Wysyłka do Symfonii FK idzie w kolejności widocznej na liście. Po sortowaniu numerycznym dokumenty trafiają więc do bufora FK w kolejności numerów faktur.

3. Algorytm krok po kroku

Przy kliknięciu ikonki program analizuje numery wszystkich dokumentów wczytanych na karcie i dla każdego wylicza klucz sortowania. Kolejne kroki:

KrokCo program robi
1. SegmentyWydziela z numeru ciągi cyfr. Wszystko inne — ukośniki, kreski, kropki, nawiasy, litery — jest tylko separatorem. Zera wiodące nie mają znaczenia: 001 to 1.
2. SeriaNumery o tym samym kształcie (ciągi cyfr zastąpione znakiem #, np. FV/#/#/#) tworzą jedną serię. Różne serie — np. faktury FV/… i korekty FK/… — sortowane są osobno i ustawiane jedna po drugiej (według kształtu).
3. RokSegment, którego wszystkie wartości mieszczą się w zakresie 2000–2099 (najwyżej kilka różnych lat). Gdy takiego nie ma — dwucyfrowy segment na początku albo na końcu numeru, prawie stały (np. 26 w 0691-016-10-26).
4. MiesiącSegment z wartościami 1–12 stojący tuż obok roku. Gdy pasują obie strony roku, wybierany jest ten o mniejszej liczbie różnych wartości, a przy remisie — stojący przed rokiem.
5. LicznikSpośród pozostałych segmentów, które się zmieniają — ten, którego wartości najgęściej wypełniają swój zakres. Licznik 1, 2, 3 … 40 jest prawie ciągły; segment losowy (np. 0691, 1990, 0046) jest rozrzucony. Przy remisie wygrywa segment z większą liczbą różnych wartości.
6. KluczDokumenty porządkowane są według: serii → roku → miesiąca → licznika, a gdy to nie rozstrzyga — naturalnego porównania całego numeru (liczby jako liczby, tekst bez rozróżniania wielkości liter).

Rok i miesiąc rozpoznawane są przed licznikiem celowo. Przy dokumentach z kilku miesięcy, po kilka w każdym, miesiąc potrafi mieć więcej różnych wartości niż licznik — gdyby decydowała sama gęstość, program wziąłby miesiąc za licznik i ułożył np. 1/10, 1/11, 1/12, 2/10.

Dokument dodany do listy już po włączeniu sortowania (np. po odświeżeniu) otrzymuje klucz według reguł rozpoznanych dla jego serii.

4. Przykłady

NumeracjaRozpoznany układKolejność po sortowaniu
1/10/2026 … 40/10/2026NR/MM/RRRR1, 2, 3 … 40
FV/2026/10/1 … FV/2026/10/40FV/RRRR/MM/NR1, 2, 3 … 40
FV/2026/10/001FV/RRRR/MM/NR001, 002 … 040 (zera wiodące bez znaczenia)
FV.001.10.2026, FV(12)-10-26FV.NR.MM.RRRR, FV(NR)-MM-RRwedług licznika
0691-016-10-26, 1990-015-10-26, 0046-010-10-26#-NR-MM-RR…-010-…, …-015-…, …-016-… (pierwszy segment pomijany)
1/10/2026, 2/10/2026, 1/11/2026NR/MM/RRRR1/10, 2/10, 1/11 — najpierw miesiąc, potem numer
1/12/2025, 2/12/2025, 1/1/2026NR/MM/RRRRgrudzień 2025 przed styczniem 2026
FV/1/10/2026, FK/1/10/2026, FV/2/10/2026dwie serienajpierw cała seria FK/…, potem FV/…, każda według licznika

Oznaczenia w układzie: RRRR / RR — rok, MM — miesiąc, NR — licznik, # — pozostałe liczby, które nie wpływają na kolejność.

5. Ograniczenia i dobre praktyki

Sprawdź podpowiedź ikonki. Rozpoznanie licznika to reguła wyprowadzona z samych numerów, a nie ustawienie. Przy nietypowej numeracji podpowiedź pokaże, który segment program uznał za licznik — jeśli to nie ten, wróć do sortowania tekstowego kliknięciem nagłówka.
Mało dokumentów albo dwa podobne segmenty. Przy kilku dokumentach dwa segmenty mogą wyglądać równie „licznikowo”. Program rozstrzyga wtedy naturalnym porównaniem całego numeru, więc wynik nie jest gorszy niż zwykłe porównanie liczb od lewej.
Numery bez cyfr (np. puste) tworzą osobną grupę i stoją w kolejności tekstowej względem pozostałych serii.