e-Pomoc techniczna
InsERT nexo – Jak sparametryzować wyrażenie w filtrach własnych?
Program: InsERT nexo
Kategoria: PRO+
W przypadku trudności z wykorzystaniem funkcjonalności zalecamy kontakt z dyplomowanym serwisantem, bądź skorzystanie z pomocy zdalnej.
Własne filtry pozwalają na stworzenie własnego sposobu filtrowania danych. Takie filtry mogą być także wykorzystywane do profilowania danych.
W połączeniu z Dokumentami+ można ograniczać dane we własnych typach dokumentów. Ponadto można oprogramować własny dodatek, za pomocą którego będzie można określić, kto i co powinien mieć ukryte.
Aby sparametryzować wyrażenie w filtrach własnych, należy przejść do odpowiedniego widoku, przy filtrach rozwinąć Więcej i wybrać Dodaj własne filtry.
Na przykładzie filtru Cennika bazowego z ustawioną dynamiczną kalkulacją cen, z listy pól należy wybrać pole Bazowy, następnie rozwinąć menu koła zębatego i wybrać ikonę edycji w polu Wyrażenie.
Kolejnym krokiem jest uzupełnienie wyrażenia. W programach serii InsERT nexo istnieje wiele operatorów wspomagających tworzenie wyrażeń:
-
Oraz (operator ORAZ lub &&) – operator logiczny, który zwraca wartość prawda (true) tylko wtedy, gdy oba wyrażenia są prawdziwe.
-
Lub (operator LUB albo ||) - operator logiczny, który zwraca wartość prawda (true), gdy co najmniej jedno z wyrażeń jest prawdziwe.
-
Równy (operator = lub ==) - operator porównania, który sprawdza, czy dwie wartości są równe.
-
Różny (operator != Lub <>) - operator porównania, który sprawdza, czy dwie wartości są różne.
-
Większy (operator >) - operator porównania, który sprawdza, czy pierwsza wartość jest większa od drugiej.
-
Większy lub równy (operator >=) - operator porównania, który sprawdza, czy pierwsza wartość jest większa lub równa drugiej.
-
Mniejszy (operator <) - operator porównania, który sprawdza, czy pierwsza wartość jest mniejsza od drugiej.
-
Mniejszy lub równy (operator <=) - operator porównania, który sprawdza, czy pierwsza wartość jest mniejsza lub równa drugiej.
-
Dodawanie (operator +) - operator arytmetyczny, który sumuje dwie wartości.
-
Odejmowanie (operator -) - operator arytmetyczny, który odejmuje drugą wartość od pierwszej.
-
Mnożenie (operator *) - operator arytmetyczny, który mnoży dwie wartości.
-
Dzielenie (operator /) - operator arytmetyczny, który dzieli pierwszą wartość przez drugą.
-
Modulo (operator %) - operator arytmetyczny, który zwraca resztę z dzielenia pierwszej wartości przez drugą.
-
Koniunkcja (operator &) - operator logiczny, który działa podobnie do "Oraz", stosowany w kontekście logicznych wyrażeń bitowych.
-
Alternatywa (operator |)- operator logiczny, który działa podobnie do "Lub", stosowany w kontekście logicznych wyrażeń bitowych.
-
Alternatywa Wykluczająca (operator ^) - operator logiczny (XOR), który zwraca wartość prawda (true) tylko wtedy, gdy dokładnie jedno z wyrażeń jest prawdziwe.
Dodatkowo można wykorzystać predefiniowane funkcje:
-
Tekst(DateTime? data) – Funkcja przekształca datę na tekst w postaci dd-MM-yyyy.
-
Tekst(decimal? wartosc), Tekst(decimal? wartosc, int? precyzja) – Funkcja przekształca wartość na tekst, domyślnie z 6 miejscami po przecinku lub ze wskazaną ilością miejsc po przecinku.
-
Tekst(long? wartosc), Tekst(int? wartosc), Tekst(byte? wartosc), Tekst(Guid? wartosc), Tekst(short? wartosc), Tekst(float? wartosc), Tekst(double? wartosc) – Funkcja przekształca wartość na tekst.
-
Tekst(bool? wartosc) – Funkcja przekształca wartość na tekst. W przypadku wartości true tekstem będzie 'Tak', w przypadku false 'Nie'.
-
Tekst(bool? wartosc, string wartoscGdyPrawda, string wartoscGdyFalsz) – Funkcja przekształca wartość na tekst.
-
PierwszyDzienTygodnia(DateTime? data) – Funkcja zwraca datę reprezentującą pierwszy dzień tygodnia (poniedziałek), w którym zawiera się podana data.
-
OstatniDzienTygodnia(DateTime? data) – Funkcja zwraca datę reprezentującą ostatni dzień tygodnia (niedziela), w którym zawiera się podana data.
-
PierwszyDzienMiesiaca(DateTime? data) – Funkcja zwraca datę reprezentującą pierwszy dzień miesiąca, w którym zawiera się podana data.
-
OstatniDzienMiesiaca(DateTime? data) – Funkcja zwraca datę reprezentującą ostatni dzień miesiąca, w którym zawiera się podana data.
-
PierwszyDzienKwartalu(DateTime? data) – Funkcja zwraca datę reprezentującą pierwszy dzień kwartału, w którym zawiera się podana data.
-
OstatniDzienKwartalu(DateTime? data) – Funkcja zwraca datę reprezentującą ostatni dzień kwartału, w którym zawiera się podana data.
-
PierwszyDzienRoku(DateTime? data) – Funkcja zwraca datę reprezentującą pierwszy dzień roku, w którym zawiera się podana data.
-
OstatniDzienRoku(DateTime? data) – Funkcja zwraca datę reprezentującą ostatni dzień roku, w którym zawiera się podana data.
-
Brak(IEnumerable<string> wartosci) – Funkcja agregująca zwracająca null.
Możliwe jest również wykorzystanie funkcji agregujących:
-
Suma
-
Minimum
-
Maksimum
-
Srednia
-
LiczbaElementow
A także warunek:
-
If/Jeżeli
Można też korzystać ze słów kluczowych:
-
Null/Brak
-
Prawda/True/Tak
-
Falsz/False/Nie
Poniżej można znaleźć kilka przykładów wykorzystania powyższych funkcji:
-
PierwszyDzienKwartalu(DataWprowadzenia) – zwraca datę początku kwartału, w którym wystawiono dokument Subiekta
-
LiczbaElementow(Pozycje) – zwraca liczbę pozycji na dokumencie Subiekta
-
Tekst(Podmiot.Firma.CzynnyPlatnikVat, "Czynny podatnik VAT", "") – zwraca tekst „Czynny podatnik VAT" dla dokumentów Subiekta, które są wystawione na takiego klienta.
-
Jeżeli(Pozycje.RodzajAsortymentu.StanyMagazynowe = false && Pozycje.RodzajAsortymentu.DodatkowaOplata == nie, Pozycje.Ilosc + Suma(Pozycje.WszystkiePozycjeKorekt.IloscRoznica), 0) – zwraca ilość usług na dokumencie z uwzględnieniem wszystkich korekt do dokumentu. Wymagane jest ustawienie agregacji danych jako suma.
Na opisywanym we wstępie przykładzie należy wpisać operator Oraz, wybrać z listy pole DynamicznaKalkulacjaCen (poprzez dwuklik lewym przyciskiem myszy na danym polu) i zatwierdzić przyciskiem OK.
Dodatkowo można określić własną nazwę i widoczność filtra. Zmiany należy zatwierdzić przyciskiem OK.