|
W programie konfiguracyjnym AppConfig w zakładce karnety nie można ustawić nazwy jednostki miary, precyzji ceny oraz precyzji jednostki miary dla każdego rodzaju wpłaty (A, B, G), dlatego te wielkości nie były wypełniane podczas zapisu do bazy danych. Nie było ich wiec w poleceniu SQL. Baza danych domyślnie dla jednostki miary wpisywała sobie „szt” dla precyzji ceny „0” i dla precyzji jednostki też „0”. Efekt był taki, że przy próbie wystawienia faktury do rachunku na wpłatę mimo, że wartości wyliczane przez program były poprawne podczas zapisu do bazy danych, program wprowadzał powyższe ograniczenia. Najgorszym tego skutkiem było to, że program zaokrąglał cenę do pełnych złotych, gdyż tak wynikało z domyślnego wpisu do bazy danych.
Problem ten został rozwiązany w ten sposób, że każda wpłata ma precyzję ceny = 2, precyzję jednostki = 0, a nazwę jednostki bierze z pliku tłumaczeń ze zmiennej „TTS_Pice_Word”. Zmienna ta wobec powyższego ma szczególne znaczenie. Nie powinna być dłuższa niż 4 znaki. Dodatkowo jest sprawdzana przed zapisem jej zawartość. Pod uwagę jest brane tylko 4 pierwsze znaki, a następnie sprawdzane, czy tak otrzymany tekst nie zawiera niedozwolonych znaków (np. typu „’”).
|