W programie TILIGO często trzeba nadawać elementom programu niepowtarzalne kody.
Dotyczy to np. kodów własnych czy też numeracji wystawianych dokumentów.
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 |