InsERT S.A.
e-pomoc techniczna

e-pomoc techniczna

Subiekt nexo - W jaki sposób poprzez profilowanie ukryć dane jednostki organizacyjnej dla użytkownika?

Program: InsERT nexo, Subiekt nexo

Kategoria: Rozwiązania sferyczne

UWAGA!! Poniższy artykuł przedstawia przykład jednego z zaawansowanych rozwiązań przygotowanych dla programu Subiekt nexo. W razie problemów prosimy o kontakt z naszymi lokalnymi serwisantami w celu konfiguracji.

Program Subiekt nexo PRO umożliwia ukrycie danych jednostki organizacyjnej dla danego użytkownika. Mechanizm profilowania danych nie jest dostępny w programie i jego wykorzystanie wymaga wiedzy z zakresu administrowania nexo oraz bazami danych.

Profilowanie umożliwia ukrycie przed określonym użytkownikiem danych związanych ze wskazanym magazynem, jednostką organizacyjną (oddziałem) lub stanowiskiem kasowym.

Lista miejsc, na które wpływa profilowanie:

  • filtry w serwisach - przy profilowaniu ukrywana jest opcja (dowolny) oraz ukryte magazyny/oddziały znikają z listy magazynów/oddziałów
  • dokumenty wystawione na ukryte magazyny/oddziały (w serwisach, raportach itp.)
  • listy wyboru magazynu/oddziału na formatkach dokumentów
  • formatka asortymentu - zakładka Stany, znikają ukryte magazyny
  • informator asortymentu - zakładka Stany w magazynach, znikają ukryte magazyny
  • kontekst programu - znikają ukryte magazyny/oddziały z list wyboru

Ukrycie danych można zrobić na dwa sp​osoby:

  • ​​posługując się identyfikatorami jednostek organizacyjnych oraz użytkowników
  • bardziej rozbudowanym zapytaniem, w którym deklarowane są zmienne odpowiadające danym w tabelach​

W przypadku skorzystania z pierwszego sposobu należy:​

1. W pierwszej kolejności należy odczytać identyfikatory magazynu (tabela JednostkiOrganizacyjne) oraz użytkownika (tabela Użytkownicy).



2. W kolejnym kroku korzystając z wcześniej uzyskanych identyfikatorów należy dodać odpowiedni wiersz do tabeli Magazyny, przykładowe zapytanie:

INSERT INTO ModelDanychContainer.JednostkaOrganizacyjnaProfile (JednostkaOrganizacyjna_Id, Uzytkownik_Id)

VALUES (100000, '9660B71A-5398-47C1-807C-C2B0C59BE60E');


Drugim sposobem (alternatywnym) jest skorzystanie z bardziej rozbudowanego zapytania (uzupełniając go wcześniej własnymi danymi).​

DECLARE @nazwaUzytkownika AS VARCHAR(32);

DECLARE @symbolOddzialu AS VARCHAR(32);

SET @nazwaUzytkownika = 'Jan Kowalski';

SET @symbolOddzialu = 'CENTRALA'

INSERT INTO ModelDanychContainer.JednostkaOrganizacyjnaProfile

(JednostkaOrganizacyjna_Id, Uzytkownik_Id)

VALUES(

(SELECT TOP 1 Id FROM ModelDanychContainer.JednostkiOrganizacyjne

WHERE Symbol = @symbolOddzialu),

(SELECT TOP 1 Id FROM ModelDanychContainer.Uzytkownicy

WHERE Nazwa = @nazwaUzytkownika));


W celu sprawdzenia poprawności profilowania danych dla wybranego użytkownika należy zastosować poniższe polecenie. Uprzednio należy ustawić poprawną nazwę użytkownika. W wyniku działania polecenia zostanie wyświetlona lista zakresów danych, które nie zostały ukryte przed użytkownikiem.

DECLARE @nazwaUzytkownika AS VARCHAR(32);

SET @nazwaUzytkownika = 'Jan Kowalski';

SELECT Id, Symbol, Opis

FROM ModelDanychContainer.JednostkiOrganizacyjne

WHERE Id NOT IN

( SELECT JednostkaOrganizacyjna_Id

FROM ModelDanychContainer.JednostkaOrganizacyjnaProfile

WHERE Uzytkownik_Id = (SELECT TOP 1 Id FROM ModelDanychContainer.Uzytkownicy

WHERE Nazwa = @nazwaUzytkownika)

)


W programie również bedzie widoczny tylko Oddział.











drukuj
Czy artykuł był pomocny?TAKNIE

Dlaczego artykuł oceniasz jako nieprzydatny?

Dziękujemy za opinię