Liczniki służą do automatycznego nadawania kolejnych numerów obiektom tworzonym w programie bs4 core. Można je wykorzystać między innymi do numerowania:
- ofert,
- transakcji,
- zleceń,
- dokumentów,
- zgłoszeń,
- innych obiektów przechowywanych w klasach.
W bs4 core numerację można skonfigurować na dwa sposoby:
- za pomocą pola liczbowego automatycznie nadającego kolejny numer,
- za pomocą licznika wywoływanego przez trigger.
Pierwsze rozwiązanie jest prostsze, natomiast drugie daje znacznie większe możliwości konfiguracji.
1. Automatyczne nadawanie numeru w polu liczbowym #
Najprostszy sposób polega na skonfigurowaniu pola liczbowego, w którym program będzie automatycznie zapisywał kolejny numer obiektu.
Konfiguracja pola #
- Przejdź do konfiguracji klasy, której obiekty mają być numerowane.
- Dodaj nowe pole typu Liczba lub przejdź do edycji istniejącego pola liczbowego.
- Ustaw liczbę miejsc po przecinku na 0.
- Włącz atrybut:LP – nadaj numer kolejny w polu.
Od momentu włączenia tego atrybutu każdy nowo dodany obiekt otrzyma w tym polu kolejny numer.
Numer może być następnie wyświetlany między innymi:
- w formularzu podglądu obiektu,
- w formularzu edycji,
- w zestawieniach.
Ograniczenia prostego numerowania #
Prosty mechanizm nadaje numer natychmiast podczas dodawania obiektu. Oznacza to, że jeżeli użytkownik później usunie obiekt, w numeracji pozostanie luka.
Ponadto wygenerowana wartość jest wyłącznie liczbą. Mechanizm ten nie pozwala bezpośrednio tworzyć bardziej rozbudowanych numerów, takich jak:
5/2026/OFERTA,005/08/2026,ZLEC/00125,FV/2026/0001.
Jeżeli numer ma być nadawany dopiero w określonym momencie albo ma zawierać rok, miesiąc lub stały fragment tekstu, należy zastosować licznik obsługiwany przez trigger.
2. Definiowanie zaawansowanego licznika #
Zaawansowane liczniki definiuje się w kartotece administratora.
Dodawanie licznika #
- Przejdź do kartoteki administratora.
- Otwórz zestawienie Liczniki.
- Kliknij Dodaj nowe.
- Wprowadź przyjazną nazwę licznika, na przykład:Numer oferty.
Nazwa powinna jednoznacznie wskazywać, do czego licznik będzie wykorzystywany.
Częstotliwość resetowania #
W konfiguracji licznika określ częstotliwość jego resetowania. Dostępne są następujące warianty:
- Nigdy – numeracja jest kontynuowana bez względu na zmianę miesiąca lub roku.
- Rocznie – na początku każdego nowego roku numeracja rozpoczyna się ponownie od wartości 1.
- Miesięcznie – na początku każdego nowego miesiąca numeracja rozpoczyna się ponownie od wartości 1.
Przykładowo licznik resetowany rocznie może generować numery:
1/2026,2/2026,3/2026.
Po rozpoczęciu kolejnego roku numeracja rozpocznie się od:
1/2027.
Uzupełnianie numeru zerami #
W konfiguracji można również określić, do ilu znaków licznik ma być uzupełniany zerami z lewej strony.
Jeżeli zostanie ustawiona długość 3, wartości będą generowane w następującej postaci:
- wartość 1 –
001, - wartość 10 –
010, - wartość 100 –
100.
Stała długość numerów jest szczególnie przydatna podczas tekstowego sortowania zestawień. Dzięki uzupełnieniu zerami wartości są wyświetlane we właściwej kolejności.
3. Pobieranie wartości licznika w triggerze #
Samo zdefiniowanie licznika nie powoduje jeszcze nadawania numerów obiektom. Należy również określić:
- kiedy licznik ma zostać pobrany,
- czy po pobraniu ma zostać zwiększony,
- gdzie wygenerowana wartość ma zostać zapisana.
Do obsługi licznika wykorzystuje się triggery oraz komendy triggera.
Określenie momentu nadania numeru #
Najpierw należy utworzyć trigger uruchamiany w odpowiednim momencie, na przykład:
- po dodaniu nowej transakcji,
- po utworzeniu oferty,
- po zapisaniu obiektu,
- po uzupełnieniu wszystkich wymaganych pól,
- po zmianie statusu dokumentu.
Dzięki temu numer nie musi być nadawany natychmiast podczas tworzenia obiektu. Może zostać wygenerowany dopiero wtedy, gdy obiekt spełni określone warunki.
Dodanie komendy pobierającej licznik #
W konfiguracji triggera dodaj komendę:
Przypisz do zmiennej liczbowej kolejną wartość licznika.
Komenda znajduje się w grupie komend służących do tworzenia zmiennych triggera.
Po przeciągnięciu komendy do triggera należy ją odpowiednio skonfigurować.
4. Konfiguracja komendy licznika #
Wartość licznika #
W polu Wartość licznika wybierz wcześniej zdefiniowany licznik, na przykład:
Numer oferty.
Po wykonaniu komendy aktualna wartość wybranego licznika zostanie zapisana do liczbowej zmiennej triggerowej.
Pobierając, zmień licznik o #
W polu Pobierając, zmień licznik o określ, czy po pobraniu wartości licznik ma zostać zwiększony.
Najczęściej stosowane wartości to:
- 1 – po pobraniu wartości licznik zostanie zwiększony o jeden,
- 0 – zostanie pobrana aktualna wartość, ale licznik nie zostanie zwiększony.
W standardowym mechanizmie nadawania kolejnych numerów należy ustawić wartość 1.
Wartość 0 może być użyteczna, gdy potrzebne jest jedynie odczytanie bieżącej wartości licznika bez zajmowania kolejnego numeru.
Okres licznika ze zmiennej #
Opcjonalnie można uzupełnić pole Okres licznika ze zmiennej.
W polu tym należy wskazać zmienną triggerową typu:
- data,
- data i czas.
Data zapisana w tej zmiennej zostanie wykorzystana do określenia okresu licznika.
Ma to znaczenie przede wszystkim w przypadku liczników resetowanych miesięcznie lub rocznie.
Przykładowo numer oferty może być generowany na podstawie daty jej wystawienia, a nie daty uruchomienia triggera. Dzięki temu można wygenerować numer również dla dokumentu dotyczącego wcześniejszego miesiąca lub roku.
Jeżeli pole Okres licznika ze zmiennej pozostanie puste, licznik zostanie wygenerowany dla bieżącej daty.
5. Zapisanie numeru w obiekcie #
Po wykonaniu komendy wartość licznika znajduje się w liczbowej zmiennej triggerowej.
Wartość tę można następnie:
- zapisać bezpośrednio do pola liczbowego w obiekcie,
- wykorzystać w kolejnych komendach triggera,
- połączyć z innymi fragmentami tekstu i zapisać jako rozbudowany numer dokumentu.
6. Tworzenie rozbudowanego numeru tekstowego #
Jeżeli numer ma zawierać nie tylko wartość licznika, ale także dodatkowe elementy, należy użyć kolejnej komendy triggera, na przykład:
Przypisz do zmiennej tekst.
Za pomocą tej komendy można połączyć wartość licznika z:
- bieżącym rokiem,
- miesiącem,
- symbolem rodzaju dokumentu,
- stałym tekstem,
- innymi wartościami przechowywanymi w zmiennych triggerowych.
W ten sposób można utworzyć numery takie jak:
005/2026/OFERTA,ZLEC/001/2026,10/08/2026,OF/2026/00125.
Po utworzeniu kompletnego numeru tekstowego należy zapisać zmienną do odpowiedniego pola tekstowego w obiekcie.
7. Przykładowy schemat numerowania ofert #
Przykładowa konfiguracja może wyglądać następująco:
- W zestawieniu Liczniki utwórz licznik o nazwie Numer oferty.
- Ustaw resetowanie licznika na Rocznie.
- Ustaw uzupełnianie numeru do trzech znaków.
- Utwórz trigger uruchamiany po zatwierdzeniu oferty.
- Dodaj komendę Przypisz do zmiennej liczbowej kolejną wartość licznika.
- Wybierz licznik Numer oferty.
- W polu Pobierając, zmień licznik o wpisz
1. - Opcjonalnie wskaż zmienną zawierającą datę wystawienia oferty.
- Za pomocą komendy Przypisz do zmiennej tekst połącz:
- wartość licznika,
- rok wystawienia,
- stały tekst
OFERTA.
- Zapisz uzyskany numer do pola tekstowego oferty.
Efektem może być numer:
001/2026/OFERTA
Kolejne zatwierdzone oferty otrzymają numery:
002/2026/OFERTA,003/2026/OFERTA,004/2026/OFERTA.
8. Wybór odpowiedniego mechanizmu #
Proste automatyczne numerowanie w polu liczbowym warto zastosować, gdy:
- potrzebny jest wyłącznie kolejny numer,
- numer może być nadawany natychmiast podczas tworzenia obiektu,
- dopuszczalne są luki powstałe po usunięciu obiektów,
- nie jest potrzebny rok, miesiąc ani dodatkowy tekst.
Zaawansowany licznik obsługiwany przez trigger należy zastosować, gdy:
- numer ma być nadawany dopiero w określonym momencie,
- numeracja ma być resetowana co miesiąc lub co rok,
- licznik ma być uzupełniany zerami,
- numer ma uwzględniać datę dokumentu,
- numer ma zawierać dodatkowe człony tekstowe,
- potrzebna jest większa kontrola nad momentem pobrania i zwiększenia licznika.