W  programie TILIGO często trzeba nadawać elementom programu niepowtarzalne kody.

Dotyczy to np. kodów własnych czy też numeracji wystawianych dokumentów.

 

liczniki1

 

Program TILIGO umożliwia każdej firmie określenie formatu z jakim robiona jest numeracja ofert i innych dokumentów oraz produktów i usług.

W panelu Liczniki w pierwszym polu wpisuje się liczbę liczników. Liczba ta może być podana w zakresie (2-100). Liczniki są tu kreślane pod numeremi N1, N2, N3 itd. Jeśli potrzebujemy stworzyć jakąś nową numerację elementu, wtedy należy zwiększyć odpowiednio liczbę liczników. W zasadzie jednak opcji tej nie należy zmieniać.

 

W polach położonych niżej podajemy format w jakim mają być przypisywane poszczególne numeracje dokumentów czy elementów programu.

Każdy użytkownik może utworzyć sobie dowolny format numeracji (korzystając z poniższych elementów formatowania:

 

Przykład rzeczywistego formatowania numeru oferty (bazując na powyższym szablonie numeracji):

 

OF1234/0211/JKow

 

Format powyższy można rozszyfrować następująco:

OF - typ dokumentu w tym wypadku oferta

1234 - kolejny (niepowtarzalny numer oferty)

0211 - Numeracja miesiąca i roku (w tym wypadku Luty 2011)

JKow - tzw. "krótka nazwa" użytkownika, który wystawił ofertę (np. Jan Kowalski)

 

Opcje formatowania liczników:

 

Wpisz styl generowanego wzoru. Styl może zawierać w dowolnym miejscu

%nN - w to miejsce zostanie wstawiona następna nieużyta liczba z licznika o danym numerze(np %n1 wstawi liczbę z pierwszego licznika, %n2 z drugiego)
%u - w to miejsce zostanie wstawiona skrócona nazwa użytkownika który utworzył dany element
#formatDaty# - w to miejsce zostanie wstawiona data o danym formacie. Poniżej znajduje się lista dozwolonych formatów daty.

 

Zmienne formatu daty i godziny:

 

Formaty daty i godziny są wyszczególnione jako ciągi znaków nazwane zmiennymi formatu daty i godziny (date and time pattern). W zmiennych formatu daty i godziny litery od A do  Z oraz od a do z reprezentują ciągi znaków składające się na datę i godzinę. Dodatkowy tekst do wyświetlenia umieszcza się w pojedynczym cudzysłowie (‘), aby uniknąć interpretowania go jako zmiennej. Wszystkie inne znaki nie są interpretowane; są jedynie kopiowane do ciągu wynikowego podczas formatowania lub  porównane z wprowadzonym ciągiem podczas analizy składniowej.

Poniżej znajdują się zmienne oznaczone literami (wszystkie inne znaki od A do Z oraz od a do z są zastrzeżone).

 

Litera

Znaczenie jako składnika daty lub godziny

Rodzaj zmiennej

Przykłady

G

Oznaczenie ery

Tekst

n.e.

y

Rok

Rok

2011; 11

M

Miesiąc roku

Miesiąc

Sierpień; sie; 08; 8

w

Tydzień roku

Liczba

34

W

Tydzień miesiąca

Liczba

4

D

Dzień roku

Liczba

234

d

Dzień w miesiącu

Liczba

22

F

Kolejne wystąpienie  dnia tygodnia w miesiącu

Liczba

4

E

Dzień tygodnia

Tekst

poniedziałek; Pn

a

Znacznik am/pm

Tekst

PM

H

Godzina (0-23)

Liczba

0

k

Godzina (1-24)

Liczba

24

K

Godzina am/pm (0-11)

Liczba

0

h

Godzina am/pm (1-12)

Liczba

12

m

Minuty

Liczba

30

s

Sekundy

Liczba

55

S

Milisekundy

Liczba

978

z

Strefa czasowa

Wskazanie strefy czasowej

Central European Summer Time; CEST

Z

Strefa czasowa

Strefa czasowa w Basiczie RFC 822

+0200

 

 

Różne rodzaje zmiennych stosowane są w zależności od ilości znaków jakie mają pomieścić, co jest związane z formatem daty lub godziny.

 

Text: Jeżeli liczba liter wpisana w formacie wynosi 4 lub więcej, wynik formatowania przybiera pełną formę; w innym wypadku pojawia się krótka forma. Do analizy składniowej obie formy są akceptowalne, niezależnie od ilości liter wpisanych do formatu.

 

Liczba: Liczba liter wpisywana do formatu jest przynajmniej taka jak liczba cyfr jakie powinny pojawić się w wyniku. Każda dodatkowa litera wpisana do formatu, zastępowana jest zerem.

 
Podczas analizy składniowej liczba liter we wzorze jest ignorowana, chyba że jest potrzebna do oddzielenia dwóch przyległych pól.

 

Rok: Jeśli do formatowania {@link #getCalendar() Calendar}wykorzystywany jest kalendarz gregoriański, stosowane są następujące reguły:Podczas formatowania, jeśli jako format podano 2 litery, rok jest skracany do dwóch cyfr; w innym przypadku jest interpretowany jako liczba.

 

Podczas analizy składniowej, jeśli liczba liter formatu jest większa niż 2, rok jest interpretowany dosłownie, niezależnie od liczby cyfr. Zatem używając formatu „dd/MM/yyyy”, „11/01/12” parsowany jest jako 11 sty 12 n.e.

 

Podczas analizy składniowej, przy użyciu  format skróconego (”y” lub „yy”) SimpleDateFormat musi interpretować skrócony rok z uwzględnieniem wieku, którego rok dotyczy. Realizowane jest to przez ustawienie dat między 80 lat przed i 20 lat po czasie, kiedy przypadek SimpleDateFormat został utworzony. Na przykład dla formatu „dd/MM/yy” i przypadku SimpleDateFormat  stworzonego w dniu  1 sty 2012, ciąg „11/01/21” będzie interpretowany jako 11 styczeń 2021, podczas gdy ciąg „04/05/64” będzie interpretowany jako 4 Maj 1964. Podczas analizy składniowej jedynie ciąg składający się z dokładnie dwóch cyfr, jak zdefiniowano przez {@link Character#isDigit(char)}, będzie parsowany jako domyślny wiek. Wszelkie inne ciągi numeryczne, takie jak pojedyncza cyfra, ciąg trzech, lub więcej cyfr lub ciąg dwóch znaków, z których nie każdy jest cyfrą (na przykład „-1”), będzie interpretowany dosłownie. Tak więc „02/01/3” lub „02/01/003” będzie parsowany przy użyciu tego samego wzorca, jako 2 styczeń 3 n.e., podczas gdy  „02/01/-3” jest parsowany jako 2 styczeń 4 p.n.e.

 

Zarówno w przypadku formatowania i analizy składniowej, jeśli liczba liter formatu wynosi 4 lub więcej, dla kalendarza stosowana jest specyfikacja {@linkplain Calendar#LONG long form}. W innym przypadku, stosowana jest specyfikacja {@linkplain Calendar#SHORT short or abbreviated form}

 

Miesiąc: Jeśli liczba liter w formacie wynosi 3 lub więcej, miesiąc generowany jest jako tekst, w innym przypadku jako liczba

 

Strefa czasowa: Oznaczenia stref czasowych interpretowane są jako tekst jeśli mają przypisane nazwy.

 

a) W przypadku stref czasowych przypisanych do systemu GMT używana jest następująca składnia:
 

GMTOffsetTimeZone:
            GMT Znak Godzina : Minuty
    Znak: jeden z
            + -
    Godziny:
            Cyfra
            Cyfra Cyfra
    Minuty:
            Cyfra Cyfra
    Cyfra: jedna z

            0 1 2 3 4 5 6 7 8 9

 

 

 

b) Godziny muszą zawierać się między 0 a 23, natomiast Minuty między 00 a 59. Format jest niezależny od obiektu lokalizacji i cyfry powinny pochodzić z tabeli podstawowych znaków łacińskich.

W analizie składniowej format stref czasowych RFC 822 jest także akceptowalny.

 

Strefa czasowa RFC 822: Podczas formatowania z wykorzystaniem RFC 822 używany jest 4-cyfrowy format:

    RFC822TimeZone:
            Znak DwieCyfryGodziny Minuty
    DwieCyfryGodziny:

            Cyfra Cyfra

 

DwieCyfryGodziny muszą pochodzić z przedziału 00 a 23. Wyjaśnienie pozostałych składników jest podobne je w przypadku formatowania zwykłej strefy czasowej.

SimpleDateFormat wspiera także lokalizację daty i godziny.

 
Litery występujące w formatach opisanych powyżej mogą zostać użyte w sposób, jaki odpowiada danej lokalizacji.

 

 
Przykłady:

 

Następujące przykłady pokazują w jaki sposób format daty i godziny są interpretowane dla lokalizacji środkowoeuropejskiej, do której przypisana jest Polska. Przykładowa data i godzina to 2011-08-22 14:05:56 czasu lokalnego w Polsce, w strefie czasu środkowoeuropejskiego.
 

Format daty i godziny

Wynik

" yyyy.MM.dd G 'godzina' HH:mm:ss z "

2011.08.22 n.e. godzina 14:05:56 CEST

" EEE, d MMM yyyy 'r.'"

Pn, 22 sie 2011 r.

" h:mm a, zzzz "

2:05 PM, Central European Summer Time

"K:mm a, z"

2:22 PM, CEST

"22 MMMMM yyyyyyyy GGG HH:mm"

22 sierpień 00002011 n.e. 14:05

"EEE, d MMM yyyy HH:mm:ss Z"

Pn, 22 sie 2011 14:05:56 +0200

" MMddyyHHmmssZ "

082211140556+0200

„EEEE, d  MMMM yyyyy”

poniedziałek, 22  sierpień 02011

" yyyy-MM-dd' G 'HH:mm:ss.SSSZ "

2011-08-22 G 14:05:56.540+0200