Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

Kufizimi i aksesit në të dhëna 1c 8. Përdorimi i RLS

Në sistemin 1C Enterprise 8, sot do të vazhdojmë të studiojmë mekanizmin e të drejtave dhe të thellohemi më tej në mekanizmin RLS (kufizimi i të drejtave në nivel rekord).

Më poshtë do të shqyrtojmë avantazhet dhe disavantazhet e kësaj metode dhe do të shqyrtojmë vendosjen e RLS në 1C Enterprise 8.3 duke përdorur një shembull.

1C RLS (Record Level Security) ose kufizim i të drejtave në nivelin e rekordeve- këto janë të drejta të përdoruesit në sistemin 1C, i cili ju lejon të ndani të drejtat për përdoruesit në kontekstin e ndryshimit dinamik të të dhënave.

Lloji më i zakonshëm i cilësimeve 1C RLS është kufizimi i dukshmërisë së përdoruesit në kontekstin e organizatave ose klientëve (përdoruesi sheh vetëm të dhënat "e tij").

Avantazhi kryesor është prania e një mekanizmi në përgjithësi, mekanizmi është mjaft kompleks dhe interesant. Ju lejon të dalloni shumë hollësisht të drejtat e përdoruesit - përdoruesit mund të mos jenë as të vetëdijshëm për ekzistencën e të dhënave të tjera në sistem.

Disavantazhet e 1C 8 RLS

Ndër mangësitë mund të vërehet një rënie e dukshme e performancës së sistemit. Kjo për faktin se platforma, kur ndërton një pyetje në bazën e të dhënave, komplikon çdo kërkesë të zhvilluesit me kushte shtesë.

Gjithashtu ndër disavantazhet janë kompleksiteti i konfigurimit të këtij funksionaliteti dhe kompleksiteti i korrigjimit. 1C ka lëshuar shumë pak materiale për konfigurimin dhe funksionimin e këtij funksioni. Është mjaft e vështirë të gjesh një specialist që do të konfiguronte saktë mekanizmin.

Vendosja e kufizimit të të drejtave në nivelin e regjistrave 1C RLS

Kufizimi i nivelit të regjistrimit (RLS) zbatohet për të kufizuar llojet e mëposhtme të të drejtave:

  • Leximi
  • Duke shtuar
  • Ndryshimi
  • Fshirja

Merrni mësime video 267 1C falas:

Nga jashtë, konfigurimi i RLS (të drejtat e nivelit të regjistrimit) është i ngjashëm me kompozimin e një të thjeshtë. Një shembull i një shablloni për kufizimin e aksesit në dukshmërinë e dokumenteve nga klienti nga kreu i dokumentit:

## Nëse & Përdorni kufizimet e nivelit të hyrjes ## Pastaj

