zapytanie sql - uzytkownicy i ich prawa do modulow

Zapytania SQL, widoki, Crystal, definicje filtrów, szybkich raportów, wydruków, API, Hydra, .NET

Moderator: mikey

john_doe
Posty: 649
Rejestracja: 26 maja 2008, 22:15
Rola: Inny

zapytanie sql - uzytkownicy i ich prawa do modulow

Post autor: john_doe »

Wita,

jak w temacie. Jakie tabele? opeKarty i co tam jeszcze....

pawelo
Posty: 79
Rejestracja: 19 lis 2008, 11:34
Rola: Użytkownik CDN XL
Wersja: 9.6

Re: zapytanie sql - uzytkownicy i ich prawa do modulow

Post autor: pawelo »

Witam, podobny temat założyłem:

http://cdn.3lance.pl/viewtopic.php?f=13&t=472
SQLowym :)

A na poważnie to:

- masz listę użytkowników (to proste)
- masz ich opcje na karcie operatora (wymaga nakombinowania ale dało by się)
- masz ich uprawnienia (do serii, rejestrów, dokumentów itd) ze względu na definicję centrum do którego należą (jw, ale stopień skomplikowania to prawie masakra)
- masz zakazy kontekstowe
- masz filtry obowiązkowe (per user, per centrum ;) )
- masz małą hydrę (jw+ milion warunków np per towar itd)
- masz (może) dużą hydre

W sumie niewykonalne.

- Sh*t
- What?
- The Rollers
- No
- Yeah
- Sh*t

Awatar użytkownika
STAY_PJE
Posty: 646
Rejestracja: 24 wrz 2009, 12:08
Rola: Konsultant CDN XL
Lokalizacja: Warszawa i od Helu do Wawelu
Kontakt:

Re: zapytanie sql - uzytkownicy i ich prawa do modulow

Post autor: STAY_PJE »

prawa do modułów zapisane są wyłącznie w tabeli Opekarty w polu ope_moduly. Zapis jest w postaci binarnej, to znaczy że pierwszy bit oznacza moduł sprzedaż, 2 bit to moduł księgowość, itd. Przykład: jeśli wartośc w polu ope_moduly wynosi 1 to operator ma prawo do korzystania ze sprzedaży, jeśli 2 to z księgowości jeśli 3 to z obydwu. Na swoje potrzeby napisałem kiedyś zapytanie, które pokazuje listę wszystkich operatorów wraz z uprawnieniami do modułów:

--pokazuje licencje przypisane do użytkowników
--Piotr Jesionek 2008-12-28 http://www.stay.com.pl
set nocount on
create table #moduly (bajt int, nazwa varchar(50))
insert into #moduly values (1, 'sprzedaż')
insert into #moduly values (2, 'księgowość')
insert into #moduly values (128, 'administracja')
insert into #moduly values (8, 'środki trwałe')
insert into #moduly values (32, 'import')
insert into #moduly values (524288, 'projekty')
insert into #moduly values (512, 'zamówienia')
insert into #moduly values (16, 'BI')
insert into #moduly values (1024, 'serwis')
insert into #moduly values (64, 'CRM')
insert into #moduly values (4, 'kompletacja')
insert into #moduly values (262144, 'produkcja')
insert into #moduly values (4096, 'administrator oddziałów')
insert into #moduly values (67108864, 'płace Optima')

select ope_gidnumer, ope_ident, ope_nazwisko, bajt, nazwa from cdn.opekarty
join #moduly on ope_moduly & bajt>0
--where bajt= 512 --pokaż tylko operatorów z uprawnieniami dla określonych modułów
order by ope_ident, nazwa

drop table #moduly

ODPOWIEDZ