Asseco Bisness Solutions (WAPRO) + Crystal Report (SAP)
Manipulacja datą w formacie liczby (int) w tabelach Wf-Maga, Wf-Fakira itd.

Dawne oprogramowanie jeszcze firmy Wapro było pisane pod system DOS-owy. Data wówczas była zapisana w tabelach w formacie zjadliwym dla człowieka (rok,miesiąc.dzień). Dziś z punktu łatwiejszego (szybszego) przetwarzania informacji przez silnik SQL firmy Microsoft data w produktach firmy Asseco Bisness Solution, ale też i INSERT, i innych występuje w formacie liczby, np. 79115. Ta liczba reprezentuje datę 2017-08-07. Okazuje się by dojść do systemu jej tworzenia wystarczy zauważyć pewną analogię do szyfru Juliusza Cezara. Zakładamy, że datą startową jest 1800-12-28, a przesunięcie liczymy na zasadzie ile dni minęło od niej do dnia nas interesującego, np.2017-08-07, czyli otrzymamy 79115. W zapisie informatycznym możemy to zawrzeć w następującej komendzie:

Date (1800,12,28)+{ROZRACHUNEK.DATA_DOK}

gdzie {ROZRACHUNEK.DATA_DOK} odwołuje się do tabeli ROZRACHUNEK kolumny DATA_DOK bazy danych Wf-Fakira i akurat zawiera liczbę 79115, czyli dostajemy datę 2017-08-07

Po przyzwyczajeniu się do powyższej konotacji przetwarzanie danych staje się faktycznie deklaratywne. By nie być gołosłownym obliczenie ile dni minęło od terminu zapłaty do rozliczenia faktycznego rozrachunku można zawrzeć w następującym poleceniu:

{ROZRACHUNEK.DATA_OST_ROZL}-{ROZRACHUNEK.TERMIN_PLATNOSCI}

według mnie prościej się już nie da. By dojść natomiast do informacji ile minęło czasu od daty wystawienia dokumentu do dnia dzisiejszego wydamy komendę w postaci:

CurrentDate - Date (1800,12,28)-{ROZRACHUNEK.DATA_DOK}

albo od terminu płatności:

CurrentDate-Date (1800,12,28)-{ROZRACHUNEK.TERMIN_PLATNOSCI}

Konotacja się trochę komplikuje, ale niewiele.:-) Opracowanie własne na podstawie grupy dyskusyjnej: http://pl.comp.bazy-danych.narkive.com/arOMADVd/data-w-bazie-danych-w-postaci-liczby


Błąd instalacji Microsoft Visual Studio
Error 0x80004003