Numer kolejny faktury

Punkt drugi założeń projektowych (które można znaleźć tutaj) głosi:
2. numer faktury definiowany szablonem,
Czas zająć się tą funkcjonalnością. Projektując bazę danych zdecydowałem, że zarówno numer faktury jak i jego szablon będą łańcuchami znaków. Spójrzmy na przykład: “1/08/2010” – numer pierwszej faktury w sierpniu 2010. Według reguł, które zaraz przedstawię, szablon takiego numeru wygląda następująco: “N/MM/RR”.

Continue reading “Numer kolejny faktury”

Słownie złotych:

Zgodnie z obowiązującym w Polsce prawem, faktura powinna zawierać przynajmniej:
(…)
– kwotę należności ogółem wraz z należnym podatkiem (brutto), wyrażoną cyframi i słownie.

Tak podaje wikipedia. Dziś zajmę się pogrubionym fragmentem cytatu: zamianą kwoty pieniędzy określonej waluty na jej słowną reprezentację. Zakładam, że wystawiając faktury na kwoty powyżej 999999,99 (czyli milion i więcej) jednostek monetarnych, użytkownik – z nieopisaną satysfakcją – wpisze kwotę słownie własnoręcznie.

Continue reading “Słownie złotych:”

Księga liczb: walidacja NIPu i REGONu

Po ukończeniu warstwy dostępu do danych, mogę zabrać się za logikę biznesową. Na początek – walidacja numerów NIP i REGON.
Czym jest NIP, wie mniej więcej każdy. Czym jest REGON, zapewne bardziej “mniej” niż “więcej”. Z kolei wiedzę o tym, co oznaczają poszczególne cyfry tych numerów, moża śmiało uznać za tajemną. Dziś, na potrzeby projektu, uchylę rąbka tajemnicy: zajmę się ich ostatnimi cyframi. Są to cyfry kontrolne, wyznaczane algorytmicznie. Aby je wyliczyć, należy:

Continue reading “Księga liczb: walidacja NIPu i REGONu”

Księga pierwsza: projektowanie bazy danych

Zacznę od pytania: co chcę przechowywać w bazie? I natychmiast odpowiem: na pewno faktury. Zerknięcie na założenia projektowe (pkt. 1) pozwala rozszerzyć odpowiedź. Potrzebował będę również takich tabel jak: klienci, produkty, szablony faktur. Przydałoby się również miejsce na przechowanie danych o użytkownikach programu – tabela sprzedawcy.

Continue reading “Księga pierwsza: projektowanie bazy danych”

InvoiceInvoker: inwokacja

Dziś początek konkursu Daj się poznać – pracę czas zacząć!

IT, dziedzino moja, ty jesteś jak…
…no dobra, bez przesady. Jak zapowiedziałem, startuję z programem służącym do wystawiania i przechowywania faktur (VAT). Projekt zyskał już nazwę: InvoiceInvoker (w kategorii o tej samej nazwie będę umieszczał wpisy konkursowe) i konto na CodePlex (na razie nieupublicznione). Kolejnym etapem będzie sformułowanie kilku podstawowych założeń projektowych.

Continue reading “InvoiceInvoker: inwokacja”