e-Pomoc techniczna
Subiekt nexo – W jaki sposób poprzez profilowanie ukryć dane magazynu dla użytkownika?
Program: Gratyfikant nexo, InsERT nexo, Rachmistrz nexo, Rewizor nexo, Sello NX, Subiekt nexo
Kategoria: PRO+, Personalizacja, Uprawnienia
Subiekt nexo PRO umożliwia ukrycie danych magazynu dla danego użytkownika za pomocą funkcjonalności udostępnionych w ramach modułu Widoczność danych PRO+. Zakładka Dostęp do danych umożliwia ukrycie przed określonym użytkownikiem danych związanych ze wskazanym magazynem, jednostką organizacyjną (oddziałem), stanowiskiem kasowym, rachunkiem bankowym lub biblioteką załączników.
Lista miejsc, na które wpływa widoczność danych:
-
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 (w zależności od ustawienia), znikają ukryte magazyny;
-
kontekst programu – znikają ukryte magazyny/oddziały z list wyboru.
Widoczność danych dotyczących wybranego magazynu można ograniczyć w programie na dwa sposoby:
-
Przy pomocy intuicyjnego interfejsu dostępnego w ramach Widoczności danych PRO+;
-
Z wykorzystaniem wiedzy odnośnie struktury bazy danych oraz znajomości języków bazodanowych, co zostało opisane w dalszej części artykułu.
Uwaga! Poniższa cześć artykułu przedstawia przykład jednego z zaawansowanych rozwiązań przygotowanych dla programu Subiekt nexo. W razie problemów prosimy o kontakt z naszymi dyplomowanymi serwisantami w celu konfiguracji.
Profilowanie danych umożliwia ukrycie danych magazynu 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.
Dzięki wykorzystaniu możliwości języka SQL dane mogą zostać ukryte na dwa sposoby:
-
posługując się identyfikatorami magazynów 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. Utworzyć definicję widoczności danych. Definicji może być wiele. Każda określa zasady dostępu do danych.
INSERT INTO ModelDanychContainer.DefinicjeWidocznosciDanych (Nazwa)
VALUES ('Nazwa definicji widoczności danych');
SELECT SCOPE_IDENTITY() AS 'Id utworzonej definicji';

2. Do utworzonej definicji widoczności danych przypisać użytkowników, którzy powinni ją posiadać. W tym celu potrzebne będą identyfikatory użytkowników, które można odczytać za pomocą zapytania:
SELECT Id, Login, Sygnatura from ModelDanychContainer.Uzytkownicy;

3. Utworzyć powiązania wybranych użytkowników z definicją widoczności danych:
UPDATE ModelDanychContainer.Uzytkownicy
SET DefinicjaWidocznosciDanychId = {Id utworzonej definicji widoczności danych}
WHERE Id IN (
'{Id pierwszego użytkownika}',
'{Id drugiego użytkownika}',
(...)
);
Powodzenie przypisania użytkowników do definicji zostanie potwierdzone odpowiednim komunikatem.

4. Odczytać identyfikator magazynu zapytaniem:
SELECT * from ModelDanychContainer.Magazyny;

5. Utworzyć profile korzystając z zapytania:
INSERT INTO ModelDanychContainer.MagazynProfile (Magazyn_Id, DefinicjaWidocznosciDanychId)
VALUES ({Id magazynu}, {Id definicji widoczności danych});
Powodzenie utworzenia profilu zostanie potwierdzone odpowiednim komunikatem.

