Indywidualne weryfikacje

Wprowadzenie

Za pomocą aplikacji Indywidualne weryfikacje można rejestrować weryfikacje, które uzupełniają istniejące sprawdzenia w jednostce biznesowej (Business Entity). Takie uzupełnione weryfikacje działają wyłącznie w bazie danych OLTP, w której zostały zarejestrowane.

Opis

Za pomocą aplikacji Indywidualne weryfikacje można rejestrować weryfikacje dla bazy danych OLTP, do której użytkownik jest zalogowany. Te weryfikacje nie mogą być wykorzystywane w żadnej innej bazie danych OLTP.

Indywidualna weryfikacja rozszerza proces weryfikacji określonej jednostki biznesowej (Business Entity). Tak rozszerzona weryfikacja jest stosowana zarówno w aplikacjach dialogowych, jak i podczas importu lub eksportu. Wynik tych indywidualnych weryfikacji można wyświetlić jako indywidualny komunikat. Taki komunikat jest pokazywany razem z komunikatami zapisanymi w bazie danych repozytorium w odpowiednim kontekście.

Uwaga
Należy pamiętać, że błędna indywidualna weryfikacja może uniemożliwić przetwarzanie jednostki biznesowej. Na przykład niepotrzebnie wygenerowany komunikat o błędzie może spowodować, że nie będzie można wprowadzać ani edytować zamówień sprzedaży.

Aplikacja składka się tylko z nagłówka i obszaru roboczego.

Nagłówek

W nagłówku należy wskazać hook contract, który ma zostać uzupełniony o indywidualną weryfikację. Dostępne pole:

Hook contract – pole zawiera nazwę oraz w nawiasie w pełni kwalifikowaną nazwę hook contract.  Za pomocą hook hontract dane jednostki biznesowej mogą być już częściowo weryfikowane. Wybrany hook contract jest uzupełniany o indywidualną weryfikację. Do wyboru są tylko te hook contract, dla których można zarejestrować indywidualną weryfikację.

Obszar roboczy

W obszarze roboczym należy zarejestrować indywidualną weryfikację dla wybranego hook contract. Dostępne pole:

Funkcja weryfikacyjna – w tym polu należy zarejestrować funkcje sprawdzające dla danej weryfikacji. Liczba funkcji weryfikacyjnych oraz ich nazwy i parametry zależą od konkretnej jednostki biznesowej. W zaimplementowanych hookach do weryfikacji (walidacji) funkcje weryfikacyjne są już określone.

Podczas rejestrowania indywidualnej weryfikacji w tym polu dla każdej funkcji weryfikacyjnej zostanie automatycznie utworzona pusta definicja funkcji.

Dla indywidualnych weryfikacji dostępna jest zmienna environment.userGuid. Zmienna ta zawiera GUID użytkownika, który wykonuje weryfikację.

Dostępne funkcje

W indywidualnych weryfikacjach można używać wszystkich funkcji i poleceń języka skryptowego systemu, które mają konteksty użycia ALL i OLTP. Dostępne funkcje języka skryptowego systemu zostały opisane w następujących artykułach:

Pola zdefiniowane przez użytkownika

Wybrane jednostki biznesowe umożliwiają weryfikację pól zdefiniowanych przez użytkownika za pomocą indywidualnej weryfikacji. W takim przypadku dostępna jest funkcja z prefiksem validateExtension_, którą można zaimplementować.

Parametr view zawiera widok obiektu jednostki biznesowej, do której należą pola zdefiniowane przez użytkownika. Parametr extension zawiera pola zdefiniowane przez użytkownika.

Dla każdego atrybutu X z pól definiowanych przez użytkownika w parametrze extension istnieją następujące atrybuty:

Atrybut Opis
X_val Wartość pola definiowanego przez użytkownika o technicznej nazwie X. Typ danych X_val jest określany przez pole definiowane przez użytkownika.
X_id Identyfikator komunikatu pola definiowanego przez użytkownika o technicznej nazwie X.
Przykład

Indywidualna kontrola pól zdefiniowanych przez użytkownika w artykule w widoku podstawowe.

function validateExtension_EXTItem(

view as DataView(com.cisag.app.general.item.model.Item),

extension as Extension_EXTItem)

{

if (extension.PRICE_val:amount>1000) {

sendMessage(extension.PRICE_id, "PRICE_TOO_HIGH",

format(extension.PRICE_val:amount))

}

}

