Historia: Funkcja kalkulacji: LLicznik
Porównaj wersje strony
Wersja strony: 2015/06/09 13:00
Opis funkcji działania funkcji LLicznik( Symbol, Rodzaj, ZakresMc , Co)
Funkcja służy do pobrania wartości z licznika zgodnie z konfiguracją kartoteki licznika.
Kartoteka licznika przechowuje odczyty w formie ilości (stanu licznika) lub wartości wynikowej z odczytu (to często w przypadku liczników ciepła występuje).
Opis parametrów funkcji
- Symbol - opcjonalny parametr (łańcuch znaków) zawierający symbol użytej pozycji z słownika elementów naliczenia obciążeń
- Rodzaj - opcjonalny parametr (łańcuch znaków) zawierający symbol rodzaju naliczenia jakie jest ustalone na kartotece lokalu
- ZakresMc - opcjonalny parametr (liczba całkowita) określająca przesunięcie ilości miesięcy w stosunku do miesiąca naliczenia. Domyślna wartość to 0, ujemne wartości przesuwają wstecz a dodatnie w
przód. - Co - opcjonalny parametr zmieniający co ma być zwracane przez funkcje
Dopuszczalne wartości parametru Co funkcji
- 'średnia_dzienna' , 'srednia_dzienna' , 'sd' - zwraca wartość średniej jaka była w podanym okresie. W przypadku gdy licznik nie ma odczytów zwracana jest średnia z kartoteki licznika
- 'ilość_mc_okresu' , 'ilosc_mc_okresu' , 'imo' - zwraca ilość miesięcy pomiędzy odczytami (bieżący - poprzedni)
- 'ilość_dni_okresu' , 'ilosc_dni_okresu' , 'ido' - zwraca ilość dni pomiędzy odczytami (bieżący - poprzedni) licząc pełne miesiące
- 'odczyt_bieżący' , 'odczyt_biezacy' , 'ob' - zwraca wartość odczytu bieżącego
- 'odczyt_poprzedni' , 'op' - zwraca wartość odczytu poprzedniego. W przypadku jak licznik przechowuje wartości lub zużycie odczyt poprzedni jest równy bieżącemu
- 'data_bieżąca' , 'data_biezaca' , 'db' - zwraca datę odczytu bieżącego (data w formacie Clarion)
- 'data_poprzednia' , 'dp' - zwraca datę odczytu poprzedniego (data w formacie Clarion)
Szczegółowy opis działania funkcji
- w przypadku nie podania parametru Symbol funkcja próbuje szukać kartoteki licznika na składniku naliczenia lokalu z poziomu którego została wywołana. W np. 1 jest pokazane wywołanie.
- w przypadku podania parametru Symbol funkcja szuka pierwszego wystąpienia tego składnika na kartotece lokalu do którego jest wywołana. Jeśli funkcja nie znajdzie symbolu generuje błąd i przerywa działanie generacji obciążeń.
- parametr Rodzaj reprezentuje pozycje rodzaj naliczenia na zakładce składniki naliczenia kartoteki lokalu. Użycie parametru Rodzaj jest zasadne w przypadku gdy parametr Symbol występuje w kilku rodzajach naliczenia dla tego samego lokalu do tego żeby funkcja jednoznacznie identyfikowała pozycje wywołania. W większości algorytmów podawanie tego parametru nie jest potrzebne w np. 2 jest przykładowe wywołanie bez podania.
- jeśli funkcja nie znajdzie kartoteki licznika lub kartoteka licznika jest w archiwum lub zlikwidowana to funkcja zwraca ilość 0
- parametr ZakresMc pozwala na określenie miesiąca w którym ma być znaleziony odczyt. Brak użycia parametru lub wartość 0 powoduje szukanie w bieżącym miesiącu. Użycie wartości ujemnych powoduje szukanie wstecz a dodatnich w przód względem bieżącego miesiąca. Przykład użycia jest w np. 3
- nie znalezienie odczytu powoduje zwrócenie wartości 0
- licznik nie obsługuje kalkulacji po przekręceniu się licznika
Przykłady wywołania
Np. 1 - pokazuje wywołanie bez parametrów
LLicznik()
Formuła kalkulacji zwróci ilość lub wartość (zależne od konfiguracji kartoteki licznika) a numer kartoteki licznika zostanie wczytany z składnika elementu naliczenia na kartotece lokalu.
Np. 2 - pokazuje wywołanie z pominięciem parametru
Rodzaj
LLicznik( 'kis',,-1)
Formuła kalkulacji szuka składnika o symbolu
'kis' i odczytu w poprzednim miesiącu względem
_MC
Np. 3 - pokazuje użycie parametru
ZakresMc
LLicznik( ,,-2)
Formuła kalkulacji szuka odczytu bieżącego dwa miesiące wcześniej niż rok i miesiąc naliczenia i następny odczyt wstecz jest poprzednim.
(np. naliczamy na 2015 maj to szukamy bieżącego w marcu a poprzedni przed marzec)
Kom( 'średnia dzienna = ' & LLicznik( , , , 'średnia_dzienna')) &
Kom( 'ilość miesięcy okresu = ' & LLicznik( , , , 'ilość_mc_okresu')) &
Kom( 'ilość dni okresu = ' & LLicznik( , , , 'ilość_dni_okresu')) &
Kom( 'odczyt bieżący = ' & LLicznik( , , , 'odczyt_bieżący')) &
Kom( 'odczyt poprzedni = ' & LLicznik( , , , 'odczyt_poprzedni')) &
Kom( 'data poprzednia odczytu = ' & LLicznik( , , , 'data_bieżąca')) &
Kom( 'data bieżąca odczytu = ' & LLicznik( , , , 'data_poprzednia'))
Przykład pokazuje wywołanie komunikatów zawierających dodatkowe informacje jakie udostępnia licznik
LLicznik( , , , 'średnia_dzienna') * dr( 'ilosc_dni_mc', 0, 5)
Przykład wylicza ilość z średniej dziennej na liczniku pomnożonej razy ilość dni w sześciu miesiącach w przód.
((LLicznik( , , , 'data_bieżąca')-LLicznik( , , , 'data_poprzednia'))+1) * LLicznik( , , , 'średnia_dzienna')
W tej formule kalkulacyjnej wyliczany ilość dni okresu od poprzedniego odczytu do bieżącego (ponieważ data jest w formacie Clarion a reprezentacja tego jest w postaci ilości dni) i mnożymy razy średnią dzienną