Alternatywnie można posłużyć się skryptami, w których należy uzupełnić pola własnymi danymi.
1. Utworzenie definicji widoczności danych dla użytkownika.
DECLARE @nazwaUzytkownika AS VARCHAR(32); DECLARE @nazwaDefinicjiWidocznosciDanych AS VARCHAR(32); DECLARE @IdUtworzonejDefinicjiTable TABLE (Id INT); DECLARE @IdUtworzonejDefinicji AS INT; DECLARE @IdUzytkownika AS UNIQUEIDENTIFIER; -- Pola do uzupełnienia SET @nazwaUzytkownika = 'Jan Kowalski'; SET @nazwaDefinicjiWidocznosciDanych = 'Definicja widoczności danych Jana Kowalskiego'; -- Tworzenie definicji widoczności danych INSERT INTO ModelDanychContainer.DefinicjeWidocznosciDanych (Nazwa) OUTPUT inserted.Id INTO @IdUtworzonejDefinicjiTable VALUES (@nazwaDefinicjiWidocznosciDanych); SET @IdUtworzonejDefinicji = (SELECT TOP 1 Id FROM @IdUtworzonejDefinicjiTable); SELECT @IdUzytkownika = Id FROM ModelDanychContainer.Uzytkownicy WHERE Nazwa = @nazwaUzytkownika; UPDATE ModelDanychContainer.Uzytkownicy SET DefinicjaWidocznosciDanychId = @IdUtworzonejDefinicji WHERE Id = @IdUzytkownika; SELECT Id, Nazwa FROM ModelDanychContainer.DefinicjeWidocznosciDanych WHERE Id = @IdUtworzonejDefinicji SELECT Nazwa, DefinicjaWidocznosciDanychId FROM ModelDanychContainer.Uzytkownicy WHERE Id = @IdUzytkownika
2. Dodanie kolejnego użytkownika do tej samej definicji widoczności danych.
DECLARE @nazwaUzytkownika AS VARCHAR(32); DECLARE @IdDefinicji AS INT; DECLARE @IdUzytkownika AS UNIQUEIDENTIFIER; -- Pola do uzupełnienia SET @nazwaUzytkownika = 'Jan Kowalski'; SET @IdDefinicji = 100000; -- Id utworzonej wcześniej definicji widoczności danych -- Wiązanie użytkownika z istniejącą definicją widoczności danych SELECT @IdUzytkownika = Id FROM ModelDanychContainer.Uzytkownicy WHERE Nazwa = @nazwaUzytkownika; UPDATE ModelDanychContainer.Uzytkownicy SET DefinicjaWidocznosciDanychId = @IdDefinicji WHERE Id = @IdUzytkownika; SELECT Nazwa, DefinicjaWidocznosciDanychId FROM ModelDanychContainer.Uzytkownicy WHERE Id = @IdUzytkownika
3. Profilowanie magazynu w definicji widoczności danych – wykonywane wielokrotnie dla różnych magazynów.
DECLARE @symbolMagazynu AS VARCHAR(32); DECLARE @IdDefinicji AS INT; DECLARE @IdMagazynu AS INT; -- Pola do uzupełnienia SET @symbolMagazynu = 'MAG'; SET @IdDefinicji = 100000; -- Id utworzonej wcześniej definicji widoczności danych -- Wiązanie magazynu z definicją widoczności danych SELECT @IdMagazynu = Id FROM ModelDanychContainer.Magazyny WHERE Symbol = @symbolMagazynu; INSERT INTO ModelDanychContainer.MagazynProfile (Magazyn_Id, DefinicjaWidocznosciDanychId) VALUES (@IdMagazynu, @IdDefinicji); SELECT Magazyn_Id, DefinicjaWidocznosciDanychId FROM ModelDanychContainer.MagazynProfile WHERE DefinicjaWidocznosciDanychId = @IdDefinicji
Powiązane artykuły e-Pomocy technicznej:
Pomoc zdalna
Nasz konsultant połączy się z Twoim komputerem, by udzielić niezbędnej pomocy.
teleKonsultant
Kupując abonament na teleKonsultanta, zyskujesz telefoniczną pomoc eksperta oraz szereg innych usług.
Forum użytkowników
Wymień się uwagami i doświadczeniami z innymi użytkownikami systemów InsERT.
