Autor Wątek: Dodatkowe uprawnienia własne w SGT  (Przeczytany 3640 razy)

0 użytkowników i 1 Gość przegląda ten wątek.

Offline nienacko

  • Nowy użytkownik
  • *
  • Wiadomości: 37
  • Reputacja +0/-0
  • Wersja programu: N1.47
Dodatkowe uprawnienia własne w SGT
« dnia: Listopad 01, 2020, 22:47:54 »
Witam wszystkich,

poniżej przedstawiam gotowy kod w jaki sposób można tworzyć i obsługiwać własne uprawnienia do systemu SGT \ Navireo.

INSERT INTO [dbo].[pd_Uprawnienie] (
[upr_Id]
,[upr_Nazwa]
,[upr_Program]
,[upr_Modul]
,[upr_Checked]
,[upr_Magazynowe]
,[upr_StatusNowosci]
,[upr_StatusNowosciM]
)
VALUES (
10000001
,'Kontrahenci - Możliwość zmiany opiekuna (rozszerzenie własne)'
,4139
,'Kartoteki'
,NULL
,NULL
,0
,0
)
GO

-- =============================================
-- Author: Marcin Fórmanowski
-- Create date: 30.07.2020
-- Trigger obsługujący dodatkowe uprawnienie 'Kontrahenci - Możliwość zmiany opiekuna (rozszeszenie własne)'
-- =============================================
CREATE TRIGGER [dbo].[tr_kh__Kontrahent_uprawnienie_mozliwosc_zmiany_opiekuna] ON [dbo].[kh__Kontrahent]
FOR UPDATE
AS
BEGIN
DECLARE @inserted_kh_IdOpiekun INT
,@deleted_kh_IdOpiekun INT

DECLARE cursor_kh_IdOpiekun CURSOR
FOR
SELECT i.kh_IdOpiekun
,d.kh_IdOpiekun
FROM inserted i
LEFT JOIN deleted d ON d.kh_Id = i.kh_Id
WHERE i.kh_IdOpiekun != d.kh_IdOpiekun

OPEN cursor_kh_IdOpiekun

FETCH NEXT
FROM cursor_kh_IdOpiekun
INTO @inserted_kh_IdOpiekun
,@deleted_kh_IdOpiekun

WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN
DECLARE @upr_id INT = 10000001
,@upr_nazwa VARCHAR(100)

IF NOT EXISTS (
SELECT 1
FROM pd_UzytkUpraw
WHERE uzup_UprawId = @upr_id
AND uzup_UzytkId = (
SELECT dbo.fn_BiezacyUser()
)
)
BEGIN
SELECT @upr_nazwa = upr_Nazwa
FROM pd_Uprawnienie
WHERE upr_Id = @upr_id

RAISERROR (
'<msg>Brak wymaganych uprawnień
"%s"
Skontaktuj się z administratorem</msg>'
,16
,1
,@upr_nazwa
)
END

FETCH NEXT
FROM cursor_kh_IdOpiekun
INTO @inserted_kh_IdOpiekun
,@deleted_kh_IdOpiekun
END

CLOSE cursor_kh_IdOpiekun

DEALLOCATE cursor_kh_IdOpiekun
END
END

Proszę o opinię i sugestie. Mam nadzieję że komuś się to przyda lub kogoś zainspiruję do pisania własnych rozwiązań.


Offline night

  • Użytkownik
  • **
  • Wiadomości: 58
  • Reputacja +0/-0
  • Wersja programu: zawsze najnowsza.
Odp: Dodatkowe uprawnienia własne w SGT
« Odpowiedź #1 dnia: Listopad 13, 2020, 05:42:35 »
10000001. Omg, weź dobrze popatrz na tabelę ins_Ident. Na początek trzeba zrozumieć po co jest.. co robi, i za pomocą czego się ją modyfikuje.

Forum Użytkownikow Subiekt GT

Odp: Dodatkowe uprawnienia własne w SGT
« Odpowiedź #1 dnia: Listopad 13, 2020, 05:42:35 »