Przykład: Nowa kontrola pola obowiązkowego

Można na przykład zadeklarować pole jako obowiązkowe za pomocą indywidualnej weryfikacji. W poniższym przykładzie pole Numer i data dokumentu zewnętrznego w aplikacji Zamówienia sprzedaży zostanie uznane za obowiązkowe w przypadku rodzaju zamówienia sprzedaży Zagraniczne.
Jeśli numer i data dokumentu zewnętrznego nie zostaną podane, zostanie wyświetlony komunikat o błędzie.
Należy jednak pamiętać, że numer i data dokumentu zewnętrznego nie otrzyma szarego narożnika, który zwykle sygnalizuje pole obowiązkowe.

Instrukcja

W tym przykładzie wprowadź indywidualną kontrolę w następujący sposób. 1:

  • Otworzyć aplikację Indywidualne komunikaty.
  • Zarejestrować nowy komunikat:

    • Komunikat – KOM0001
    • Typ komunikatu – Błąd
    • Krótki tekst komunikatu – „Należy podać numer i datę dokumentu zewnętrznego”.
    • Długi tekst komunikatu – „Typ zamówienia sprzedaży „{0}” wymaga wprowadzenia numeru zewnętrznego i daty dokumentu”.
  • Otworzyć aplikację Indywidualne weryfikacje.

  • Wybrać implementację hook contract:
    „Zamówienia sprzedaży (com.cisag.app.sales.order.hook.log.SalesOrder)”

  • Wybrać akcję Nowy na standardowym pasku narzędzi. W polu Funkcje weryfikacyjne zostanie utworzona pusta definicja funkcji dla każdej funkcji sprawdzającej.
  • Wprowadzić następującą funkcję weryfikacyjną:
function validateHeader(

persistent as Data-View(com.cisag.app.sales.order.model.SalesOrder),

current as DataView(com.cisag.app.sales.order.model.SalesOrder))

{

if (current->Type:code="Zagraniczne" AND

current:customerOrderData.purchaseOrder="")

sendMessage(current:customerOrderData.purchaseOrder,

"KOM0001",current->Type:code);

}
  • Zapisać dane.
  • Weryfikacja została aktywowana.

Przygotowywanie hook contract dla indywidualnych weryfikacji

Aby możliwe było rejestrowanie indywidualnych weryfikacji dla jednostki biznesowej, konieczne jest przygotowanie odpowiedniego hook contract.

W pierwszej kolejności musi istnieć hook weryfikacyjny dla danej jednostki biznesowej. Należy zaimplementować ten hook weryfikacyjny za pomocą implementacji hook contract. Implementująca klasa Java musi dziedziczyć po klasie com.cisag.pgm.base.CisCustomizableAdapter.

Do przygotowania hook contract potrzebna jest znajomość tworzenia aplikacji w języku Java oraz integracji z systemem ERP.

Uwaga
Przed rozpoczęciem pracy należy sprawdzić, czy istnieją już implementacje tego samego hooka weryfikacyjnego dla innych jednostek biznesowych. W przypadku powtarzających się implementacji warto zebrać je w jednej abstrakcyjnej klasie bazowej.

Konfiguracja

W aplikacji Konfiguracja nie występują dedykowane parametry dla aplikacji Indywidualne weryfikacje.

Jednostki biznesowe

Aplikacja Indywidualne weryfikacje jest powiązana z jednostką biznesową: com.cisag.sys.tools.validation.obj.UserValidation, która może być używana do:

  • przydzielania uprawnień

  • konfigurowania definicji działań

  • importowania lub eksportowania danych

Uprawnienia

Uprawnienia mogą być nadawane za pomocą ról uprawnień lub przypisania do organizacji. Szczegółowe informacje znajdują się w artykule Uprawnienia.

Uprawnienia specjalne

Aplikacja Indywidualne weryfikacje nie posiada żadnych specjalnych uprawnień.

Przyporządkowania organizacji

Aplikacja Indywidualne weryfikacje  nie wymaga przypisania do organizacji.

Specjalne możliwości

Aplikacja Indywidualne weryfikacje  nie posiada specjalnych możliwości.

Uprawnienia dla partnerów biznesowych

Aplikacja Indywidualne weryfikacje nie jest dostępna dla partnerów biznesowych.

Czy ten artykuł był pomocny?