Filtr - dokumenty aktualnie zalogowanego użytkownika

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

Moderator: mikey

pawel.wilk
Posty: 38
Rejestracja: 06 sie 2008, 14:06
Rola: Administrator CDN XL
Wersja: 10
Lokalizacja: Kraków

Filtr - dokumenty aktualnie zalogowanego użytkownika

Post autor: pawel.wilk »

Hej

Może ktoś ma, lub wie jak wrzucić do filtra dane aktualnie zalogowanego użytkownika?
Chce żeby widział tylko te dokumenty FS FSE których jest opiekunem.

Pozdrawiam
elmiq
Posty: 1025
Rejestracja: 23 sie 2010, 10:04
Rola: Administrator CDN XL
Lokalizacja: Warszawa

Re: Filtr - dokumenty aktualnie zalogowanego użytkownika

Post autor: elmiq »

Kod: Zaznacz cały

@PAR ?@HN4|OpeW|&OpeW:{GetSQL('SELECT Ope_GIDNumer FROM CDN.OpeKarty WHERE Ope_Ident  = '''& XLOpeIdent() &'''')} @? @RH(999999) PAR@

TrN_OpeNumerW = ??OpeW
Czyli operator wystawiający. Analogicznie zrobisz dla dowolnego pola dotyczącego dokumentu, które wskazuje na operatora.

Pozdrawiam,
Mateusz
Mateusz Świerkosz

http://elmiq.blogspot.com/
pawel.wilk
Posty: 38
Rejestracja: 06 sie 2008, 14:06
Rola: Administrator CDN XL
Wersja: 10
Lokalizacja: Kraków

Re: Filtr - dokumenty aktualnie zalogowanego użytkownika

Post autor: pawel.wilk »

No nie do końca tak, bo we filtrach obowiązkowych nie można parametrów używać.

Czyli filtr który wyświetla dokumenty opiekuna wygląda tak:

TrN_OpiNumer = {GetSQL('SELECT Ope_PrcNumer FROM CDN.OpeKarty WHERE Ope_Ident = '''& XLOpeIdent() &'''')}

Działa, dzięki
vigo
Posty: 156
Rejestracja: 25 maja 2010, 10:09
Rola: Administrator CDN XL
Wersja: 2023
Lokalizacja: Olsztyn

Re: Filtr - dokumenty aktualnie zalogowanego użytkownika

Post autor: vigo »

Witam,
dla tych co jeszcze szukają tego rozwiązania dla aktualnej wersji lub będą szukać:
Opis z dokumentu "Zmiany technicznewprowadzone w wersji 2013.3"
Funkcja CDN.PolaczenieInfo
System Comarch ERP XL 2013.3 otwiera więcej połączeń dla SQL niż wersja Comarch ERP XL 2013.3SE. Każdy wątek aplikacji pracuje na osobnym połączeniu z SQL Serwerem. Dane połączenie ma następującą nazwę programu:
Comarch ERP XL:nr_wątku:SPID_wątku_głównego:IDSesji:Operator:GIDNumerOperatora,
Gdzie:
nr_wątku jest to numer wątku pracującego na tym połączeniu
SPID_wątku_głównego jest to wartość SPID z tabeli CDN.Sesje zapisana w kolumnie SES_ClarionSPID (wątek główny ma w tym miejscu wartość 0).

Przykład:
Comarch ERP XL:2:54:1230:ADMIN:1 oznacza, że system pracuje na połączeniu wątku nr 2, SPID połączenia wątku głównego wynosi 54, SesjaID = 1230 i operator = ADMIN.

Poniżej przykład triggera, który operatorom innym niż ADMIN blokuje możliwość zmiany daty wstawienia dokumentu FS i WZ na wcześniejszyniż bieżący miesiąc:

Kod: Zaznacz cały

CREATE TRIGGER CDN.TraNag_PrzykladFunkcjiPolaczenieInfo 
ON[CDN].[TraNag]  
FOR UPDATE
AS
SETNOCOUNTON
--"Blokada zmiany daty wystawienia WZ/FS na wcześniejszą niż bieżący miesiąc"
IF UPDATE(TrN_Data2)
BEGIN
IF EXISTS
(SELECT * FROM inserted WHERE inserted.TrN_GIDTyp IN (2001,2033) AND MONTH(DATE ADD(d,CAST(TrN_Data2 AS DECIMAL),'18001228'))<MONTH(GetDate())
--Wykluczeni operatorzy z działania triggera
AND CDN.PolaczenieInfo(4) NOT IN ('ADMIN'))
BEGIN RAISERROR('#CDN_BLADK/# #CDN_1=Data wystawienia z poprzedniego miesiąca./# #CDN_2=Na tym dokumencie data wystawienia nie może być wcześniejsza niż bieżący miesiąc./# #CDN_3=Zmień datę wystawienia na bieżący miesiąc lub poprośo zapisanie dokumentu osobę uprawnioną./#',16,1)
ROLLBACK TRAN
SET NOCOUNT OFF
RETURN
END
END
SET NOCOUNT OFF
ODPOWIEDZ