Historia: Składniki kalkulacji funkcji naliczania czynszu - Opis
Porównaj wersje strony
Wersja strony: 2015/01/21 12:38
Podstawowe założenia
Naliczanie obciążeń w module czynszowym systemu Gw-Max realizowane jest za pomocą mechanizmu kalkulacji funkcji na słowniku elementów składników czynszu.
Wyliczona wartość składnika czynszowego w danym miesiącu jest ilością na kartotece obciążeń (naliczeń czynszu) lokalu.
Liczona jest w kontekście lokalu/nieruchomości i zarządcy na którym występuje.
Używając specjalistycznego dialektu języka programowania możemy dowolnie wpływać na wyliczoną ilość danego składnika czynszu.
Definicja zapisów w formule kalkulacji jest w postaci tekstowej, używając wbudowanych funkcji przeprowadzamy kalkulacje i końcowa ilość (wynik działania kalkulacji) jest brana jako ilość do zapisu na kartotece.
Dokumentacji możliwości języka programowania formuł kalkulacji pokaże w formie prezentacji przykładów, od najprostszych w kierunku bardziej zaawansowanych.
Opis języka formuł kalkulacyjnych
Mamy do dyspozycji operatory arytmetyczne:
+ dodawanie,
- odejmowanie,
* mnożenie,
/ dzielenie,
% reszta z dzielenia
oraz operator łączenia łańcuchów znakowych (konkatenacji)
&
Wartości dziesiętne reprezentujemy z użyciem kropki (przykład: 12.87)
przykłady:
( 5 * 5 ) + (10 * 2) / 4
Jest to formuła wyliczająca stałą ilość 125
_mc * 2
Jest to formuła wyliczająca ilość mnożąc numer miesiąca (od 1 do 12) razy 2
Choose( _mc = 5, 0, 1) * 100
Jest to przykład użycia funkcji warunkowej
Choose, która sprawdza czy wynik pierwszego argumentu jest równy 5 (miesiąc naliczenia maj) i jeśli tak zwraca 0 w przeciwnym przypadku 1.
Wynik 1 lub 0 jest mnożony razy 100 i daje to funkcjonalność taką że formuła będzie zwracała ilość w każdym miesiącu prócz maja.
W tym przykładzie używamy operatorów logicznych.
Mamy do dyspozycji następujące operatory logiczne:
= równy,
> większy,
>= większy lub równy,
< mniejszy,
<= mniejszy lub równy,
<> różny
można łączyć warunki logiczne operatorami
AND i
OR, jest też operator jedno-argumentowy
NOT
W porównaniu łańcuchów znakowych duże i małe litery są rozróżniane.
Choose( (_mc = 5) OR (_mc = 12) , 0, 1) * 100
Użyłem tutaj operatora OR (lub) co daje nam funkcjonalność że formuła zwróci wartość w wszystkie miesiące prócz 5 i 12 (czyli Maj i Grudzień)
Do lepszej przejrzystości użyłem nawiasów.
Program w formule kalkulacji może być bardzo rozbudowany i wywoływać wiele funkcji łącząc różne do wyliczenia.
LC('IloscOsob') * 100
Przykład użycia wbudowanej funkcji zwracającej wartość charakterystyki lokalu oznaczonej symbolem 'IloscOsob'. Przykład pokazuje jak podajemy argumenty funkcji w postaci łańcucha znaków.
Taki łańcuch znaków może być wypracowany poprzez połączenie dwóch za pomocą operatora łączenia (konkatenacji) znaków.
LC('Ilosc' & 'Osob' ) * 100
Wynik działania jest taki sam tylko jak widać argument funkcji jest łączony z 'Ilosc' i 'Osob'
Można wykonywać konwersje liczby na łańcuch znaków w prosty sposób używając operatora &
LC( 'MC: ' & _mc ) * 100
To jest przykład gdzie na lokalu mamy charakterystyki osobne dla każdego miesiąca ('MC: 1', 'MC: 2', .....)
Pełny opis możliwych funkcji w formułach kalkulacji
Użycie znaków
podkreślenia w nazwie argumentu oznacza że argument funkcji jest opcjonalny.
- _MC - funkcja zwracająca liczbę numer miesiąca dla którego jest naliczane obciążenie szczegóły
- _ROK - funkcja zwracająca liczbę numer roku dla którego jest naliczane obciążenie szczegóły
- LLicznik( Symbol, Rodzaj, ZakresMc ) - funkcja zwraca wartość licznika przypiętego do składnika naliczenia lokalu szczegóły
- NLicznik( Symbol, ZakresMc ) - funkcja zwraca wartość licznika przypiętego do składnika naliczenia nieruchomości szczegóły
cdn...