Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Luka w numeracji kolumny PHP MYSQL
Forum PHP.pl > Forum > PHP
banki
Witam wszystkich, mam problem z zachowaniem odpowiedniej numeracji faktur w programie.

Mamy powiedzmy tabelkę z kolumnami ID i NR, w kolumnie NR są numery 1,2,3,5,6,7.

Nie mogę sobie poradzić z tym, aby nowy rekord był dodany z numerem 4. Jeśli będzie już nowy rekord dodany i będzie miał nr 4, to następny dopiero 8.

Ma ktoś jakieś pomysły jak to wykonać? W jaki sposób znaleźć tą lukę w tej numeracji?

Z góry dzięki za podpowiedzi.

Pozdrawiam
nospor
A skad sie ta luka na 4 wziela? Bo byla wczesniej faktura z nr 4 a potem ja usunales i na jej miejsce chcesz wstawic nowa? Nie sadzisz ze to troche nie halo?
banki
Tak sądziłem, że nie powinno tak być, ale księgowa mówiła że musi być zachowana kolejność numeracji bez żadnej luki, nawet jeśli w miejsce tego nr 4 wskoczyłaby faktura z datą późniejszą niż nr 5. Luka się bierze jeśli ktoś przez przypadek kliknie wystawienie faktury, a potem ją usunie, a w między czasie były już wystawione kolejne.
Lord
Rozumiem, że numer faktury to nie jest Primary Key, przy dodawaniu faktury numer można zasugerować (pobierasz ostatni i +1) ale to do użytkownika powinno należeć zmiana numeracje własnie w takich przypadkach gdy jest jakaś luka i księgowa na siłe chce wcisnąc jakiś numer by numeracja się zgadzała. W każdej firmie może zresztą być kilka numeracji prowadzonych niezależnie np

SKLEP/1/2019
SKLEP/2/2019

i
HURT/1/2019
HURT/2/2019

Ogólnie ustalanie numeracji na siłe to zły pomysł (chyba, że zlę zrozumiałem problem)

markonix
Teraz to rozlane mleko, faktury wystawiasz i numerujesz zgodnie z kolejnością realną, więc jeżeli już wtedy nie zapełniłeś luki to masz błąd księgowy.
Fakturę można usunąć i wstawić za nią nową jeżeli nie weszła w obieg w żaden sposób, jeżeli weszła to się ją zostawia i oznacza jako anulowaną.
Od strony skryptu nigdy nie można dopuścić, aby w danej serii została luka.

Oczywiście mówimy o numerze faktury, numerze w konkretnej serii jeżeli być bardziej precyzyjnym. Primary ID jest tutaj akurat nieistotne, leci sobie swoim życiem i się w nie nie ingeruje.
dublinka
Zmień księgową.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.