Tabela aktuale NGA # Tabela aktuale AS Tabela aktuale
NGJYSJA E MAJTË (ZGJIDHNI TË NDRYSHME
Përbërja e grupit.Lidhja AS Grupi i përdoruesve
NGA
Referenca.GrupetPërdoruesit.Grupet e Përdoruesve AS PërbërjaGrupet
KU
Anëtarësia në grup.Përdoruesi = & Përdoruesi aktual) Grupet e përdoruesve AS
SOFTWARE (& kufizimet e përdorimit të nivelit të aksesit)
WHERE (& UseRecordLevelAccessLevel = FALSE
OSE (JO 1 V
(ZGJEDH PARË 1
1 AS Fusha e vjeljes
NGA
Regjistri i informacionit.Caktimi i AccessObjectViews AS Caktimi iAccessObjectViews
KU
AccessObjectViews.UserGroup = UserGroups.UserGroup
DHE ZGJEDHJA
Detyra WHENAccessObjectView.AccessObjectView = VLERA (Enumeration.AccessObjectView.Contractors)
AND Current Tabela # Parametri (1) Drejtoria e REFERENCAVE.Contractors
DHE JO Tabela aktuale. # Parametër (1) = VLERA (Directory.Contractors.EmptyLink)
PASTAJ ZGJEDHJE
KUR 1 IN
(ZGJEDH PARË 1
1
NGA
Directory.Contractors AS Contractors Regjistri i informacionit për lidhjen e brendshme. Cilësimet e të drejtave të aksesit të përdoruesit AS Cilësimet e të drejtave të aksesit të përdoruesit
AKTIV
UserAccess Settings.AccessObject = Contractors.ContractorAccessGroup
Dhe UserAccessObject.AccessObjectView = VALUE (Enumeration.AccessObjectTypes.Contractors)
Dhe (UserAccessPrintSettings.User = AssignmentViewsAccessObjects.UserGroup
OSE Cilësimet e hyrjes së përdoruesit.Përdoruesi = VLERA (Referenca.Grupet e Përdoruesve.Të gjithë Përdoruesit))
Dhe UserAccess Settings.Write = E VËRTETË
KU
Contractors.Ref = Tabela aktuale. # Parametër (1))
PASTAJ E ​​VËRTETË
TJETER E rreme
FUND
PER Ndryshe E VËRTETË
FUND = E rreme))
DHE JO Grupet e Përdoruesve.Grupi i Përdoruesve ËSHTË NULL)
## FundNëse

Në thelb, kjo pyetje shtohet sa herë që pyetni #CurrentTable. Nga e cila mund të imagjinohet se çfarë ngarkese shtesë mbart mekanizmi i kufizimit në nivel rekord.

Siç mund ta shihni, ka parametra të veçantë në pyetje, për shembull "& UseRemainsAccessLevelRecordLevel". Këta parametra në radar zgjidhen nga objektet e meta të dhënave - "". Si rregull, ato vendosen në fillim të një sesioni të përdoruesit.

Konstruktori i kufizimit të aksesit të të dhënave

Për lehtësinë e zhvilluesit, 1C 8.3 ka një mjet të veçantë për t'ju ndihmuar të konfiguroni radarin - Konstruktori i Kufizimit të Aksesit të të Dhënave. Ai thirret nga fusha "Kufizimi i hyrjes". Si në vazhdim:

RLS- kjo është aftësia e zhvilluesit për të vendosur një kusht në tabelat e bazës së të dhënave për përdorues të caktuar (grupe përdoruesish) dhe të mos i lejojë ata të shohin shumë. Gjendja është e tipit boolean. Nëse vlera e kushtit është "e vërtetë", atëherë jepet qasja, përndryshe refuzohet.

RLS përdoret në të njëjtën kohë me vendosjen e të drejtave normale të aksesit. Prandaj, përpara se të filloni të konfiguroni RLS, duhet të jepni të drejta normale për objektet e konfigurimit.

RLS zbatohet për llojet e mëposhtme të të drejtave të aksesit:

  • Leximi
  • Duke shtuar
  • Ndryshimi
  • Fshirja

Procedura e konfigurimit të RLS

Le të shohim një shembull të thjeshtë se si të kryhet personalizimi. Pamjet e ekranit janë marrë në 1C Enterprise 8.2 (8.2.9.356). Sintaksa e shablloneve të tekstit të kufizimeve përshkruhet në dokumentacionin për 8.2 në librin "Udhëzuesi i Zhvilluesit. Pjesa 1 ”, kështu që ne nuk do të ndalemi në të.

Pra, hapi i parë është përcaktimi i modeleve të kufizimeve për secilin rol ekzistues.

Pas kësaj, bazuar në shabllonet e specifikuara, vendosen kufizimet për objektet e kërkuara. Për të modifikuar tekstin e një kushti, mund të përdorni Projektuesin e Kufizimit të Aksesit të të Dhënave.

Për të modifikuar role të shumta, është e përshtatshme të menaxhoni përmes dritares "Të gjitha rolet".

Ju mund të përdorni dritaren Kufizimet e të gjithë aksesit për të kopjuar kushtet në role të tjera. Modelet në role të tjera mund të kopjohen vetëm me dorë.

Kjo eshte e gjitha. Ju mund të kontrolloni rezultatin.

Disavantazhet e përdorimit të RLS:

  1. Përdorimi i një mekanizmi të kufizimit të hyrjes në nivel të regjistrimit çon në një rritje të nënkuptuar të tabelave që marrin pjesë në pyetje, gjë që mund të çojë në gabime në modalitetin klient-server të bazës së të dhënave.
  2. Për kontrollin e shkrimit, mund të jetë e vështirë ose e pamundur të zbatohet logjika komplekse e aplikimit. Në raste të tilla, është më mirë të përdoren kushtet në procedurën OnRecord ().
  3. Shkrimi i një kushti (kërkese) kërkon një kualifikim të caktuar të zhvilluesit.
  4. Vështirësi shtesë mund të krijohen nga pamundësia e korrigjimit të një kushti (kërkese).

Në konfigurimet tipike, të drejtat në nivel rekord mund të vendosen në mënyrë interaktive për objektet e mëposhtme: organizata, partnerë biznesi, artikuj, depo, departamente, individë, aplikacione të kandidatëve dhe të tjerë.

Duhet mbajtur mend se kufizimet në të drejtat e aksesit në nivelin e të dhënave janë mekanizëm mjaft intensiv me burime dhe sa më komplekse të vendosni kufizime, aq më ngadalë do të funksionojë programi, veçanërisht me një bazë të dhënash të madhe.

Të gjitha cilësimet e të drejtave të përdoruesit që do të bëhen nga ne në kuadrin e këtij neni ndodhen në seksionin 1C 8.3 "Administrimi" - "Cilësimet e përdoruesve dhe të drejtat". Ky algoritëm është i ngjashëm në shumicën e konfigurimeve të formave të menaxhuara. Si shembull, do të përdoret programi i Kontabilitetit 1C, por vendosja e të drejtave në programet e tjera (1C UT 11, 1C ZUP 3, 1C ERP) bëhet në të njëjtën mënyrë.

Le të shkojmë te seksioni "Përdoruesit" të dritares së cilësimeve. Këtu shohim dy hiperlidhje: "Përdoruesit" dhe "Cilësimet e hyrjes". E para prej tyre ju lejon të shkoni direkt në listën e përdoruesve të kësaj infobaze. Para se të krijoni një përdorues të ri, le të shqyrtojmë cilësimet e mundshme të hyrjes (hiperlidhja në të djathtë).

Në këtë formë cilësimesh, mund të konfiguroni kompleksitetin e fjalëkalimit (të paktën 7 karaktere, përmbajtjen e kërkuar të llojeve të ndryshme të karaktereve, etj.). Këtu mund të specifikoni edhe gjatësinë e fjalëkalimit, datën e skadimit të tij dhe ndalimin e hyrjes në program për përdoruesit që nuk kanë pasur aktivitet për një periudhë të caktuar kohore.

Tani mund të shkoni drejtpërdrejt në shtimin e një përdoruesi të ri në 1C. Kjo mund të bëhet duke klikuar butonin "Krijo", siç tregohet në imazhin më poshtë.

Para së gjithash, ne do të tregojmë emrin e plotë - "Antonov Dmitry Petrovich" dhe do të zgjedhim një individ nga drejtoria përkatëse. Këtu mund të tregoni edhe departamentin në të cilin punon punonjësi ynë.

Emri i hyrjes "AntonovDP" u zëvendësua automatikisht, si një shkurtim për emrin e plotë "Antonov Dmitry Petrovich". Le të vendosim një fjalëkalim dhe vërtetim 1C Enterprise. Këtu mund të tregoni gjithashtu nëse ky përdorues mund ta ndryshojë vetë fjalëkalimin.

Le të themi se duam që Dmitry Petrovich Antonov të jetë i disponueshëm në listën e përzgjedhjes kur të hapet kjo infobazë. Për ta bërë këtë, vendosni flamurin në artikullin "Trego në listën e përzgjedhjes". Si rezultat, dritarja e autorizimit gjatë nisjes së programit do të duket siç tregohet në figurën më poshtë.

Le t'i kushtojmë vëmendje një cilësime më shumë të rëndësishme në kartën e udhëzuesit të përdoruesit - "Hyrja në program lejohet". Nëse vonesa nuk është vendosur, atëherë përdoruesi thjesht nuk do të jetë në gjendje të hyjë në këtë infobazë.

Të drejtat e aksesit

Pasi të plotësojmë të gjitha të dhënat në kartën e përdoruesit - Dmitry Petrovich Antonov, ne do t'i shkruajmë ato dhe do të vazhdojmë me vendosjen e të drejtave të aksesit, siç tregohet në figurën më poshtë.

Një listë e profileve të aksesit të futura më parë në program është hapur para nesh. Le të kontrollojmë kutitë e nevojshme.

Hyni në profilet e grupit

Profilet e grupit të aksesit mund të konfigurohen nga forma kryesore për përcaktimin e përdoruesve dhe të drejtave. Shkoni te seksioni "Access Groups" dhe klikoni në lidhjen "Access Group Profiles".

Le të krijojmë një grup të ri nga forma e hapur e listës. Në seksionin e tabelës, në skedën "Veprimet e lejuara (rolet)", kutitë e kontrollit duhet të përdoren për të shënuar rolet që do të ndikojnë në të drejtat e aksesit të përdoruesve të përfshirë në grupin që po krijojmë. Të gjitha këto role krijohen dhe konfigurohen në konfigurues. Ato nuk mund të ndryshohen nga modaliteti i përdoruesit ose të krijohen të reja. Ju mund të zgjidhni vetëm nga lista ekzistuese.

RLS: Kufizimi i hyrjes në nivel të regjistrimit

Lejon personalizim më fleksibël të aksesit në të dhënat e programit në seksione të caktuara. Për ta aktivizuar, vendosni flamurin në artikullin me të njëjtin emër në formularin për konfigurimin e përdoruesve dhe të drejtave.

Ju lutemi vini re se aktivizimi i këtij cilësimi mund të ndikojë negativisht në performancën e sistemit. Çështja është se mekanizmi RLS ndryshon të gjitha kërkesat në varësi të kufizimeve të vendosura.

Le të shkojmë te profili i grupit të aksesit "Test group" që krijuam më parë. Figura më poshtë tregon se pas aktivizimit të kufizimit të aksesit në nivel rekord, u shfaq një skedë shtesë "Kufizimet e hyrjes".

Supozoni se duam që përdoruesit e caktuar në grupin e testimit të kenë akses në të dhënat për të gjitha organizatat në këtë infobazë, përveç atyre të specifikuara në profil.

Në pjesën e sipërme të tabelës, ne do të vendosim kufizimin e aksesit sipas organizatës. Në pjesën e poshtme do të sqarojmë se nuk do të mundësohet akses në të dhëna (dokumente, direktori etj.) për organizatën “Horns LLC”.

Versioni i tetë i platformës 1C: Enterprise (sot 8.3) solli shumë ndryshime në lidhje me "shtatën", ndër të cilat u dallua mekanizmi për kufizimin e të drejtave të aksesit në nivelin rekord. Edhe pse, në teori, mund të bëni pa të, duke përdorur vetëm role, RLS ju lejon të arrini një rregullim më të mirë të aksesit. Por për funksionimin e saktë të këtij mekanizmi, duhet të kuptoni qartë thelbin e tij dhe të keni përvojë të mjaftueshme në zhvillim në 1C.

Çfarë është RLS?

Thelbi i këtij funksionaliteti është aftësia e zhvilluesit për të parandaluar një përdorues të caktuar ose grup përdoruesish nga aksesi në tabelat ose fushat e tabelave të bazës së të dhënave. Në mënyrë tipike, kufizimet përdoren për të parandaluar përdoruesit e 1C të shohin dhe modifikojnë informacione konfidenciale, sekrete, për shembull, për të kufizuar punonjësit e një kompanie që i përkasin një grupi duke parë dokumente vetëm për organizatën e tyre. Gjithashtu, mekanizmi për kufizimin e të drejtave të aksesit në nivelin e regjistrimit mund të përdoret për të hequr informacionin e panevojshëm nga ndërfaqja.

Për të qenë në gjendje të shkruani kërkesa për kufizime RLS, duhet të krijoni një rol ose të merrni një ekzistues. Cilësimi RLS në 1C 8.3 mund të përdoret për veprimet e mëposhtme të përdoruesit:

  • Shtimi;
  • Leximi;
  • Heqja;
  • Ndryshimi.

Përveç opsioneve më të gjera për konfigurimin e aksesit, RLS gjithashtu ka disavantazhe:

  1. Kërkesat për kualifikimet e zhvilluesit, pasi kërkesa do të duhet të shkruhet në një gjuhë të integruar, duke marrë parasysh rregullat e sintaksës;
  2. Pamundësia për të korrigjuar shpejt gjendjen;
  3. Mundësi të kufizuara për përshkrimin e logjikës: kushte shumë komplekse do të duhet të shkruhen ende në modulet e dokumenteve dhe librave referencë;
  4. Në versionin klient-server të bazave të të dhënave, rritja e nënkuptuar e tabelave të përfshira në pyetje është e mundur. Për më tepër, është shumë e vështirë të gjurmosh këtë proces;
  5. Kërkesat për burime. Kufizimet RLS konsumojnë shumë energji të klientit dhe serverit;
  6. Dokumentacion i pakët në domenin publik.

Raportet mund të bëhen një problem tjetër që mund të lindë pas konfigurimit të 1C RLS. Fakti është se zhvilluesit parashikojnë kufizime të mundshme RLS dhe ndërtojnë raporte në atë mënyrë që të tregojnë vetëm të dhëna të lejuara. Nëse përdoruesit kanë konfiguruar kufizime të ndryshme RLS, atëherë të dhënat në raport për të njëjtat parametra mund të jenë të ndryshme për ta. Kjo mund të jetë e diskutueshme, prandaj jini të vetëdijshëm për këto situata kur hartoni raporte ose shkruani pyetje në RLS.

Krijo një kufizim RLS

Për të shtuar një kufizim RLS, duhet të gjeni rolin e kërkuar dhe të klikoni dy herë mbi të për ta hapur.

Dritarja që hapet përmban 2 skeda: "Të drejtat" dhe "Modelet e kufizimeve". Për të vendosur kufizime të caktuara në një veprim specifik, duhet ta zgjidhni atë dhe të klikoni në plus jeshil në pjesën e poshtme djathtas. Do të shfaqet një rresht në të cilin mund të vendosim kufizimet e 1C RLS në gjuhën e integruar në 1C.


Nëse e dini sintaksën 1C (si pjesa e pasme e dorës), atëherë mund të shkruani drejtpërdrejt në fushën "Kufizimi i hyrjes". Zhvilluesit e 1C kanë siguruar mundësinë për të hapur një projektues pyetjesh, i cili do t'ju ndihmojë dhe do t'ju tregojë se për çfarë mund të zbatohet kufizimi. Për ta hapur atë, duhet të klikoni në butonin me tre pika (Zgjidh) ose F4 dhe do të shfaqet një dritare me butonin "Konstruktori i pyetjes ...".


Në dritaren që shfaqet, mund të konfiguroni kufizime jo vetëm për këtë libër referimi, por edhe për objekte të tjera të sistemit. Për ta bërë këtë, shtoni ato në skedën "Tabelat dhe Fushat". Ne regjistrojmë kufizimet në fushat e librit të referencës "Nomenklatura" dhe klikojmë "OK". Kushtojini vëmendje emrave të variablave: Parametrat RLS vendosen në fillim të një sesioni të përdoruesit dhe duhet të përmbahen në objektin e meta të dhënave.


Në skedën "Modelet e kufizimit", mund të vendosni kërkesat që janë të nevojshme kur kopjoni të njëjtat cilësime RLS në 1C 8.3. Pasi të keni shtuar shabllonin tuaj, mund t'i referoheni emrit të tij në cilësimet e të drejtave të hyrjes.

Është gjithashtu e mundur që njëkohësisht të shtohen kufizime në disa role. Për ta bërë këtë, në pemën e konfigurimit, klikoni me të djathtën në seksionin "Rolet" dhe zgjidhni "Të gjitha rolet".


Si përfundim, do të doja të theksoja se ky artikull ka për qëllim konsulentët-zhvillues të 1C dhe mund të ndihmojë, para së gjithash, ata që tashmë kishin përvojë në zhvillim në 1C: Enterprise. Megjithë thjeshtësinë në dukje, njohja e semantikës dhe kuptimi i strukturës së proceseve të biznesit të ndërmarrjes suaj ose të organizatës së klientit për shpërndarjen e saktë të të drejtave kërkojnë një nivel të caktuar njohurish dhe përvojë.

Platforma 1C: Enterprise 8 ka një mekanizëm të integruar për kufizimin e aksesit në të dhëna në nivel rekord. Ju mund të lexoni informacion të përgjithshëm në lidhje me të këtu. Shkurtimisht, RLS do t'ju lejojë të kufizoni aksesin në të dhëna sipas kushteve të caktuara për vlerat e fushës. Për shembull, mund të kufizoni aksesin e përdoruesve në dokumente në varësi të vlerës së atributit "Organizimi". Disa përdorues do të punojnë me dokumente për organizatën "Management Company", ndërsa pjesa tjetër me organizatën "Uzina e qumështit". Si nje shembull.

Trajnimi

Shembulli zbatohet në konfigurimin demo të SCP 1.3. Le të krijojmë përdoruesin "Storekeeper" dhe t'i shtojmë atij rolin "Storekeeper" me të njëjtin emër.

Tani le të vazhdojmë drejtpërdrejt me konfigurimin e lejeve në nivelin rekord. Le të kalojmë në ndërfaqen "Administrimi i përdoruesit". Në menynë kryesore, zgjidhni "Record Level Access -> Options". Këtu shënojmë kutinë e zgjedhjes "Kufizoni aksesin në nivel rekord sipas llojeve të objekteve" dhe në listën e objekteve zgjidhni "Organizatat".

Kështu, ne kemi mundësuar përdorimin e RLS. Tani ju duhet ta konfiguroni atë.

Kontrolli i aksesit në nivelin e regjistrimit nuk është konfiguruar veçmas për çdo përdorues ose profil autorizimi. RLS është konfiguruar për grupet e përdoruesve. Shto një grup të ri përdoruesish, le ta emërtojmë "Magazinierët"

Përbërja e grupit në të djathtë të formularit tregon një listë të përdoruesve që i përkasin këtij grupi. Le të shtojmë përdoruesin që krijuam më parë. Në të majtë është një tabelë e kufizimeve të hyrjes. Në konfigurimin RLS, ne kemi zgjedhur që qasja të kufizohet vetëm për organizatat, kështu që ne shohim vetëm një lloj objekti aksesi. Klikoni në butonin "Access Settings". Do të hapet përpunimi i cilësimit të të drejtave të aksesit për grupin aktual.

Në listën e objekteve të aksesit për grupin, shtoni organizatën "IPP" Sipërmarrës "". Ne do të lëmë të pandryshuar llojin e trashëgimisë së të drejtave. Le të vendosim të drejtën e objektit të aksesit për lexim dhe shkrim. Klikoni "OK", cilësimet janë gati. Sapo kemi konfiguruar RLS në nivel organizate.

Çfarë sheh përdoruesi

Le të fillojmë programin nën përdoruesin e krijuar më parë dhe të hapim direktorinë "Organizatat". Kështu do të duket lista për përdoruesin tonë dhe për një përdorues me të drejta të plota:

Siç mund ta shohim, përdoruesi i magazinierit sheh vetëm një organizatë për të cilën ne kemi hapur akses për lexim. E njëjta gjë vlen edhe për dokumentet, për shembull, pranimet e mallrave dhe shërbimeve.

Kështu, përdoruesi jo vetëm që nuk do të shohë organizatat, qasja në të cilat nuk është caktuar për të, por gjithashtu nuk do të jetë në gjendje të lexojë / shkruajë dokumente dhe objekte të tjera në bazën e informacionit, të cilave u janë caktuar të drejtat në rolin e " Ndryshore Organizata".

Ne kemi mbuluar shembullin më të thjeshtë të konfigurimit të RLS. Në artikullin tjetër, ne do të flasim për zbatimin e mekanizmit RLS në versionin 1.3 të konfigurimit të Menaxhimit të Fabrikës.

Artikujt kryesorë të lidhur