Ano ang ibig sabihin na binago ang mga paghihigpit sa pag-access? Ano ang gagawin kung ang isang smartphone o tablet na nagpapatakbo ng Android ay nagsasabing "Nabago ang mga paghihigpit sa pag-access. Batch na pag-edit ng mga paghihigpit sa pahintulot at mga template

Access Control

Pinapayagan ka ng programa na i-configure ang pag-access ng gumagamit sa iba't ibang mga function, listahan at mga dokumento. Ang mga paunang natukoy na hanay ng mga tungkulin ay ibinigay. Bilang karagdagan, posible na independiyenteng i-configure ang pag-access. Kinakailangan ang isang tungkulin upang makontrol ang pag-access Buong karapatan.

Ginagamit ang mga listahan upang mapanatili ang isang listahan ng mga user at i-configure ang kanilang mga karapatan Mga gumagamit at (seksyon PangangasiwaPagse-set up ng mga user at karapatan). Tinutukoy ng isang pangkat ng pag-access ang isang hanay ng mga aksyon na may data ng programa na maaaring gawin ng mga miyembro ng pangkat na ito. Bilang isang patakaran, ang mga pangkat ng pag-access ay tumutugma sa iba't ibang mga responsibilidad sa trabaho (o mga uri ng aktibidad) ng mga gumagamit ng programa. Ang isang user ay maaaring sabay na maging miyembro ng isa o ilang mga grupo ng pag-access, na magkakasamang bumubuo ng kanyang mga personal na setting ng mga karapatan sa pag-access.

Tandaan: Upang i-configure ang mga karapatan sa pag-access, dapat mong gamitin lamang ang 1C:Enterprise user mode.

Pag-set up ng programa

Upang i-configure ang mga karapatan sa pag-access ng user nang flexible hangga't maaari, dapat mong paganahin ang mode para sa paghihigpit sa mga karapatan sa pag-access ng user sa antas ng record. Upang gawin ito, kailangan mong paganahin ang checkbox Limitahan ang pag-access sa antas ng record sa seksyon. Inirerekomenda na paganahin ang mode na ito sa mga kaso kung saan ito ay talagang in demand (halimbawa, maraming mga gumagamit ang nagtatrabaho sa programa), dahil Ito ay lubos na makakaapekto sa pagganap ng system.

Sa kasong ito, magagamit ang mga sumusunod na opsyon:

  • Bandila "Mga pangkat ng access sa counterparty"– payagan ang pag-set up ng access sa data ng mga grupo ng mga katapat, sa kasong ito ay magiging available ang command:
  • Mga pangkat ng pag-access ng counterparty– paglikha ng mga grupo ng mga kasosyo upang pag-iba-ibahin ang pag-access sa mga direktoryo, dokumento at iba pang data.
  • Bandila "Mga pangkat ng access sa storage"– paganahin ang checkbox upang payagan ang pag-configure ng access sa data ng mga pangkat ng mga lokasyon ng imbakan. Pagkatapos nito, magagamit ang utos:
  • Mga pangkat ng access sa storage– paglikha ng karagdagang mga grupo ng pag-access para sa mga lokasyon ng imbakan upang maiba ang pag-access sa data.
  • Bandila "Mga Grupo ng Access sa Mga Kategorya sa Base ng Kaalaman"– paganahin ang checkbox upang payagan ang pag-customize ng access sa mga kategorya ng knowledge base. Pagkatapos nito, magagamit ang utos:
  • Mga pangkat ng access sa kategorya ng base ng kaalaman– paglikha ng mga karagdagang grupo ng mga kategorya ng base ng kaalaman upang pag-iba-ibahin ang pag-access sa mga kategorya ng mga artikulo ng base ng kaalaman.


Halimbawa, sa card ng lokasyon ng storage, pagkatapos i-enable ang checkbox na "Mga pangkat ng access sa lokasyon ng storage," lalabas ang kinakailangang attribute na "Access group."


Ang pagpapagana sa mode ng paghihigpit sa access ng user sa antas ng record ay maaaring tumagal ng mahabang panahon depende sa dami ng data na ipinasok sa programa. Kung ang isang malaking halaga ng data ay ipinasok sa programa bago i-on ang mode na ito, ang programa ay nagpapakita ng isang babala.


Ang paghahanda ng data ng serbisyo na kinakailangan para sa pagtatrabaho sa mode na ito ay ginagawa sa background gamit ang nakagawiang gawain Pagpuno ng data upang paghigpitan ang pag-access. Kung ang isang malaking halaga ng data ay naipasok sa programa, inirerekumenda na paunang i-configure ito upang magsimula sa isang oras na ang mga gumagamit ay hindi gumagana sa programa.

Pagse-set up ng mga pangkat ng pag-access

Gamit ang mga grupo ng pag-access, maaari kang magtakda at mangasiwa ng mga pangkalahatang setting ng mga karapatan sa pag-access para sa isang partikular na grupo ng mga user na gumaganap ng mga katulad na function sa program, halimbawa: Mga technician ng sentral na opisina o Mga tagapangasiwa ng sangay. Tanging ang mga administrator ng program na nakalista sa isang paunang natukoy na grupo ng pag-access ang may mga karapatang i-edit ang listahan Mga tagapangasiwa. Bukod pa rito, tinukoy ng user sa pangkat ng pag-access bilang Responsable, maaaring baguhin ang komposisyon ng mga kalahok sa pangkat na ito.

Ang isang pangkat ng pag-access ay palaging nauugnay sa isa sa mga magagamit na profile ng pangkat ng pag-access, na, bilang isang panuntunan, pinagsama ang ilang mga tungkulin. Kapag nagdagdag ka ng user sa isang access group, itatalaga sa user ang lahat ng mga tungkulin na tinukoy sa profile ng access group. Halimbawa, isang paunang natukoy na pangkat ng access Mga tagapangasiwa naka-link sa profile Tagapangasiwa, na kinabibilangan ng tungkulin Buong Karapatan. Ang tungkuling ito ay nagbibigay ng hindi pinaghihigpitang pag-access sa lahat ng data at itinalaga sa lahat ng mga administrator ng program na nakalista sa pangkat ng pag-access Mga tagapangasiwa.

Para gumawa ng bagong access group, kailangan mong pumunta sa listahan ng seksyon Pangangasiwa – Mga setting ng user at mga karapatan – I-access ang mga grupo.



I-click ang button Lumikha.

Punan ang patlang Pangalan.

Inirerekomenda na pangalanan ang access group sa maramihan upang ang pangalan nito ay naglalaman ng indikasyon ng profile na ginamit dito (sa Profile) at malinaw na nailalarawan ang komposisyon ng mga setting ng mga karapatan sa pag-access na tinukoy dito. Halimbawa, batay sa profile Manggagawa sa pag-aayos maaaring ipasok ang mga pangkat ng pag-access Mga tauhan sa pagsasaayos ng punong tanggapan At Sangay 1 ng kawani ng pagkumpuni.

Sa access group card kailangan mong pumili ng isa sa mga available Mga profile mga pangkat ng access.


Sa tab Mga miyembro ng banda ilista ang listahan ng mga user (at mga grupo ng user) kung kanino dapat ilapat ang mga setting ng mga karapatan sa pag-access.

Upang mabilis na mailista ang mga user, maaari mong i-click ang button Pick up. Piliin ang mga tamang user.

Ang listahan ng pagpili na bubukas ay binubuo ng dalawang bahagi.

Sa kaliwang bahagi ng window, piliin ang nais na pangkat ng gumagamit (maaari mong piliin ang buong pangkat nang sabay-sabay), piliin ang nais na mga gumagamit mula sa pangkat na ito, pagkatapos ay i-click ang pindutan Tapusin at isara upang bumalik sa pag-access sa mga setting ng pangkat.


Sa bukid Responsable piliin ang user na magiging responsable para sa membership ng access group.

Pagkatapos ay sa tab Mga paghihigpit sa pag-access Dapat mong tukuyin ang mga karagdagang setting ng mga karapatan sa pag-access. Tandaan: Maaaring hindi available ang tab para sa mga pangkat ng pag-access na hindi nagbibigay ng ganoong setting (depende sa mga setting ng napiling profile).

Sa tab na ito gamit ang field Uri ng pag-access Maaari mong itakda ang mga hangganan ng lugar ng data kung saan pinapayagang magtrabaho kasama ang mga miyembro ng grupo. Sa pamamagitan ng uri ng pag-access ang ibig naming sabihin ay isang tiyak na panuntunan kung saan ang pag-access sa data ng programa ay "pinapayagan". Halimbawa, gamit ang uri ng pag-access Mga organisasyon Maaari mong payagan ang mga user na magtrabaho lamang sa mga dokumento para sa mga partikular na organisasyon; o vice versa, itago ang mga dokumento ng ilang organisasyon mula sa kanila. Komposisyon ng mga uri ng access na nakalista sa tab Mga paghihigpit sa pag-access, depende sa napiling profile sa field Profile. Bilang karagdagan, eksaktong tinutukoy din ng profile kung paano gumagana ang setting ng uri ng pag-access: pinapayagan lamang nitong tingnan o kasama rin ang kakayahang mag-edit ng data. Halimbawa, kung ang profile ng mga pangkat ng access ay may kasamang tungkulin para sa pagbabasa ng mga dokumento, magagawa ng mga user na tingnan ang mga dokumento para sa mga tinukoy na organisasyon. Kung ang profile ay naglalaman ng isang tungkulin para sa pagdaragdag at pagbabago, kung gayon magiging posible na i-edit ang mga naturang dokumento.


Para sa bawat uri ng pag-access, maaari mong tukuyin ang alinman sa isang listahan ng mga pinapayagang halaga, o, kabaligtaran, isang listahan ng mga halagang iyon na hindi dapat ma-access. Ang unang paraan ng pagsasaayos ay angkop sa mga kaso kung saan ang gawain ay upang magbigay ng access lamang sa isang tiyak na lugar ng data. Ang pangalawang paraan ng pagsasaayos ay maginhawa kapag kailangan mong harangan ang pag-access sa isang dating kilalang lugar ng data, at para sa lahat ng mga bagong halaga na ipinasok sa programa, ang mga pinahihintulutang panuntunan ay dapat na ilapat bilang default. Halimbawa, kung ginagamit ang uri ng pag-access Mga organisasyon isang panuntunan ang itinakda na nagbabawal sa pagtatrabaho sa mga dokumentong nauugnay sa organisasyon Ang kumpanya namin, pagkatapos ay sa isang bagong organisasyon Bahay ng kalakalan, na ipinakilala sa programa sa ibang pagkakataon, ang mga paghihigpit na ito ay hindi malalapat. Dapat itong isaalang-alang na ang pagpapagana ng mga setting ay may priyoridad kaysa sa pagbabawal. Kaya, kung sa halimbawa sa itaas ang gumagamit ay pinapayagan na magpasok ng mga dokumento para sa organisasyon Ang kumpanya namin sa ilang iba pang grupo ng pag-access na may parehong profile, pagkatapos ay magkakaroon siya ng access sa lahat ng mga dokumento para sa organisasyong ito.


Sa ilang mga kaso, upang gawing simple ang pag-setup ng mga karapatan sa pag-access, sa listahan ng mga pinapayagan o ipinagbabawal na mga halaga maaari mong tukuyin hindi ang mga indibidwal na elemento, ngunit ang buong grupo ng mga elemento. Halimbawa, para sa uri ng pag-access Mga pangkat ng lokasyon ng storage(tingnan ang Fig. 3) maaari mong paghigpitan ang pag-access sa mga tuntunin ng mga pangkat ng pag-access ng mga lokasyon ng imbakan, at hindi para sa bawat lokasyon ng imbakan nang hiwalay. Upang gawin ito, kailangan mong tukuyin ang isang listahan ng mga pangkat ng pag-access para sa mga lokasyon ng imbakan, at italaga ang bawat lokasyon ng imbakan na kabilang sa isa o ibang grupo. Ang mga pagkilos na ito ay maaaring gawin hindi lamang ng administrator, kundi pati na rin ng sinumang user na may naaangkop na mga karapatan upang i-edit ang listahan ng mga lokasyon ng storage. Gumagana ang prohibitive setting sa katulad na paraan.

Maaaring isama ang isang user sa ilang mga grupo ng pag-access nang sabay-sabay. Sa kasong ito, ang kabuuang mga karapatan sa pag-access ay idinagdag (pinagsama ng "o") mula sa mga karapatan sa pag-access ng bawat pangkat. Halimbawa, sa isang access group Mga tauhan sa pag-aayos pinapayagan ang user na magdagdag/mag-edit ng dokumento Pagsisimula ng serbisyo sa pamamagitan ng organisasyon Ang kumpanya namin. Sa isang access group Mga empleyado sa bodega pinapayagan siyang magdagdag/magbago ng dokumento Pagpasok sa pamamagitan ng organisasyon Bahay ng kalakalan. Bilang resulta, may karapatan siyang magdagdag/mag-edit ng mga dokumento Pagsisimula ng serbisyo sa pamamagitan ng organisasyon Ang kumpanya namin At Pagpasok sa pamamagitan ng organisasyon Bahay ng kalakalan. Dapat itong isaalang-alang na hindi ang mga listahan ng mga pinapayagang halaga na tinukoy sa mga grupo ang pinagsama, ngunit ang mga karapatan sa pag-access. Yung. Isang pagkakamali na ipagpalagay na sa halimbawa sa itaas ang user ay magkakaroon ng access upang magdagdag/magbago ng parehong uri ng mga dokumento nang sabay-sabay para sa parehong mga organisasyon.

Pagtatakda ng mga karapatan sa pag-access para sa mga indibidwal na user

Upang tingnan at i-configure ang komposisyon ng mga grupo ng pag-access ng user ng interes (o grupo ng mga user; pagkatapos nito ay simpleng "user"), maaari mong gamitin ang command Mga karapatan sa pag-access sa navigation panel ng user card.

Gamit ang pindutan Isama sa grupo Sa tab, maaaring idagdag ng administrator ang user sa membership ng alinman sa mga available na grupo ng access.

Gamit ang pindutan Alisin sa grupo Maaari mong alisin ang isang user mula sa isang nakatuong pangkat ng pag-access.

Ang setting na ito ay maaari ding gawin ng mga responsable para sa pag-access ng membership ng grupo para sa kanilang mga grupo ng access.

Gamit ang pindutan Baguhin ang pangkat maaari kang pumunta sa access group card na napili sa listahan.



Sa tab Mga pinapayagang pagkilos (mga tungkulin) Para sa sanggunian, ipinapakita ang isang pinagsama-samang listahan ng mga tungkulin na itinalaga sa user. Ang listahan ng mga tungkulin ay binubuo ng lahat ng mga tungkulin na bahagi ng mga pangkat ng pag-access kung saan kasama ang user. Ang parehong listahan ay makikita sa Configurator, sa mga property ng user ng infobase. Gayunpaman, hindi mo dapat i-edit ang listahang ito sa 1C:Enterprise configuration mode ay dapat lang gawin gamit ang mga access group;



Gamit ang pindutan Sa pamamagitan ng mga subsystem ang mga pinapayagang aksyon ay maaaring igrupo nang naaayon.



Ulat ng mga pahintulot

Upang makakita ng kumpletong listahan ng mga karapatan sa pag-access ng user, maaari mong gamitin ang analytical na ulat Ulat sa Mga Pahintulot ng User.

Maaaring buksan ang ulat mula sa isang user card (grupo ng gumagamit) mula sa pahina Mga karapatan sa pag-access gamit ang naaangkop na pindutan.



Upang makakuha ng detalyadong ulat, paganahin ang checkbox Mga detalye ng pahintulot, pindutin ang pindutan Form.

Ipinapakita ng ulat ang lahat ng impormasyon tungkol sa mga karapatan sa pag-access ng user:

  • Mga katangian ng gumagamit ng Infobase;
  • access sa infobase, login name, operating system user name at iba pang impormasyon;
  • Mga pangkat ng access ng user;
  • Pangalan ng grupo, responsableng tao, profile;
  • Mga tungkulin ng user ayon sa profile;
  • Pagtingin sa mga bagay;
  • Pag-edit ng mga bagay;
  • May kasamang talahanayan ng 3 column: Object/Rights/Restriction, Access Group/Profile/Role, Record-level restrictions/Access type at value;
  • Mga karapatan sa mga bagay: Mga folder.


Gamit ang karaniwang mga pindutan, ang ulat ay maaaring i-print o i-save sa isang computer sa nais na format.

Paglikha ng bagong profile para sa mga pangkat ng access

Sa ilang mga kaso, ang mga paunang natukoy na profile ng pangkat ng pag-access ay hindi sapat upang i-configure ang kinakailangang mga karapatan sa pag-access ng user. Sa ganitong mga kaso, may kakayahan ang administrator na magdagdag ng bago o magbago ng mga paunang natukoy na profile ng pangkat ng access.

Pinagsasama-sama ng profile ng access group ang ilang tungkulin at naglalaman din ng paglalarawan ng mga uri ng access kung saan maaaring i-configure ng administrator ang mga karapatan gamit ang mga access group. Kaya, ang isang profile ay kumakatawan sa isang partikular na template ayon sa kung saan ang administrator ay nagpapanatili ng mga grupo ng pag-access.

Ang isa o higit pang mga grupo ng pag-access ay maaaring iugnay sa isang profile. Halimbawa, batay sa profile Manggagawa sa pag-aayos maaaring i-configure ang mga access group Mga tauhan ng pagkumpuni ng aming kumpanya At Mga tauhan ng pagkumpuni "Trading House", na naiiba sa bawat isa ng mga awtorisadong organisasyon na "Our Firm" at "Trading House", ayon sa pagkakabanggit.

Maaaring buksan ang listahan gamit ang kaukulang utos sa seksyon Pangangasiwa – Pag-set up ng mga user at karapatan – I-access ang mga grupo.


Gamit ang field Ipakita Maaari kang pumili ng access sa mga profile ng grupo mula sa listahan:

  • Lahat ng mga profile;
  • Ibinigay;
  • Hindi naibigay;
  • Luma na.

Upang magpasok ng bagong profile ng pangkat ng access, gamitin ang button Lumikha.


Kapag nagdaragdag ng bagong profile, kailangan mo munang tukuyin ang mga tungkulin nito batay sa mga pangangailangan ng target na pangkat ng gumagamit.

Ang isang tungkulin ay tumutukoy sa isang tiyak na hanay ng mga aksyon sa mga bagay ng programa na maaaring gawin ng isang user. Ang mga tungkulin ay maaaring tumutugma sa iba't ibang mga responsibilidad sa trabaho (o mga uri ng aktibidad) ng mga gumagamit ng programa, at maaaring tumutugma sa mas maliliit na function. Kadalasan, pinapayagan ng mga tungkulin ang pagtingin o nagbibigay ng kakayahang mag-edit ng ilang partikular na data sa programa.

Ang bawat user, sa pamamagitan ng mga profile at grupo ng pag-access, ay maaaring magtalaga ng isa o higit pang mga tungkulin, na magkakasamang bumubuo ng kanyang mga personal na setting ng mga karapatan sa pag-access.

Bilang isang patakaran, ang isang pagkakaiba ay ginawa sa pagitan ng pangunahing at karagdagang mga profile.

Ang pangunahing profile ay naglalarawan ng isang tiyak na hanay ng mga karapatan sa pag-access na sapat upang maisagawa ang isang tiyak na lugar ng trabaho sa programa.

Gamit ang mga karagdagang profile, ang mga user ay maaaring bigyan ng anumang karagdagang mga karapatan bilang karagdagan sa pangunahing profile.

Sa mga pangunahing profile, mahalagang magbigay ng isang hanay ng mga tungkulin na, sa isang banda, ay hindi magbibigay ng labis (hindi ginustong) pag-access sa mga function at data ng programa, at sa kabilang banda, ay magiging sapat para sa mga user na magtrabaho sa loob ng saklaw ng kanilang mga gawain at responsibilidad. Sa partikular, ang pangunahing profile ay dapat magsama ng ilang mga sumusuportang tungkulin na hindi direktang nauugnay sa pangunahing aktibidad ng mga user, ngunit gayunpaman ay kinakailangan para dito.

Halimbawa, para sa isang empleyado ng warehouse, bilang karagdagan sa tungkulin para sa pagdaragdag at pagpapalit ng mga dokumento ng bodega, dapat mo ring tandaan na isama ang mga sumusunod na tungkulin sa profile:

  • papel para sa pag-log in sa programa gamit ang isang manipis, makapal o web client;
  • mga paunang natukoy na tungkulin Mga pangunahing karapatan At Mga pangunahing karapatan ng UV;
  • mga tungkulin para sa pagtingin sa mga direktoryo, mga elemento kung saan kailangang piliin sa mga field ng dokumento, atbp.

Kapag nagpapasok ng bagong profile ng mga pangkat ng access, ilagay ito Pangalan.

Kung mayroong maraming mga profile ng grupo ng pag-access, maaari silang i-grupo ayon sa iba't ibang pamantayan, halimbawa, maaari mong paghiwalayin ang pangunahing at karagdagang mga profile ng grupo ng pag-access sa magkahiwalay na mga grupo, at maaari mo ring ipangkat ang mga profile ng grupo ng pag-access ayon sa iba pang pamantayan.

Sa tab Mga pinapayagang pagkilos (mga tungkulin) Gamitin ang mga checkbox upang pumili ng isa o higit pang mga tungkulin. Ang mga tungkulin ay karaniwang nakalista sa alpabetikong pagkakasunud-sunod.

Gamit ang command Sa pamamagitan ng mga subsystem menu Higit pa maaari mong makita ang mga tungkulin na nakapangkat ayon sa subsystem.

Gamit ang kaukulang button na maaari mong ipakita sa listahan Mga piling tungkulin lamang.



Pagkatapos ay sa tab Mga paghihigpit sa pag-access dapat gumawa ng desisyon tungkol sa komposisyon ng mga uri ng pag-access na dapat tukuyin sa profile. Sa pamamagitan ng uri ng pag-access ang ibig naming sabihin ay isang tiyak na panuntunan kung saan ang pag-access sa data ng programa ay "pinapayagan". Sa tulong nila, mas tumpak mong mai-configure ang mga hangganan ng lugar ng data kung saan pinapayagang magtrabaho ang mga miyembro ng ilang partikular na grupo ng pag-access. Sa pinakasimpleng kaso, kung walang uri ng pag-access ang kasama sa profile, ang mga karapatan sa pag-access sa data ay tinutukoy lamang ng mga tungkulin. Halimbawa, kung kasama sa profile ang tungkulin ng pagbabasa ng mga dokumento ng bodega, ang mga miyembro ng mga grupo ng pag-access ay may kakayahang tingnan ang lahat ng mga dokumento ng bodega. Ngunit kung, bilang karagdagan sa tungkuling ito, magdagdag ka ng uri ng pag-access sa iyong profile Mga organisasyon, pagkatapos ay nagiging posible na payagan ang mga user na magtrabaho kasama ang mga dokumento para lamang sa mga partikular na organisasyon; o vice versa, itago ang mga dokumento ng ilang organisasyon mula sa kanila. Kaya, kung ang listahan ng mga tungkulin sa profile ay sumasagot sa tanong na "ano ang dapat na magagamit at kung ano ang hindi" (anong mga pag-andar at data ng programa), kung gayon ang mga uri ng pag-access ay nilinaw nang eksakto kung paano sila magagamit (sa mga tuntunin ng kung ano pinapayagan at ipinagbabawal na mga halaga). Inirerekomenda na tukuyin ang komposisyon ng mga uri ng pag-access sa isang profile batay sa mga pagsasaalang-alang ng flexibility sa pagtatakda ng mga karapatan sa pag-access.

Para sa bawat uri ng access na tinukoy sa profile, maaari mong tukuyin ang isa sa apat na mga pagpipilian sa setting:

  • Lahat ay ipinagbabawal, ang mga pagbubukod ay itinalaga sa mga pangkat ng pag-access– ginagamit sa mga kaso kung saan dapat sarado ang pag-access sa lahat ng data bilang default, ngunit maaaring i-configure ang mga pahintulot para sa mga indibidwal na bagay sa mga grupo ng pag-access;
  • Lahat ay pinapayagan, ang mga pagbubukod ay itinalaga sa mga pangkat ng pag-access– katulad ng naunang opsyon, ngunit bilang default, pinapayagan ang lahat ng data, at maaaring itakda ang mga pagbubukod para sa mga indibidwal na bagay sa mga grupo ng pag-access – ipinagbabawal;
  • Lahat ay ipinagbabawal, ang mga pagbubukod ay itinalaga sa profile– ginagamit kapag ang mga grupo ng pag-access ay hindi dapat magbigay ng kakayahang i-configure ang uri ng pag-access; mga. Ang lahat ng mga setting ay dapat gawin nang direkta sa profile mismo at hindi maaaring baguhin sa mga pangkat ng access. Ang mga uri ng pag-access ay nakatago sa mga pangkat ng pag-access;
  • Lahat ay pinapayagan, ang mga pagbubukod ay itinalaga sa profile- katulad ng nakaraang opsyon.


Kung ang tampok na ito ay hindi pinagana sa programa, ang uri ng pag-access ay magiging hindi aktibo at ang programa ay magpapakita ng isang mensahe tungkol dito sa ibaba ng window.

Upang mabilis na tumalon sa listahan ng mga pangkat ng pag-access na ginawa batay sa profile na ito, maaari mong gamitin ang command sa panel ng nabigasyon.

Sa listahang ito gamit ang pindutan Lumikha maaari kang magdagdag ng mga bagong pangkat ng pag-access gamit ang kaukulang mga utos ng menu Higit pa kaya mo rin Kopyahin, Baguhin, Markahan para sa pagtanggal umiiral.



Komposisyon ng mga profile ng access group

Upang i-configure ang mga karapatan sa pag-access ng user, ang administrator ay may mga sumusunod na profile:

  • Tagapangasiwa- pag-set up ng mga karapatan sa pag-access ng gumagamit at pangangasiwa sa programa. Kasama ang tungkulin Buong karapatan, na nagbibigay ng walang limitasyong access sa lahat ng data.
  • Accountant- kasama ang isang hanay ng mga function na kinakailangan para sa trabaho ng isang accountant (pagkuha ng mga dokumento para sa cash accounting);
  • Panlabas na tagapagtustos- kabilang ang isang hanay ng mga function na nagpapahintulot sa mga kontratista - mga supplier na magtrabaho ();
  • Manggagawa sa pag-aayos- kabilang ang isang hanay ng mga function para sa trabaho ng mga espesyalista - IT department technician (nagtatrabaho sa pagpapanatili at pagkumpuni ng mga dokumento);
  • empleyado sa bodega- kabilang ang isang hanay ng mga function para sa mga storekeeper (nagtatrabaho sa mga dokumento ng bodega).

Siyempre, mainam na mapaghigpitan ang pag-access ng anumang application sa iyong personal na data. Kung talagang gusto mong gawin ito, tiyak na magiging kapaki-pakinabang sa iyo ang aming artikulo. Gayunpaman, nalalapat lang ito sa mga user na may naka-install na Android 4.3 operating system sa kanilang device. Ito ay sa pinakabagong bersyon ng OS na ito na lumitaw ang isang napaka-kagiliw-giliw na function na nagpapahintulot sa iyo na pamahalaan ang anumang application. Huwag magtaka na hindi mo pa ito nakita sa iyong tahanan. Ito ay nakatago mula sa mga mata ng mga gumagamit, ngunit ngayon ay sasabihin namin sa iyo kung paano hanapin ito at kung paano simulan ang paggamit nito.

Ang opsyon na ito ay tinatawag na "Application Operations"; Tanging ito ay hindi nakalista sa listahan ng iba pang mga application. Maaari lamang itong tawagin sa dalawang paraan.

Ang unang paraan ay ang paggamit ng alternatibong launcher. Pinapayuhan ka naming gamitin ang Nova Launcher. At narito ang kailangan mong gawin:

1. Una, humanap ng bakanteng espasyo sa iyong desktop at i-tap ito para maglabas ng submenu. Mula sa lahat ng nakalista dito, piliin ang "Shortcut":

2. Mula sa lahat ng magagamit na mga shortcut, kailangan mong piliin ang "Mga kasalukuyang aksyon":

3. Mula sa listahan ng aksyon, mag-click sa “Mga Setting”:

5. At nasa mga setting na ito maaari mong mahanap ang opsyon o program na "Mga Operasyon sa mga application". I-click ito.

Pagkatapos nito, lalabas ang isang shortcut na tinatawag na "Mga Setting" sa iyong desktop. Sa pamamagitan ng pag-click dito, palaging magbubukas ang isang window na may programa para sa pamamahala ng mga application. Bilang karagdagan, maaari mo na ngayong pamahalaan ang lahat ng mga pahintulot ng anumang application.

Ang pangalawang paraan upang ma-access ang programa ng Application Actions ay ang paggamit ng isang simpleng utility na tinatawag na QuickShortcutMaker. Ito ay mahahanap at mada-download sa Google Play Market application store.

Pagkatapos ay i-install mo ang utility na ito, patakbuhin ito at hanapin ang isang item na tinatawag na "Mga Setting". Mahahanap mo ito sa pinakaunang tab na "Mga Pagkilos" sa pangunahing menu ng programa. Sa mga setting na ito, mahahanap mo muli ang linyang "Mga Operasyon sa mga application". Sa pamamagitan ng pag-click dito, lilitaw ang isang shortcut sa opsyong ito sa iyong desktop, pagkatapos nito ay maaaring alisin ang QuickShortcutMaker, ngunit mananatili pa rin ang shortcut.

Tulad ng para sa programa mismo para sa pamamahala ng mga pahintulot sa mga application, medyo madaling gamitin, dahil ang menu nito ay, sa prinsipyo, madaling maunawaan. Sa kabuuan, naglalaman ang menu ng apat na tab: "Lokasyon", "Personal na data", "SMS/MMS" at ang device mismo, na naglalaman ng mga listahan ng lahat ng naka-install na application. Susunod, hahanapin at pipiliin mo ang anumang application na interesado ka upang limitahan ang pag-access nito sa iyong data, atbp. At pagkatapos ay itinakda mo mismo ang nais na mga paghihigpit.

Tulad ng nakikita mo, ang lahat ay napaka-simple. Kakaiba na walang nagpahayag ng feature na ito. Malamang, ang program na ito ay nasa ilalim pa rin ng pag-unlad, at sa hinaharap ay mapapabuti ito kasama ang buong sistema ng pamamahala ng aplikasyon.

Posibleng maranasan ng mga user ang sumusunod na sitwasyon: pinaghigpitan nila ang ilang pagkilos para sa application, ngunit ang application mismo ay walang ideya tungkol dito. Sa hinaharap, kapag inilunsad mo ang application na ito, maaaring lumitaw ang ilang mga pagkabigo at error, upang ang tamang operasyon ay hindi posible.

Ang isa pang bagay na nawawala mula sa program na ito ay na ito mismo ay nagpapaalam sa application na ito o ang tampok na iyon ay hindi pinagana. Maaaring makalimutan din ng ilang user na hindi pinagana nila ang isang bagay at iisipin na ang application mismo ang may kasalanan.

Nais kong tandaan na ang isang katulad na opsyon ay naipatupad na at ginagamit sa alternatibong firmware na CyanogenMod, at ang operasyon nito ay hindi nangangailangan ng anumang seryosong pagbabago.

I-print (Ctrl+P)

Paghihigpit sa pag-access sa data

Ang mekanismo ng mga paghihigpit sa pag-access ng data (kilala rin bilang RLS, Row Level Security) ay nagbibigay-daan sa iyong pamahalaan ang mga karapatan sa pag-access hindi lamang sa antas ng mga metadata object, kundi pati na rin sa antas ng 1C:Enterprise database objects. Upang paghigpitan ang pag-access sa data, maaaring gamitin ang sumusunod na 1C:Enterprise objects:
● mga tungkulin,
● mga parameter ng session,
● functional na mga opsyon,
● privileged common modules,
● keyword na PINAHAYAG sa wika ng query.
Ang pagbabahagi ng mga nakalistang bagay ay nagbibigay-daan para sa maximum na kakayahang umangkop kapag kinakailangan na ibahin ang mga karapatan sa pag-access sa data sa pagitan ng mga user na gumaganap ng iba't ibang mga function.
Maaaring ipataw ang mga paghihigpit sa pag-access ng data sa mga sumusunod na operasyon ng data (mga karapatan sa pag-access): pagbabasa (Basahin pakanan), pagdaragdag (Idagdag pakanan), pagbabago (Baguhin ang pakanan) at pagtanggal (Tanggalin pakanan). Magagawa ng kasalukuyang user ang kinakailangang operasyon sa mga sumusunod na kaso:
● Para sa pagbabasa at pagtanggal ng mga operasyon, ang object na naninirahan sa database ay dapat sumunod sa isang paghihigpit sa pag-access ng data.
● Para sa isang add operation, ang paghihigpit sa pag-access ng data ay dapat tumugma sa bagay na plano mong isulat sa database.
● Para sa pagpapatakbo ng pagbabago, ang paghihigpit sa pag-access ng data ay dapat tumugma sa bagay bago ang pagbabago (upang mabasa ang bagay) at pagkatapos ng pagbabago (upang maisulat ang bagay).
Kapag naglalapat ng mga paghihigpit sa pag-access ng data, tandaan na maaari kang tumukoy lamang ng isang kundisyon para sa pagbabago, pagdaragdag, at pagtanggal ng mga pagpapatakbo, ngunit maaari kang tumukoy ng higit sa isang paghihigpit sa pag-access ng data para sa isang read operation. Nangangahulugan ito na maaaring itakda ang iba't ibang kundisyon para sa pagbabasa ng iba't ibang field ng isang bagay, at kapag nagtatakda ng kundisyon, maaari mong tukuyin ang parehong pangalan ng isang partikular na field at ang espesyal na field Iba pang mga field. Sa unang kaso, ang kundisyon ay ipapataw lamang kung ang seleksyon (na nagbabasa ng data) ay naglalaman ng isang field kung saan nakatakda ang paghihigpit, at sa pangalawang kaso, ang paghihigpit ay ipapataw para sa lahat ng mga field ng object, maliban sa mga field kung saan ang mga paghihigpit ay tahasang itinakda .
Kapag nagtatakda ng restriction sa isang partikular na field, mababasa ang field na ito kung nasiyahan ang restriction, at kapag nagtatakda ng restriction sa Iba pang field, mababasa lang ang object data kung nasiyahan ang restriction para sa lahat ng field ng object na kasama sa kahilingan sa pagbabasa ng data.
Para sa mga sumusunod na uri ng mga object ng database, maaaring ipataw ang iba't ibang mga paghihigpit sa iba't ibang uri ng mga pagbabago (pagdaragdag, pagbabago, pagtanggal):
● Exchange plan,
● Mga Direktoryo,
● Mga dokumento,
● Mga plano para sa mga uri ng katangian,
● Mga tsart ng mga account,
● Mga plano para sa mga uri ng pagkalkula,
● Mga proseso ng negosyo,
● Mga gawain.
Para sa mga sumusunod na uri ng mga object ng database, posibleng magpataw ng mga paghihigpit sa pagbabasa hindi lamang sa buong object, kundi pati na rin sa mga indibidwal na field nito:
● Exchange plan,
● Mga Direktoryo,
● Mga dokumento,
● Mga log ng dokumento,
● Mga plano para sa mga uri ng katangian,
● Mga tsart ng mga account,
● Mga plano para sa mga uri ng pagkalkula,
● Mga rehistro ng impormasyon,
● Mga proseso ng negosyo,
● Mga gawain.
PANSIN! Kapag ina-access ang mga field ng database object gamit ang mga katangian ng application object mula sa built-in na 1C:Enterprise language, binabasa ang buong object, at hindi lang ang value ng field na ginagamit. Ang pagbubukod ay kapag tumatanggap ng view, kapag ang mga halaga lamang ng mga field na kasangkot sa pagbuo ng view ang mababasa.
Ang mga paghihigpit sa pag-access ay nakapaloob sa mga tungkulin, maaari silang tukuyin para sa karamihan ng mga bagay na metadata at isinulat sa isang espesyal na wika na isang subset ng wika ng query.

Wika ng paghihigpit sa pag-access ng data

Ang mga paghihigpit sa pag-access ng data ay inilalarawan sa isang espesyal na wika, na isang subset ng wika ng query (detalyadong paglalarawan ng wika ng query. Ang wika ng paghihigpit sa pag-access ng data ay may mga sumusunod na pagbabago na nauugnay sa wika ng query:
● Sa isang kahilingan sa paghihigpit sa pag-access ng data, palaging mayroong isang talahanayan bilang pinagmumulan ng data - ito ang talahanayan ng bagay kung saan inilalapat ang paghihigpit (ang pangunahing bagay ng paghihigpit).
● Ang paglalarawan ng kahilingan ay pinaikli. Ang wika ng paghihigpit sa pag-access ng data ay gumagamit lamang ng mga seksyong FROM at WHERE ng wika ng query. Kaya, ang paglalarawan ng wika ng query ay ganito:
PILIIN [PINAGPAHAYAG] [IBA] [ UNA<Количество> ]
<Listahan ng mga field ng pagpili>
[MULA SA <Список источников> ]
[SAAN<Условие отбора> ]
[GROUP BY <Поля группировки> ]
[MAY<Условие отбора> ]
[UPANG MAGBAGO [ <Список таблиц верхнего уровня> ]]
Habang ang paglalarawan ng wika ng query sa paghihigpit sa pag-access ng data ay ang sumusunod:
[Table alias ng pangunahing object ng hadlang]
[MULA SA <Список источников> ]
[SAAN<Условие отбора> ]

Sa mga nested na query na ginagamit sa wika ng paghihigpit sa pag-access ng data, limitado ang hanay ng mga pinapayagang kakayahan;
● Maaari mong tukuyin ang mga parameter ng session at mga opsyon sa paggana bilang mga elemento ng kundisyon;
● Sa anumang punto sa isang kahilingan sa paghihigpit sa pag-access ng data, pinapayagang gumamit ng mga template na nagpapasimple sa mga paghihigpit sa pagsulat.
Ang pangunahing bahagi ng pagpilit ay isang kundisyon na sinusuri para sa bawat talaan ng talahanayan ng database na napapailalim sa isang paghihigpit sa pag-access ng data. Itinuturing na available ang isang rekord kung, bilang resulta ng pagpapatakbo ng kundisyon para sa isang talaan ng talahanayan ng pangunahing bagay ng pagpilit, ang isang di-walang laman na talahanayan ay nakuha (iyon ay, isang talahanayan na may 1 o higit pang mga tala). Kung ang kundisyon ay nagreresulta sa isang walang laman na talahanayan, ang talaan kung saan ang kundisyon ay natugunan sa ganitong paraan ay itinuturing na hindi naa-access. Bukod dito, binabago ang pagpasok ng talahanayan ng pangunahing bagay na hadlang
ay itinuturing na wasto kung ang entry ay hindi sumasalungat sa paghihigpit na tinukoy para sa karapatan, bago at pagkatapos isagawa ang pagpapatakbo ng pagbabago.

Mga patlang ng talahanayan

Sa mga paghihigpit sa pag-access ng data maaari mong gamitin ang:
● Mga field ng talahanayan ng bagay kung saan inilarawan ang paghihigpit sa pag-access ng data.
Halimbawa, kung may ipapataw na paghihigpit sa pagbabasa ng mga elemento ng direktoryo ng Counterparties, maaaring gamitin ng paghihigpit ang mga field ng direktoryo ng Counterparties at ang mga tabular na bahagi nito. Sa partikular, ang pinakasimpleng mga paghihigpit sa pagbabasa ng mga elemento ng direktoryo ng Counterparties ay maaaring magmukhang ganito:

WHERE Pangalan = "Pabrika ng Brick"
O tulad nito:

SAAN Mga Produkto.Pangalan= "Ang ladrilyo ay pula"
Kung saan ang Mga Produkto ay ang tabular na bahagi ng direktoryo ng Mga Kontratista.
● Mga patlang ng mga talahanayan ng mga bagay na naa-access sa pamamagitan ng mga link sa pangunahing object ng hadlang.
Halimbawa, kung ang katangian ng Pangunahing Tagapamahala ng direktoryo ng Mga Kontratista ay may uri ng link sa direktoryo ng Mga User, ang paghihigpit sa pag-access ay maaaring mayroong, halimbawa, ang sumusunod na form:

SAAN MainManager.Code= “Ivanov”
O kaya:

SAAN Pangunahing Tagapamahala.Indibidwal.Pangalan= "Petrovsky"
● Mga field ng object table na nauugnay sa pangunahing object ng mga paghihigpit sa pamamagitan ng ilang partikular na kundisyon at expression sa ibabaw ng mga ito.
Halimbawa, ang sumusunod na paghihigpit ay maaaring ipataw sa pagbabasa ng mga elemento ng direktoryo ng Counterparties:

Counterparty
MULA SA
Directory.Counterparties HOW Counterparty
LEFT CONNECTION Direktoryo.Mga Gumagamit BILANG Mga Gumagamit
Software = Mga Gumagamit.Pangalan
WHERE = "Petrovsky"
Ginagamit ng paghihigpit na ito ang mga field ng mga elemento ng direktoryo ng Mga User na nauugnay sa elementong ito ng direktoryo ng Counterparties ayon sa halaga ng mga field ng Pangalan.

Mga Nested Query

Ang mga nested na query ay ginagamit upang bumuo ng mga hanay ng mga tala na maaaring magamit:
● upang mag-link sa talahanayan ng pangunahing object ng hadlang;
● para sa paggamit bilang isang operand para sa B o HINDI B pagpapatakbo ng paghahambing.
Maaaring gumamit ang mga nested query ng anumang feature ng query language maliban sa:
● operator SA HIERARCY;
● RESULTA ng mga panukala;
● ang mga resulta ng mga nested query ay hindi dapat maglaman ng mga tabular na bahagi;
● ilang virtual na talahanayan, sa partikular Nananatili at Turnovers.
Sa sumusunod na halimbawa ng isang paghihigpit sa pagbabasa mula sa direktoryo ng Mga Account, ang isang subquery ay ginagamit bilang isang hanay ng mga talaan upang iugnay sa pangunahing bagay ng paghihigpit:

Counterparty
MULA SA
Directory.Counterparties HOW Counterparty
LEFT CONNECTION
(PUMILI
Users.Name, Users.Individual
MULA SA
Direktoryo.Mga Gumagamit BILANG Mga Gumagamit
SAAN
Users.Code> “Petechkin”) BILANG Mga Gumagamit
NG Pangalan ng Counterparty = Users.Pangalan
SAAN Users.Individual.Name= "Petrovsky"
Ang sumusunod na halimbawa ay nagpapakita ng paghihigpit sa pagbabasa mula sa Passport Data ng mga Indibidwal na direktoryo, kung saan ginagamit ang isang nested na query sa
bilang operand ng paghahambing na operasyon B:

SAAN
Data ng pasaporteIndibidwal.Indibidwal SA
(PUMILI NG IBA
Manggagawa.Indibidwal BILANG INDIVIDUAL
MULA SA
Register of Information.Mga Empleyado BILANG MANGGAGAWA)
Kung sa isang nested query ay kinakailangan upang makakuha ng data mula sa tabular na bahagi, pagkatapos ay sa FROM na seksyon ng nested query dapat mong direktang i-access ang tabular na bahagi. Halimbawa, sa halip na:

PUMILI Link BILANG Link.
Mga Produkto.Pangalan PAANO Pangalan ng Produkto
MULA SA Directory.Counterparties
bilang isang query na naka-nest sa loob ng isang hadlang, dapat mong gamitin ang:

Mga Pagpipilian sa Sesyon

Maaaring kasama sa mga kahilingan sa paghihigpit sa pag-access sa data ang mga parameter ng session. Halimbawa, upang basahin ang mga elemento ng direktoryo Email Groups Maaaring itakda ang mga sumusunod na paghihigpit sa pag-access:

SAAN Owner.AccountAccess.User = &CurrentUser
AT Owner.AccountAccess.Administration= TOTOO

Ang CurrentUser ay isang parameter ng session

Mga opsyon sa pag-andar

Maaaring kasama sa mga kahilingan sa paghihigpit sa pag-access sa data ang mga opsyon sa paggana. Tanging ang mga opsyon sa paggana ng parameter-independent ang maaaring gamitin. Halimbawa, kung ang direktoryo ng Mga Item ay may katangian ng MainWarehouse, maaaring ganito ang hitsura ng paghihigpit sa pagbabasa ng katangiang ito:

WHERE &Warehouse Accounting = TOTOO

Kung saan ang Warehouse Accounting ay isang functional na opsyon

Mga tampok ng paggamit

Hindi lahat ng mga field ng pangunahing object ng data ng hadlang ay maaaring gamitin sa mga paghihigpit sa mga sumusunod na uri ng mga object ng database:
● sa mga rehistro ng akumulasyon, ang mga paghihigpit sa pag-access ay maaari lamang maglaman ng mga sukat ng pangunahing bagay ng paghihigpit;
● sa mga rehistro ng accounting, tanging ang mga sukat ng balanse ng pangunahing bagay ng paghihigpit ay maaaring gamitin sa mga paghihigpit.
TANDAAN. Kung, sa ilalim ng mga kondisyon ng limitadong pag-access sa data ng rehistro ng akumulasyon ng turnover, ang mga sukat na hindi kasama sa mga kabuuan ay ginagamit, kung gayon
Kapag ina-access ang virtual na talahanayan ng mga rebolusyon, ang mga nakaimbak na kabuuan ay hindi ginagamit at ang kahilingan ay ganap na isinasagawa ayon sa talahanayan ng paggalaw.

Mga pagkilos sa paghihigpit sa pag-access

Sinusuri ang mga paghihigpit sa pag-access sa tuwing isinasagawa ang mga naaangkop na operasyon sa mga object ng database (mula sa mga dialog, mula sa built-in na wika, sa pamamagitan ng mga query) at maaaring kumilos sa isa sa dalawang paraan:
● Lahat. Ang pamamaraang "lahat" ay nagpapahiwatig na ang ilang operasyon sa data (mula sa mga dialog, mula sa isang built-in na wika, o sa pamamagitan ng mga query) ay dapat gawin sa lahat ng mga object ng database na ipinahiwatig ng operasyong ito. Kung ang naturang operasyon ay nangangailangan ng pagbabasa o pagbabago ng mga object ng database kung saan ang naaangkop na mga paghihigpit sa pag-access ay hindi natutugunan, ang operasyon ay wawakasan
abnormal dahil sa paglabag sa pag-access.
● Pinahihintulutan. Ang "pinapayagan" na paraan ay nagpapahiwatig na kapag nagsasagawa ng operasyon sa data, tanging ang mga object ng database na nakakatugon sa naaangkop na mga paghihigpit sa pag-access ang dapat basahin. Ang mga object ng database na hindi nakakatugon sa mga paghihigpit sa pag-access ay itinuturing na nawawala kapag nagsasagawa ng naturang operasyon at hindi nakakaapekto sa resulta ng operasyon.
Ang mga paghihigpit sa pag-access ng data ay ipinapataw sa mga object ng database sa oras na ina-access ng 1C:Enterprise ang database. Sa bersyon ng client-server ng 1C:Enterprise, inilalapat ang mga paghihigpit sa 1C:Enterprise server.
Ang paraan ng pagpapatakbo ng mga paghihigpit na pinili upang maisagawa ang bawat operasyon sa data ay tinutukoy ng layunin ng operasyong ito at ang antas ng responsibilidad ng mga resulta nito. Sa partikular, ang "pinapayagan" na paraan ay ginagamit kapag nagpapakita ng mga dynamic na listahan at ilang iba pang interactive na pagkilos. Ang "lahat" na paraan ay ginagamit kapag nagsasagawa ng anumang mga operasyon sa mga object ng application mula sa built-in na 1C:Enterprise na wika, kabilang ang anumang mga pagbabago sa mga object ng database. Samakatuwid, halimbawa, ang mga paghihirap ay maaaring lumitaw kapag gumagawa ng isang seleksyon para sa Select() na paraan ng mga tagapamahala ng mga direktoryo, mga dokumento at iba pa na may kasunod na bypass ng resulta kung ang isang medyo kumplikadong paghihigpit ay nakatakda sa kaukulang bagay, dahil hindi lahat ng kundisyon sa Ang paghihigpit ng mga karapatan sa pag-access ay maaaring sapat na kinakatawan bilang isang seleksyon para sa Select() na pamamaraan.
Sa mga query, makokontrol mo kung paano gumagana ang mga paghihigpit sa pag-access ng data. Para sa layuning ito, ang wika ng query ay nagbibigay ng isang keyword PINAYAGAN. Kung ang kahilingan ay hindi tumukoy ng PAHAYAG, ang mga paghihigpit ay nalalapat sa "lahat" na paraan. Kung ang salitang PAHIHINTAY ay tinukoy, pagkatapos ay pipiliin ang "pinahintulutan" na paraan.
Mahalaga na kung ang isang query ay hindi tumukoy ng PINAHAYAG na keyword, ang lahat ng mga piniling tinukoy sa query na iyon ay hindi dapat sumalungat sa alinman sa mga read restrictions sa mga object ng database na ginamit sa query. Bukod dito, kung ang query ay gumagamit ng mga virtual na talahanayan, kung gayon ang kaukulang mga seleksyon ay dapat ilapat sa mga virtual na talahanayan mismo.
Halimbawa:

PUMILI
ContactInformationSectionFirst.Introduction
MULA SA RegisterInformation.ContactInformation.SliceLast(, Type = &Type)
PAANO ContactInformationSliceFirst
SAAN
ContactInformationSliceFirst.Type = &Type
Kapag gumagamit ng object technology, ang pag-access ng data sa ALLOWED mode ay hindi suportado. Ipinapalagay na ang object technology ay ginagamit para sa mga pinaka-kritikal na operasyon sa data, kabilang ang pagbabago nito. Upang makuha ang lahat ng data gamit ang object technology, anuman ang itinakda ng mga paghihigpit, maaari mong isagawa ang mga kinakailangang aksyon sa isang privileged module o sa ngalan ng isang user na may ganap na karapatan. Walang mga paraan ng pagkuha lamang ng pinahihintulutang data sa object technology.

Mekanismo para sa pagpapataw ng mga paghihigpit

Anumang operasyon sa data na nakaimbak sa isang database sa 1C: Ang Enterprise sa huli ay humahantong sa pag-access sa database na may ilang
humiling na basahin o baguhin ang data. Sa proseso ng pagsasagawa ng mga query sa database, ang mga panloob na mekanismo ng 1C:Enterprise ay nagpapataw ng mga paghihigpit sa pag-access. Sa kasong ito:
● Isang listahan ng mga karapatan ang nabuo (basahin, idagdag, baguhin, tanggalin), isang listahan ng mga talahanayan ng database at isang listahan ng mga field na ginamit ng kahilingang ito.
● Mula sa lahat ng tungkulin ng kasalukuyang user, pinipili ang mga paghihigpit sa pag-access ng data para sa lahat ng karapatan, talahanayan at field na kasangkot sa kahilingan. Bukod dito, kung ang isang tungkulin ay hindi naglalaman ng mga paghihigpit sa pag-access sa data ng isang talahanayan o field, nangangahulugan ito na ang mga halaga ng mga kinakailangang field mula sa anumang talaan ay magagamit sa talahanayang ito. Sa madaling salita, ang kawalan ng mga paghihigpit sa pag-access ng data ay nangangahulugan ng pagkakaroon ng mga paghihigpit
NASAAN ang Katotohanan.
● Kinukuha ang kasalukuyang mga halaga ng lahat ng mga parameter ng session at mga opsyon sa paggana na kasangkot sa mga napiling paghihigpit.
Upang makuha ang halaga ng isang parameter ng session, ang kasalukuyang user ay hindi kailangang magkaroon ng pahintulot upang makuha ang halagang iyon. Gayunpaman, kung ang halaga ng ilang parameter ng session ay hindi naitakda, isang error ang magaganap at ang query sa database ay hindi isasagawa.
Ang pagtanggap ng mga functional na opsyon ay naiimpluwensyahan ng Privileged Mode on Receipt property ng functional na opsyon.
Kung na-clear ang property na ito, dapat ay may read access ang kasalukuyang user sa object kung saan naka-store ang opsyon sa function.
● Ang mga hadlang na nagmula sa isang tungkulin ay pinagsama gamit ang AND operation.
● Ang mga hadlang na nagmula sa iba't ibang tungkulin ay pinagsama gamit ang isang OR na operasyon.
● Ang mga nabuong kundisyon ay idinaragdag sa mga query sa SQL kung saan ina-access ng 1C:Enterprise ang DBMS. Kapag nag-a-access ng data mula sa mga kundisyon ng paghihigpit sa pag-access, hindi isinasagawa ang pagsusuri ng mga karapatan (hindi para sa mga metadata object o para sa mga object ng database). Bukod dito, ang mekanismo para sa pagdaragdag ng mga kondisyon ay nakasalalay sa napiling paraan ng pagpapatakbo ng mga paghihigpit "lahat" o "pinapayagan".
"Lahat" na pamamaraan
Kapag nagpapataw ng mga paghihigpit gamit ang "lahat" na paraan, ang mga kundisyon at mga field ay idinaragdag sa mga query sa SQL upang ang 1C:Enterprise ay makakuha ng impormasyon tungkol sa kung, sa panahon ng pagpapatupad ng isang query sa database, ang data na ipinagbabawal para sa isang partikular na user ay ginamit o hindi. Kung ginamit ang ipinagbabawal na data, mag-crash ang kahilingan. Ang pagpapataw ng mga paghihigpit sa pag-access gamit ang "lahat" na pamamaraan ay ipinakita sa eskematiko sa Fig. 1:

kanin. 1. "Lahat" na pamamaraan

"Pinapayagan" na paraan
Kapag nag-aaplay ng mga paghihigpit gamit ang "pinapayagan" na paraan, ang mga kundisyon ay idinaragdag sa mga query sa SQL upang ang mga talaan na ipinagbabawal para sa kasalukuyang user ay hindi makakaapekto sa resulta ng query. Sa madaling salita, kapag ang mga paghihigpit ay ipinataw sa "pinapayagan" na mode, ang mga rekord na ipinagbabawal para sa isang partikular na user ay itinuturing na nawawala, na kung saan ay ipinakita sa eskematiko sa Fig. 3

Iba pang mga bagay na nauugnay sa mga paghihigpit sa pag-access ng data

Kapag nagdidisenyo ng mga configuration na gumagamit ng mga paghihigpit sa pag-access ng data, maaaring maging kapaki-pakinabang ang mga metadata object gaya ng mga parameter ng session, functional na opsyon, at mga nakabahaging module na may Privileged flag.
Mga Pagpipilian sa Sesyon
Maaaring gamitin ang mga parameter ng session sa mga paghihigpit sa pag-access ng data sa parehong paraan na magagamit ang mga parameter ng kahilingan sa isang kahilingan.
Mga opsyon sa pag-andar
Maaaring gamitin ang mga opsyon sa paggana ng parameter-independent sa mga paghihigpit sa pag-access ng data sa parehong paraan na magagamit ang mga parameter ng query sa isang query.
Mga Pribilehiyo na Karaniwang Module

Kung ang Privileged flag ay pinili para sa isang karaniwang module, ang pagpapatupad ng mga pamamaraan at function ng module na ito ay nakakakuha ng mahahalagang detalye:
● Sa bersyon ng client-server ng 1C:Enterprise, tanging ang module na na-execute sa server ang maaaring magkaroon ng pribilehiyo.
● Ang pagpapatupad ng mga pamamaraan at pag-andar ng privileged module at lahat ng tinatawag mula sa kanila ay isinasagawa kapag ang restriction system ay naka-off
karapatan sa parehong mga bagay at data ng metadata. Kaya, mula sa isang privileged module anumang operasyon ay maaaring isagawa sa
anumang bagay kahit na ang kasalukuyang gumagamit ay walang naaangkop na mga karapatan.
Ang mga may pribilehiyong module ay idinisenyo upang paunang itakda ang mga halaga ng mga parameter ng session na ginagamit sa mga paghihigpit sa pag-access ng data.
Maaaring gumamit ng mas pangkalahatang mga module para sa ilang holistic na pagkilos sa data ng isang user na may limitadong karapatan.
Halimbawa, kung kasama sa mga function ng user ang pagpasok at pag-post ng mga dokumento, ngunit hindi dapat magkaroon ng access ang user sa data na apektado ng pag-post ng dokumento, kung gayon ang pagpapatupad ng pagpapatakbo ng pag-post ay maaaring ilipat sa isang privileged module. Papayagan nito ang gumagamit na mag-post ng mga dokumento nang hindi binibigyan siya ng mga karapatan sa iba pang impormasyon (mga rehistro, halimbawa).
Privileged mode
Posibleng mag-install ng isang privileged mode sa programmatically kapag nagtatrabaho sa data. Pagtatakda ng privileged mode sa programmatically
maaaring kailanganin sa kaso ng napakalaking operasyon na may data ng infobase, at walang punto sa pagsuri sa mga karapatan sa pag-access ng data.
Para sa paglalarawan ng privileged mode, tingnan dito.

Gamit ang Preprocessor

Kapag nag-e-edit ng teksto ng mga paghihigpit sa pag-access ng data, posibleng gumamit ng mga tagubilin sa preprocessor. Ang mga sumusunod na tagubilin ay magagamit:

#KUNG<Выражение>#TAPOS
#ELSEIF<Выражение>#TAPOS
#OTHERWISE
#ENDSIF
<Выражение>– isang di-makatwirang lohikal na pagpapahayag sa built-in na wika, ang resulta nito ay nasa uri ng Boolean. Maaaring naglalaman ang expression ng:
● mga pagpapatakbo ng paghahambing<, >, <=, >= , =, <> ;
● lohikal na operasyon AT, O, HINDI;
● mga parameter ng session – ginagamit ang syntax at Parameter, kung saan ang Parameter ay ang pangalan ng parameter ng session.
Kung True ang resulta ng expression ng #IF o #ELSEIF statement, ang resultang text ng access restriction statement ay naglalaman ng text na matatagpuan pagkatapos ng #THEN na keyword. Kung Mali ang resulta ng expression, hindi ilalagay ang text na matatagpuan pagkatapos ng #THEN keyword sa text ng statement ng paghihigpit sa pag-access. Ang text kasunod ng #ELSE statement ay ilalagay sa magreresultang access restriction text kung wala sa mga naunang kundisyon ang natutugunan.
TANDAAN. Kung ang teksto ng isang paghihigpit sa pag-access ng data ay naglalaman ng mga tagubilin sa preprocessor, ang gayong paghihigpit ay hindi pumasa sa pagsusuri ng syntax kapag nag-e-edit at hindi mababago gamit ang constructor.
Halimbawa:

#IF &CurrentUser<>“Klimova” #TAYON
<текст ограничения доступа>
#ENDSIF
Dito CurrentUser– uri ng parameter ng session DirectoryLink.Users.
Ang disenyong ito ay nangangahulugan na ang kundisyon para sa pagtatakda ng paghihigpit sa pag-access ay susuriin para sa lahat ng mga user mula sa direktoryo, maliban sa user na si Klimova.

I-access ang mga template ng teksto ng paghihigpit

Ang isang tungkulin ay maaaring maglaman ng isang listahan ng mga template ng paghihigpit sa pag-access, na inilalarawan sa tab na Mga Template ng Paghihigpit ng form ng tungkulin. Maaari mo ring i-edit ang mga template ng paghihigpit sa pag-access sa editor para sa pag-edit ng pangkat ng mga paghihigpit sa pag-access at mga template.
Ang bawat template ng paghihigpit sa pag-access ay may pangalan at teksto. Ang pangalan ng template ay sumusunod sa karaniwang mga panuntunan para sa mga pangalan na pinagtibay sa 1C:Enterprise system.
Ang template na text ay naglalaman ng bahagi ng text sa data access restriction language at maaaring maglaman ng mga parameter na naka-highlight gamit ang simbolo
“#”.
Pagkatapos ng simbolo “#” maaaring sundin:
● Isa sa mga keyword:
● Parameter na sinusundan ng bilang ng parameter sa template sa mga panaklong;
● CurrentTable – nagpapahiwatig ng pagpapasok sa teksto ng buong pangalan ng talahanayan kung saan itinatayo ang hadlang;
CurrentTableName– nagsasaad ng pagpapasok sa teksto ng buong pangalan ng talahanayan (bilang isang halaga ng string, sa mga panipi) kung saan inilalapat ang pagtuturo, sa kasalukuyang bersyon ng built-in na wika;
●Pangalan ng CurrentAccessRight – naglalaman ng pangalan ng karapatan kung saan inilalapat ang kasalukuyang paghihigpit: BASAHIN/ADD/INSERT/PALITAN/
I-UPDATE, I-DELETE;
● pangalan ng parameter ng template – nangangahulugan ng pagpapasok ng kaukulang parameter na hadlang sa template sa text;
● Simbolong “#” – nagpapahiwatig ng pagpasok ng isang simbolo ng “#” sa teksto.

Maaaring naglalaman ang isang expression ng paghihigpit sa pag-access:

● Access restriction template, na tinukoy sa format
#TemplateName("Halaga ng parameter ng template 1", "Halaga ng parameter ng template 2", ...). Ang bawat parameter ng template ay nakapaloob sa double quotes. Kung kailangan mong tumukoy ng double quote character sa parameter text, dapat kang gumamit ng dalawang double quote.
● Function Naglalaman ang Pahina (Kung Saan Kami Hinahanap, Ano ang Hinahanap Namin). Ang function ay idinisenyo upang maghanap para sa isang pangyayari ng WhatWeLook string sa WhereWeLook string. Nagbabalik ng Tama kung ang pangyayari ay natagpuan at Mali kung hindi.

● Ang + operator para sa string concatenation.
Upang gawing mas madaling i-edit ang text ng template, sa tab na Mga template ng paghihigpit sa form ng tungkulin, i-click ang button na Itakda ang text ng template. Sa dialog na bubukas, ilagay ang template na text at i-click ang OK.
Sinusuri ng 1C:Enterprise system ang syntax ng mga template ng teksto, sinusuri ang syntax ng paggamit ng mga template, at pinapalitan ng macro ang mga teksto ng mga template ng paghihigpit sa pag-access sa tungkulin sa text ng kahilingan.
Ang pagpapalit ng macro template ay:
● pagpapalit ng mga paglitaw ng mga parameter sa teksto ng template ng mga halaga ng parameter mula sa expression para sa paggamit ng template sa teksto ng pagpilit;
● pinapalitan ang expression ng paggamit ng template sa text ng kahilingan ng resultang text ng template.
Kapag tinawagan mo ang tagabuo ng query para sa isang kundisyon na naglalaman ng mga template ng paghihigpit sa pag-access, may babala na ang lahat ng mga template ay papalitan.
Ang mga sumusunod ay mga halimbawa ng mga template ng hadlang:

Upang flexible na pamahalaan ang access ng user sa data ayon sa functionality kapag nagtatakda ng mga paghihigpit sa pag-access ng data, inirerekomenda ito
sumunod sa mga sumusunod na prinsipyo:
● Kinakailangang pumili ng isang hanay ng impormasyon (maaaring nakadepende sa kasalukuyang gumagamit) kung saan naaangkop ang paunang paghahanda. Ang napiling impormasyon ay dapat, sa isang banda, pasimplehin ang mga paghihigpit sa pag-access sa data hangga't maaari, at sa kabilang banda, ay hindi dapat masyadong malaki. Ipamahagi ito ayon sa mga parameter ng session.
● Itakda ang mga value ng mga parameter ng session sa SetSessionParameters() handler ng session module.
● Magtakda ng mga paghihigpit sa pag-access sa mga data kung saan ito ay makatwiran (ang data ay lihim o pinakamahalaga para sa pagpapanatili ng integridad ng system). Pakitandaan na ang pagtatakda ng mga paghihigpit sa pag-access ay maaaring makapagpabagal sa anumang pag-access sa data na ito. Ang sobrang kumplikadong mga paghihigpit ay maaari ding humantong sa mga pagbagal.
● Kung kinakailangan upang matiyak na ang isang partikular na limitadong bilang ng mga operasyon sa data ay isinasagawa ng isang user kung saan hindi praktikal na bigyan ng ganap na access ang data na ito, ilipat ang mga pagkilos na ito sa mga privileged na module o tahasang paganahin at huwag paganahin ang privileged mode sa naaangkop na mga lugar sa code ng programa.
● Data access para sa iba't ibang pagsusuri na ginagawa ng system kapag ang pagsusulat ng mga bagay ay ginagawa sa privileged mode.

Nagbibigay-daan ito sa iyong hindi paganahin ang mga paghihigpit sa pahintulot sa antas ng record para sa kaukulang mga field kung gumagana ang configuration sa data na ito
binalak lamang sa kinokontrol na mode:

● para sa mga direktoryo kapag sinusuri ang magulang, may-ari at pagiging natatangi ng code;
● para sa mga dokumento, proseso ng negosyo at mga gawain kapag sinusuri ang pagiging natatangi ng numero;
● hindi pinagana para sa mga exchange plan kapag sinusuri ang pagiging natatangi ng code;
● para sa mga chart ng mga account at mga chart ng mga uri ng katangian kapag sinusuri ang magulang at ang pagiging natatangi ng code.

Mayroong ilang mga limitasyon at pagsasaalang-alang na dapat tandaan kapag gumagawa ng query sa hadlang sa data:

● Kung ang mga paghihigpit sa pag-access ng data ay tinukoy para sa isang talahanayan ng bagay at ang isang pagsali sa naturang talahanayan ay ginagamit sa query ng data, kung gayon sa kondisyon ng koneksyon (seksyon ng paghiling ng software) ang paggamit ng tabular na bahagi ng bagay na may tinukoy na paghihigpit sa pag-access ay hindi pinapayagan.
● Kung ang isang query ay tumutukoy sa isang talahanayan kung saan walang mga field na ginagamit sa query, ang lahat ng mga paghihigpit sa pag-access ng data ay ipapataw sa talahanayang ito. Halimbawa, humiling PUMILI NG DAMI(*) MULA SA Directory.Counterparties ay isasagawa nang isinasaalang-alang ang lahat ng mga paghihigpit sa pag-access na tinukoy para sa direktoryo ng Pagsubok. Ang mga paghihigpit ay ipinapataw "ng OR". Nangangahulugan ito na ang lahat ng mga talaan na magagamit sa ilalim ng hindi bababa sa isang kundisyon ay magiging available. Kung ang mga kundisyon ay hindi tinukoy para sa ilang mga patlang, ang query ay isasagawa para sa lahat ng mga tala sa talahanayan.
Kung ang query ay gumagamit ng isang top-level na talahanayan, ang mga paghihigpit na tinukoy para sa mga column ng mga nested na talahanayan ay hindi ipapataw.
Kung gumagamit ng nested table ang isang query, nalalapat ang mga paghihigpit sa parehong nested table at sa top-level na talahanayan.
Halimbawa, humiling PUMILI NG DAMI(*) MULA SA Directory.Counterparties.Agreements ay isasagawa na isinasaalang-alang ang lahat ng mga paghihigpit para sa direktoryo ng Counterparties, pati na rin ang pagsasaalang-alang sa mga paghihigpit na nauugnay sa tabular na bahagi ng Kasunduan.

● Kung ang pag-access sa mga field na kinakailangan upang makakuha ng representasyon ng reference na metadata object ay tinanggihan ng mga paghihigpit sa pag-access
ang data o pag-access sa bagay ay tinanggihan sa antas ng mga karapatan sa pag-access, pagkatapos ang pagkuha ng representasyon ng naturang bagay ay hindi makakaapekto sa pag-usad ng kasalukuyang transaksyon.

Tagabuo ng Paghihigpit sa Pag-access sa Data

Upang tawagan ang tagabuo sa field ng talahanayan ng Mga Paghihigpit sa Data Access sa column na Mga Paghihigpit sa Pag-access, kailangan mong pumunta sa mode ng pag-edit at
I-click ang button na piliin, at sa form na bubukas, i-click ang Query Builder… na button.
Ang form ng constructor ay ipinapakita sa screen:


kanin. 3. tab na "Tables at field" ng taga-disenyo ng hadlang

Sa tulong nito, nilikha ang mga kundisyon para sa pagtatakda ng mga paghihigpit sa pag-access ng data.
Sa tab na Mga Talahanayan at mga patlang, piliin ang mga kinakailangang bagay sa listahan ng Database at ilipat ang mga ito sa listahan ng Mga Talahanayan. Kung ilang mga talahanayan ang tinukoy, ang tab na Mga Link ay idaragdag sa form ng taga-disenyo.


kanin. 4. tab na "Mga Link" ng taga-disenyo ng hadlang

Sa tab na Mga Link, nabuo ang mga kundisyon na ipinapataw sa mga link sa pagitan ng mga field ng talahanayan. Upang magpasok ng bagong kundisyon, i-click ang Add button at pumili ng isa sa mga talahanayan sa column na Table1. Sa column na Table2, piliin ang talahanayan na ang mga field ay nauugnay sa mga field ng una. Sa ibaba ng listahan ng mga kundisyon ay may mga kontrol na maaaring magamit upang lumikha ng kundisyon para sa pag-link ng mga talahanayan.
Kung napili ang isang simpleng uri ng kundisyon, pagkatapos ay sa Field1 at Field2 ang mga kaugnay na field ng tinukoy na mga talahanayan ay pipiliin at ang kundisyon ng paghahambing ay itinakda. Kung ang mga patlang ay pinili na hindi inihambing, pagkatapos ay sa linya ng listahan ng mga kundisyon sa hanay ng Kondisyon ng Link ang teksto ay ipinapakita: Maling napunan ang kundisyon.
Sa tab na Mga Kundisyon, kung kinakailangan, kailangan mong tukuyin ang mga kundisyon kung saan pipiliin ang source data.


kanin. 5. tab na "Mga Kundisyon" ng taga-disenyo ng hadlang

Para sa bawat napiling field, dapat mong piliin ang uri ng kundisyon at tukuyin ang pangalan ng parameter. Maaaring gamitin ang parameter ng session bilang isang parameter. Pinapayagan ang maraming kundisyon. Sa kasong ito, sa column na Kondisyon ng field ng talahanayan ng kundisyon, ang teksto ng kundisyon ay ipinapakita sa ilang linya.
Sa anumang oras sa panahon ng paglikha ng isang kahilingan, ang teksto ng kahilingan ay maaaring matingnan sa pamamagitan ng pag-click sa pindutan ng Kahilingan.

Batch na pag-edit ng mga paghihigpit sa pahintulot at mga template

Ang mode para sa pangkat na pag-edit ng mga paghihigpit sa mga karapatan sa pag-access at mga template ay tinatawag ng All access restrictions command ng menu ng konteksto ng sangay ng Mga Tungkulin. Ang form na bubukas ay naglalaman ng dalawang tab: Mga paghihigpit sa pag-access at mga template ng Paghihigpit.


kanin. 6 Lahat ng mga paghihigpit sa pahintulot at mga template

Sa bookmark Mga paghihigpit sa pag-access Maaari mong tingnan ang lahat ng ipinasok na mga paghihigpit sa pag-access sa isang pangkalahatang listahan (para sa lahat ng mga tungkulin, mga bagay, mga karapatan, mga kumbinasyon ng field).
Posibleng magdagdag ng mga paghihigpit sa pag-access para sa ilang mga tungkulin, bagay, karapatan at kumbinasyon ng mga tungkulin nang sabay-sabay.
Maaari mong i-filter ang listahan ayon sa iba't ibang pamantayan.


kanin. 7. Pagpili ng mga paghihigpit sa pag-access

Binibigyang-daan ka ng mode ng pag-edit ng grupo na tanggalin ang mga paghihigpit na napili sa listahan.
Posibleng i-edit ang mga napiling paghihigpit. Sa kasong ito, maaari mong baguhin ang komposisyon ng mga field at/o mga paghihigpit sa pag-access.
Ang mode ng pag-edit ng grupo ay nagpapahintulot din sa iyo na kopyahin ang mga napiling paghihigpit sa iba pang mga tungkulin.

Sa bookmark Mga Constraint na Template makikita mo ang lahat ng mga template ng paghihigpit sa pag-access na naroroon sa solusyon ng application, habang mula sa mismong teksto ng template, ang unang 10 linya lamang ang ipinapakita sa talahanayan, na nagtatapos sa simbolo na "..." kung ang teksto ng template ay higit sa 10 mga linya. Ipapakita ng window sa pag-edit ng template ang buong text ng template.


Fig 8. Lahat ng mga template ng paghihigpit sa pag-access

Posibleng magdagdag ng template ng paghihigpit sa pag-access para sa ilang mga tungkulin nang sabay-sabay.

Ang object ng pagsasaayos ng "role" ay nagbibigay ng isang hanay ng mga karapatan sa mga operasyon (mga aksyon) sa mga bagay sa pagsasaayos.

Tungkulin na "Buong Karapatan".

Ito ay isang tungkulin lamang (hindi paunang natukoy) kung saan ang lahat ng uri ng mga karapatan sa lahat ng mga bagay sa pagsasaayos ay sinusuri.

Ang pinagkaiba nito sa ibang mga tungkulin ay ang pagkakaroon ng karapatan sa "Pamamahala".

Kung hindi bababa sa isang user ang ginawa, magsisimulang suriin ng system ang pagkakaroon ng karapatan sa "Pamamahala" - kahit isang user ay dapat magkaroon nito.

Mga paghihigpit sa pag-access sa antas ng record

Row Level Security (RLS) – paghihigpit sa antas ng record.

Ang mekanismo ng mga paghihigpit sa pag-access ng data ay nagbibigay-daan sa iyo na pamahalaan ang mga karapatan sa pag-access hindi lamang sa antas ng mga bagay na metadata, kundi pati na rin sa antas ng mga bagay sa database. Ang mga sumusunod na bagay ay maaaring gamitin upang paghigpitan ang pag-access sa data:

  • mga tungkulin,
  • mga parameter ng session,
  • mga opsyon sa paggana,
  • privileged shared modules,
  • PINAHAYAG ang keyword sa wika ng query.

Ang mekanismo ay idinisenyo upang paghigpitan ang pag-access sa mga talaan ng talahanayan ng object ng metadata batay sa mga arbitrary na kundisyon na ipinataw sa mga halaga ng mga row field ng mga talahanayang ito. Halimbawa, para makakita lang ng mga tala para sa "iyong" mga katapat, organisasyon, atbp.

Teknikal na pagpapatupad ng mga paghihigpit sa pag-access sa 1C

Ang 1C ay bumubuo ng isang kahilingan sa DBMS. Ang cluster ng server ay nagdaragdag ng isang seksyon na WHERE sa kahilingan, na naglalaman ng teksto ng kundisyon para sa paghihigpit sa pag-access sa pamamagitan ng RLS, pagkatapos ay ipinadala ang kahilingang ito sa DBMS, ang nakuhang data ay ibinalik sa 1C client.


Ang mekanismong ito ay gagana para sa anumang kahilingan mula sa kliyente:

  • sa mga ulat,
  • sa mga dynamic na listahan at sa mga regular na form ng listahan
  • sa mga custom na query.

Ang ganitong pagpapatupad ng mekanismo ay lubos na nakakaapekto sa pagganap.

Mga paraan upang i-bypass ang mga paghihigpit sa pag-access.

Sa malalaking resource-intensive na operasyon (pagproseso ng pag-repost ng dokumento, halimbawa), ang bahagi ng code ay maaaring ilipat sa mga privileged module.

A) Privileged module ay isang karaniwang module na may flag na "Privileged" sa mga property.

Ang kakaiba nito ay ang code sa loob nito ay naisakatuparan nang walang anumang kontrol sa mga karapatan sa pag-access, kabilang ang RLS.


B) Gayundin may pribilehiyo maaaring i-on ang mode para sa mga module ng object ng dokumento. Ginagawa ito sa mga katangian ng dokumento, bandila

  • Privileged treatment kapag nagsasagawa
  • Privileged mode kapag nagkansela ng transaksyon


B) Paraan SetPrivilegedMode()

Binibigyang-daan ka ng utos ng system na maging bahagi ng code ng anumang module na may pribilehiyo.

Mula sa susunod na linya ng code, gagana ang privileged execution mode.

Ito ay gagana hanggang sa linya upang huwag paganahin ang mode na ito o hanggang sa katapusan ng pamamaraan / function

(Totoo);

// anumang code dito ay isasagawa nang walang kontrol sa mga karapatan at RLS

SetPrivilegedMode(Kasinungalingan); // o pagtatapos ng procedure / function

Ang dami ng beses na pinagana ang privileged mode ay dapat tumugma sa dami ng beses na hindi pinagana. Gayunpaman, kung sa loob ng isang procedure o function ay na-on ang privileged mode (isang beses o higit pa), ngunit hindi na-off, awtomatikong magsa-shutdown ang system nang maraming beses na may hindi kumpletong pag-on sa procedure o function na natitira.

Kung sa isang procedure o function ay tumatawag ng method SetPrivilegedMode(Mali) gumawa ng higit sa mga method call SetPrivilegedMode(Totoo ), pagkatapos ay itatapon ang isang pagbubukod

Function PrivilegedMode() ay nagbabalik ng True kung ang privileged mode ay pinagana pa rin, at False kung ito ay ganap na hindi pinagana. Hindi nito sinusuri ang bilang ng mga setting ng privileged mode sa isang partikular na function.

Ang lahat ng tinatawag na procedure at function ay isasagawa din sa privileged mode.


Posible rin na magsimula ng isang privileged session. Ito ay isang session kung saan ang privileged mode ay itinatag mula pa sa simula ng system. Bukod dito, sa panahon ng operasyon ang pamamaraan PrivilegedMode() ay palaging magbabalik ng True, at ang kakayahang i-disable ang privileged mode ay hindi suportado. Tanging isang user na may mga karapatang pang-administratibo (Karapatang pang-administrasyon) ang makakapagsimula ng isang privileged session. Ang session ay maaaring simulan gamit ang client application launch command line switch UsePrivilegedMode o ang infobase connection string parameter prmod .


Ang tanong ay natural na lumitaw: Bakit pagkatapos ay mag-set up ng mga paghihigpit sa pag-access kung ito ay napakadaling ma-bypass?

Safe mode.

Oo, maaari kang magsulat ng panlabas na pagpoproseso gamit ang isang privileged execution mode at i-unload/corrupt ang data. Upang maiwasan ito, ang system ay may pandaigdigang paraan ng konteksto

SetSafeMode().

Safe mode, bukod sa iba pang mga bagay, binabalewala ang privileged mode.

Dapat itong mai-install bago ang programmatically na pagtawag sa mga external na processor o pag-export ng mga pamamaraan at function mula sa kanilang mga module.

Kapag nagsasagawa ng mga ipinagbabawal na operasyon, ang isang pagbubukod ay itinapon sa runtime.

Bilang karagdagan, sa antas ng mga setting ng tungkulin, maaari mong i-disable ang kakayahan ng mga user na interactive na maglunsad ng mga panlabas na ulat at pagproseso.

Pagse-set up ng mga paghihigpit sa pag-access

Ang RLS ay maaari lamang i-configure para sa mga karapatan:

  • basahin (piliin)
  • pagdaragdag (insert)
  • baguhin (update)
  • tanggalin

Para sa mga operasyon sa pagbasa at pagtanggal, ang isang bagay na naninirahan sa database ay dapat sumunod sa mga paghihigpit sa pag-access ng data.

Para sa add operation Ang paghihigpit sa pag-access ng data ay dapat na tumutugma sa bagay na binalak na isulat sa database.

Para sa pagpapatakbo ng pagbabago ang paghihigpit sa pag-access ng data ay dapat sumunod sa bagay bago ang pagbabago (upang mabasa ang bagay) at pagkatapos ng pagbabago (upang maisulat ang bagay).

Para sa lahat ng iba pang mga karapatan, walang ganoong opsyon.

Magdagdag tayo ng bagong restriction para sa “read” right ng “Nomenclature” directory. Magbubukas ang isang listahan ng mga field kung saan maaari mong i-configure ang idinagdag na paghihigpit.

Nangangahulugan ito na kung susubukan mong i-access ang mga naka-check na field, ma-trigger ang constraint, ngunit kung susubukan mong i-access ang mga hindi naka-check na field, hindi magti-trigger ang constraint.

Kung pipiliin mo ang bandila " Iba pang mga patlang", ang paghihigpit ay iko-configure para sa lahat ng mga patlang ng talahanayan, maliban sa mga patlang kung saan ang mga paghihigpit ay tahasang itinakda.


*Tampok: para sa mga karapatang magdagdag, magbago, magtanggal:

  • Ang paghihigpit ay maaari lamang i-configure para sa lahat ng mga field.
  • Maaari lamang magkaroon ng isang paghihigpit.

Para sa kanan na "Basahin", maaari mong i-configure ang ilang mga kundisyon;

Hindi lahat ng mga field ng pangunahing object ng data ng hadlang ay maaaring gamitin sa mga paghihigpit sa mga sumusunod na uri ng mga object ng database:

  • sa mga rehistro ng akumulasyon, ang mga paghihigpit sa pag-access ay maaari lamang maglaman ng mga sukat ng pangunahing bagay ng paghihigpit;
  • sa mga rehistro ng accounting, ang mga paghihigpit ay maaari lamang gumamit ng mga sukat ng balanse ng pangunahing bagay ng paghihigpit

Kung, sa ilalim ng mga kondisyon ng limitadong pag-access sa data ng nagpapalipat-lipat na rehistro ng akumulasyon, ang mga sukat na hindi kasama sa mga kabuuan ay ginagamit, kung gayon kapag nag-access sa virtual na talahanayan ng mga rebolusyon, ang mga nakaimbak na kabuuan ay hindi ginagamit at ang kahilingan ay ganap na isinasagawa ayon sa ang talahanayan ng paggalaw.

Mekanismo para sa pagpapataw ng mga paghihigpit sa pag-access.

Anumang operasyon sa data na nakaimbak sa isang database sa 1C:Enterprise sa huli ay humahantong sa isang tawag sa database na may ilang kahilingan na basahin o baguhin ang data. Sa proseso ng pagsasagawa ng mga query sa database, ang mga panloob na mekanismo ng 1C:Enterprise ay nagpapataw ng mga paghihigpit sa pag-access. Sa kasong ito:

  • Ang isang listahan ng mga karapatan ay nabuo(basahin, idagdag, baguhin, tanggalin), isang listahan ng mga talahanayan ng database, at isang listahan ng mga field na ginagamit ng query na ito.
  • Mula sa lahat ng tungkulin ng kasalukuyang user pinipili ang mga paghihigpit sa pag-access sa data para sa lahat ng karapatan, mga talahanayan at mga field na kasangkot sa kahilingan. Bukod dito, kung ang isang tungkulin ay hindi naglalaman ng mga paghihigpit sa pag-access sa data ng isang talahanayan o field, nangangahulugan ito na ang mga halaga ng mga kinakailangang field mula sa anumang talaan ay magagamit sa talahanayang ito. Sa madaling salita, ang kawalan ng paghihigpit sa pag-access sa data ay nangangahulugan ng pagkakaroon ng paghihigpit SAAN ANG TOTOO.
  • Kinukuha ang kasalukuyang mga halaga ng lahat ng mga parameter ng session at mga opsyon sa paggana nakikilahok sa mga napiling paghihigpit.

Upang makuha ang halaga ng isang parameter ng session o opsyon sa tampok, ang kasalukuyang user ay hindi kailangang magkaroon ng pahintulot upang makuha ang halagang iyon. Gayunpaman, kung ang halaga ng ilang parameter ng session ay hindi naitakda, isang error ang magaganap at ang query sa database ay hindi isasagawa.

Ang mga hadlang na nagmula sa isang tungkulin ay pinagsama gamit ang AND operation.

Ang mga hadlang na nagmula sa iba't ibang tungkulin ay pinagsama gamit ang OR na operasyon.

Ang mga itinayong kundisyon ay idinagdag sa mga query sa SQL kung saan ina-access ng 1C: Enterprise ang DBMS. Kapag nag-a-access ng data mula sa mga kundisyon ng paghihigpit sa pag-access, hindi isinasagawa ang pagsusuri ng mga karapatan (hindi para sa mga metadata object o para sa mga object ng database). Bukod dito, ang mekanismo para sa pagdaragdag ng mga kondisyon ay nakasalalay sa napiling paraan ng pagpapatakbo ng mga paghihigpit "lahat" o "pinapayagan".


*Tampok: Kung ang isang user ay may access sa ilang mga tungkulin na may naka-configure na mga paghihigpit sa antas ng talaan para sa isang bagay, kung gayon sa kasong ito ang mga kundisyon ng mga paghihigpit ay idinagdag gamit ang lohikal na operasyong "OR". Sa madaling salita, pinagsama-sama ang mga kapangyarihan ng gumagamit.

Ito ay humahantong sa sumusunod na konklusyon: huwag payagan ang mga kundisyon para sa paghihigpit sa pag-access sa isang bagay sa iba't ibang mga tungkulin na magsalubong, dahil sa kasong ito ang teksto ng kahilingan ay magiging lubhang kumplikado at ito ay makakaapekto sa pagganap.

"Lahat" na pamamaraan.

Kapag nagpapataw ng mga paghihigpit gamit ang "lahat" na paraan, ang mga kundisyon at mga field ay idinaragdag sa mga query sa SQL upang ang 1C:Enterprise ay makakuha ng impormasyon tungkol sa kung, sa panahon ng pagpapatupad ng isang query sa database, ang data na ipinagbabawal para sa isang partikular na user ay ginamit o hindi. Kung ginamit ang ipinagbabawal na data, mag-crash ang kahilingan dahil sa isang paglabag sa pag-access.

Ang pagpapataw ng mga paghihigpit sa pag-access gamit ang "lahat" na pamamaraan ay ipinakita sa eskematiko sa figure:


"Pinapayagan" na paraan.

Kapag nag-aaplay ng mga paghihigpit gamit ang "pinapayagan" na paraan, ang mga kundisyon ay idinaragdag sa mga query sa SQL upang ang mga talaan na ipinagbabawal para sa kasalukuyang user ay hindi makakaapekto sa resulta ng query. Sa madaling salita, kapag ang mga paghihigpit ay ipinataw sa "pinapayagan" na mode, ang mga rekord na ipinagbabawal para sa isang partikular na user ay itinuturing na nawawala at hindi nakakaapekto sa resulta ng operasyon, na schematically na ipinakita sa figure:


Ang mga paghihigpit sa pag-access ng data ay ipinapataw sa mga object ng database sa oras na ina-access ng 1C:Enterprise ang database.

Sa bersyon ng client-server ng 1C:Enterprise, inilalapat ang mga paghihigpit sa 1C:Enterprise server.

Gayunpaman, hindi gagana ang opsyong ito (PINAGPAHAYAG) kung sa isang query ay sumangguni kami sa isang talahanayan kung saan hindi naka-configure ang mga paghihigpit sa pag-access, ngunit naglalaman ng mga sanggunian sa mga hilera ng talahanayan na may mga naka-configure na paghihigpit. Sa kasong ito, ang resulta ng query ay magpapakita ng "<Объект не найден>......" sa halip na ang halaga ng patlang ng sanggunian.


Kung bubuo ka ng ulat o pagpoproseso gamit ang karaniwan o custom na mga query sa configuration, laging lagyan ng tsek ang flag na "Pinapayagan". para gumana ang ulat sa ilalim ng sinumang gumagamit na may anumang hanay ng mga karapatan.

Sa kaso ng object reading ng data mula sa database, hindi posibleng itakda ang flag na "Pinapayagan". Samakatuwid ito ay kinakailangan i-configure ang mga seleksyon para sa pagbabasa ng bagay, na isinasaalang-alang ang mga posibleng paghihigpit sa mga karapatan sa pag-access para sa gumagamit. Walang mga paraan ng pagkuha lamang ng pinahihintulutang data sa object technology.

Mahalaga na kung ang isang query ay hindi tumukoy ng PINAHAYAG na keyword, ang lahat ng mga piniling tinukoy sa query na iyon ay hindi dapat sumalungat sa alinman sa mga read restrictions sa mga object ng database na ginamit sa query. Bukod dito, kung ang query ay gumagamit ng mga virtual na talahanayan, kung gayon ang kaukulang mga seleksyon ay dapat ilapat sa mga virtual na talahanayan mismo.

Pagsasanay 1. Tagabuo ng query sa mga setting ng RLS.

Buuin natin ang teksto ng seksyong "WHERE" sa query sa direktoryo. Maaari mong gamitin ang tagabuo ng query.
Ang taga-disenyo ay may hubad na hitsura.


Tab na "Mga Talahanayan".

Ang pangunahing talahanayan ay ang talahanayan ng bagay kung saan kino-configure ang pagpilit.

Maaari ka ring pumili ng iba pang mga talahanayan at mag-set up ng iba't ibang mga koneksyon sa pagitan ng mga ito sa tab na "Mga Relasyon".

Tab na "Mga Kundisyon"

Dito maaari mong i-configure ang aktwal na mga kondisyon ng paghihigpit sa pag-access

Magdagdag tayo ng mga kundisyon sa attribute na "Price" ng nomenclature directory para sa karapatang "magbasa" sa lahat ng field ng table.

“Nomenclature WHERE Nomenclature. Presyo > 500”

Tingnan natin kung paano gumagana ang simpleng panuntunang ito. Ang talahanayan ng direktoryo ay naglalaman ng mga sumusunod na elemento:


Pagkatapos mag-set up ng paghihigpit sa pag-access, ang talahanayan ay magpapakita lamang ng mga elemento na nakakatugon sa kundisyon:


Nawala din ang mga grupo. Baguhin natin ang teksto ng paghihigpit

“Nomenclature WHERE Nomenclature.Price > 500

O Nomenclature.Ito ay isang Grupo"

Well, ngayon iyan ang kailangan mo.


Kung aalisin mo ang pagpapakita ng field ng "code" sa mga setting ng listahan, ang lahat ng mga elemento ng direktoryo ay ipapakita, i.e. hindi gumana ang paghihigpit. Kung itinakda mo ang field na "Code" upang ipakita, gagana ang paghihigpit.


Sa kasong ito, sa kabila ng katotohanan na ang elemento ng direktoryo ay nakikita sa field ng listahan, hindi mabubuksan ang form nito dahil naka-configure ang isang paghihigpit sa katangian. Ang parehong bagay ay nangyayari sa isang di-makatwirang kahilingan: kapag sinubukan mong makakuha ng "restricted" property, magkakaroon ng error sa pag-access.


Kung susubukan mong kunin ang "restricted" na mga kredensyal sa programmatically, magkakaroon din ng error sa pag-access.


Bukod dito, hindi posible na ma-access ang anumang mga patlang ng isang bagay sa pamamagitan ng isang link, dahil kapag tumatanggap ng isang link, binabasa ng system ang buong bagay, at kung naglalaman ito ng mga "restricted" na mga detalye, ang bagay ay hindi mababasa.

Samakatuwid, kapag gumagawa ng programmatically sa mga object ng database, kailangan mong tandaan ang mga posibleng paghihigpit sa antas ng record at makuha ang lahat ng kinakailangang object data sa pamamagitan ng kahilingan at pagkatapos ay ilagay ang mga ito sa isang istraktura o isagawa ang bahagi ng code sa isang privileged module.

Matapos i-set up ang paghihigpit sa pag-access, nagbago ang pagpapakita ng linya sa listahan ng mga karapatan - naging kulay abo ito at lumitaw ang isang icon.

Mga paghihigpit kapag nagse-set up ng access (RLS).

  • Walang seksyon ng Buod;
  • Hindi ma-access ang mga virtual register table;
  • Hindi ka maaaring gumamit ng mga parameter nang tahasan;
  • Maaaring gamitin sa mga nested na query any>/span> query language tool maliban sa:
    • operator SA HIERARCY;
    • RESULTA mga panukala;
    • mga resulta ng nested query hindi dapat maglaman ng mga bahagi ng talahanayan>/span>;
    • mga virtual na talahanayan, sa partikular na Balanse at Turnovers

Pagsasanay 2. Nomenclature na may kasalukuyang presyo.

Gumawa ng paghihigpit sa pag-access kung kailangan mong magpakita ng mga item na may kasalukuyang presyo na mas mataas kaysa sa isang partikular na halaga, halimbawa, 100.

Solusyon:

Nagdaragdag kami ng bagong panuntunan sa paghihigpit sa pag-access para sa direktoryo ng "Nomenclature" na may karapatan na "basahin".
Piliin ang "iba pang mga patlang".
Sa constructor nagdaragdag kami ng nested query. Sa loob nito, piliin ang talahanayan ng pagpaparehistro ng impormasyon na "Mga presyo ng item".
Walang tab na "order" - ito ay isang tampok ng taga-disenyo ng query para sa pagbuo ng kahilingan sa paghihigpit sa pag-access.
Sa tab na "Advanced", itakda ang "unang 999999999", lalabas ang tab na "order".
Nag-set up kami ng pag-order ayon sa field na "Panahon" sa pababang pagkakasunud-sunod.
Pagkatapos ay nag-set up kami ng koneksyon sa pagitan ng pangunahing talahanayan at ang subquery sa pamamagitan ng sanggunian.


I-access ang Mga Template ng Paghihigpit.

Pagsasanay 3. Paghihigpit sa "mga counterparty" ayon sa halaga sa isang pare-pareho.

Mag-set up tayo ng paghihigpit sa pag-access para sa direktoryo ng Counterparties batay sa halagang nakaimbak sa Constant.

Bilang karagdagan, kailangan mong mag-set up ng isang paghihigpit para sa lahat ng mga bagay na gumagamit ng direktoryo ng "Mga Counterparty" sa mga detalye.

Solusyon

Para sa direktoryo ng "Mga Counterparties," magse-set up kami ng paghihigpit para sa karapatan na "basahin" sa pamamagitan ng pagdaragdag ng nested query sa constant sa seksyong "Mga Kundisyon." Huwag kalimutan Ito ay isang Grupo.

Nakikita namin ang isang problema, ang direktoryo ng Counterparties ay na-filter nang tama, at ang lahat ng mga dokumento na may katangiang "Counterparty" ay ipinapakita, ang ilan ay may "nasira" na mga link sa katangiang "Counterparty".

Ngayon ay kailangan mong i-configure ang mga paghihigpit sa pag-access para sa lahat ng mga bagay na gumagamit ng link sa "Mga Account". Hanapin natin sila gamit ang serbisyong "paghahanap ng mga link sa isang bagay".

Kopyahin natin at bahagyang baguhin ang teksto ng kundisyon ng RLS mula sa direktoryo ng "Counterparties". Dapat itong gawin nang maraming beses hangga't may mga bagay na natagpuan.

O gumamit ng pattern ng mga paghihigpit sa pag-access upang maiwasan ang mga isyu sa pagdoble ng code.

Ang mga template ng paghihigpit sa pag-access ay naka-configure sa antas ng tungkulin at maaaring gamitin para sa anumang bagay sa loob ng na-edit na tungkulin.

Maaari kang magdagdag ng anumang piraso ng teksto ng paghihigpit sa pag-access sa template. Ang template ay tinatawag gamit ang "#" na simbolo. Halimbawa, #TemplateCounterparty.

Sa pamamagitan ng # sa 1C na mga tagubilin ay nakasulat sa preprocessor. Sa konteksto ng pagsasagawa ng mga setting ng paghihigpit sa pag-access, pinapalitan ng platform ang text call ng template ng template na text.

Idagdag natin ang text pagkatapos ng salitang WHERE sa template na "Contractor Template", maliban sa text tungkol sa EtoGroup.

Mga parameter sa mga template ng paghihigpit sa pag-access.

Ipagpatuloy natin ang paglutas ng problema 2.

Ang problema ngayon ay ang pangunahing talahanayan sa direktoryo ay tinatawag na "counterparty", sa dokumentong "Receipt invoice". Ang field na sinusuri sa direktoryo ay tinatawag na "link", sa dokumento na ito ay tinatawag na "Counterparty".

Baguhin natin ang pangalan ng pangunahing talahanayan sa teksto ng template sa "#CurrentTable"

Ang "#CurrentTable" ay isang paunang natukoy na parameter.

At sa pamamagitan ng isang tuldok ipinapahiwatig namin ang bilang ng parameter ng input - ".#Parameter(1)

Ang "#Parameter" ay isa ring paunang natukoy na halaga. Maaaring maglaman ng arbitrary na bilang ng mga parameter ng input. Ang mga ito ay tinutugunan ng serial number.

Sa teksto ng mga paghihigpit sa pag-access para sa direktoryo, ipinapahiwatig namin ang sumusunod:

Para sa dokumento ang sumusunod:

“Mga Benta ng Mga Kalakal WHERE #TemplateCounterparty (“Counterparty”)”

Kapag tumatawag sa isang template ng paghihigpit sa pag-access, ang mga parameter ay dapat na maipasa lamang dito bilang isang String, ibig sabihin, sa mga panipi.

Pangunahing talahanayan - Nomenclature

Ang teksto ng template ay:

#CurrentTable WHERE #CurrentTable.#Parameter(1) = #Parameter(2)

Ang template na text ay naglalaman ng bahagi ng text sa data access restriction language at maaaring naglalaman ng mga parameter na naka-highlight gamit ang "#" na simbolo.

Ang simbolo na "#" ay maaaring sundan ng:

  • Isa sa mga keyword:
    • Isang parameter na sinusundan ng bilang ng parameter sa template sa mga panaklong;
    • CurrentTable – nagpapahiwatig ng pagpapasok sa teksto ng buong pangalan ng talahanayan kung saan itinatayo ang hadlang;
    • CurrentTableName– nagsasaad ng pagpapasok sa teksto ng buong pangalan ng talahanayan (bilang isang halaga ng string, sa mga panipi) kung saan inilalapat ang pagtuturo, sa kasalukuyang bersyon ng built-in na wika;
    • NameCurrentAccessRight– naglalaman ng pangalan ng karapatan kung saan ang kasalukuyang paghihigpit ay isinasagawa: BASAHIN, ADD, INSERT, PALITAN, I-UPDATE, I-DELETE;
  • pangalan ng parameter ng template - nangangahulugan ng pagpasok ng kaukulang parameter na hadlang sa template sa teksto;
  • simbolong “#” – nagpapahiwatig ng pagpasok ng isang karakter na “#” sa teksto.

Maaaring naglalaman ang isang expression ng paghihigpit sa pag-access:

  • I-access ang template ng paghihigpit, na tinukoy sa format #TemplateName("Template parameter value 1", "Template parameter value 2",...). Ang bawat parameter ng template ay nakapaloob sa double quotes. Kung kailangan mong tumukoy ng double quote character sa parameter text, dapat kang gumamit ng dalawang double quote.
  • Function StrContains(WhereWeLook, WhatWeLook). Ang function ay idinisenyo upang maghanap para sa isang pangyayari ng WhatWeLook string sa WhereWeLook string. Nagbabalik ng Tama kung ang pangyayari ay natagpuan at Mali kung hindi.
  • Ang + operator ay para sa string concatenation.

Upang gawing mas madaling i-edit ang text ng template, sa tab na Mga template ng paghihigpit sa form ng tungkulin, i-click ang button na Itakda ang text ng template. Sa dialog na bubukas, ilagay ang template na text at i-click ang OK.

Hindi sila mai-install gamit ang SetParameter() o isang bagay na katulad.

Ang mga parameter sa kasong ito ay:

  • Mga Pagpipilian sa Sesyon
  • Mga opsyon sa pag-andar

Ang pagbabasa ng mga parameter ng session sa isang kahilingan sa paghihigpit sa pag-access ay nangyayari sa privileged mode, iyon ay, nang hindi kinokontrol ang mga karapatang gumana sa kanila.

Pagsasanay 4. Pag-access sa "iyong" mga katapat

Kinakailangang i-configure ang paghihigpit ng kasalukuyang pag-access ng user sa "kanilang" mga katapat.

Mayroong isang direktoryo na "Mga Gumagamit", isang direktoryo na "Mga Counterparty", mga dokumento na may mga detalyeng "Counterparty".

Ang kasalukuyang user ay dapat makakita lamang ng data para sa mga katapat na partido kung saan ang isang koneksyon ay naitatag sa kanya.

Kailangan ding i-configure ang komunikasyon.

Mga posibleng opsyon:

Pagtatatag ng mga koneksyon sa pagitan ng user at katapat

  • Mga detalye sa direktoryo ng mga katapat
  • Magrehistro ng impormasyon

Mga posibleng solusyon sa problema:

  • Ang pag-iimbak ng isang user sa isang pare-pareho ay isang masamang opsyon na ang pare-pareho ay magagamit sa lahat ng mga gumagamit.
  • Ang pag-imbak ng isang nakapirming hanay ng mga katapat ng kasalukuyang gumagamit sa mga parameter ng session ay hindi isang napakahusay na opsyon;
  • Ang pag-imbak sa mga parameter ng session ng kasalukuyang user, pagkatapos ay ang paghiling ng listahan ng "kanyang" mga katapat ay isang katanggap-tanggap na opsyon.
  • Iba pang mga pagpipilian.

Solusyon.

Gumawa tayo ng bagong parameter ng session na "CurrentUser" at punan ito sa module ng session.

Gumawa tayo ng rehistro ng impormasyon "Pagsunod ng mga tagapamahala at kontratista"

Gumawa tayo ng bagong tungkulin at sa loob nito ay isang bagong paghihigpit sa pag-access para sa dokumentong “Invoice”.

Sa teksto ng kahilingan, ikokonekta namin ang pangunahing talahanayan sa rehistro ng impormasyon para sa Account = Account at Manager = &CurrentUser. Uri ng koneksyon Panloob.

Kung maaari, mas mainam na iwasan ang mga nested na query sa mga text restriction sa pag-access, dahil isasagawa ito sa tuwing babasahin ang data mula sa object na ito mula sa database.

Pagsusuri - gumagana ang mga paghihigpit

*Tampok: Kung babaguhin mo ang listahan ng mga katapat ng user sa rehistro, agad na magkakabisa ang mga paghihigpit sa pag-access nang hindi na-restart ang session ng user.

Pagsasanay 5. Petsa ng pagbabawal ng mga pagbabago.

Kinakailangang magpatupad ng paghihigpit sa pag-edit ng data bago ang itinatag na petsa para sa pagbabawal ng mga pagbabago.
Kailangan mong limitahan ito para sa mga gumagamit.

Gumawa tayo ng isang rehistro ng impormasyon na "Mga Petsa ng Pagbabawal ng Mga Pagbabago" na may dimensyon ng User, mapagkukunang Petsa ng Pagbabawal.

Buuin natin ang lohika ng solusyon sa ganitong paraan:

  • kung hindi tinukoy ang isang user, nalalapat ang pagbabawal sa lahat ng user
  • kung mayroong paghihigpit para sa lahat ng mga user at isang paghihigpit para sa isang partikular na user, ang paghihigpit ay nalalapat para sa isang partikular na user, at para sa iba ayon sa pangkalahatang prinsipyo.

Malinaw, ang naturang hadlang ay maaaring i-configure para sa mga object ng database na may ilang posisyon sa axis ng oras. Maaaring ito ay

  • Mga dokumento
  • Mga rehistro ng pana-panahong impormasyon

Gumawa tayo ng bagong tungkuling “Mga Paghihigpit Ayon sa Petsa ng Pagbabawal sa mga Pagbabago”.

Sa loob nito, para sa dokumentong "Invoice" para sa tamang "pagbabago" magdaragdag kami ng bagong paghihigpit sa pag-access.

Tinukoy namin ang mga setting para sa lahat ng mga patlang.

Ang teksto ng paghihigpit ay:

ReceiptInvoice MULA sa Document.ReceiptInvoice BILANG ReceiptInvoice

Baguhin ang Ban Date AS Ban Date
MULA SA

INER JOIN (PUMILI
MAX(Baguhin ang Mga Ipinagbabawal na Petsa.User) BILANG User
MULA SA
Rehistro ng Impormasyon
SAAN
(Baguhin ang Mga Ipinagbabawal na Petsa.User = &CurrentUser
O Mga Petsa ng Ipinagbabawal na Pagbabago.User = VALUE(Directory.users.EmptyLink))) BILANG VZ_User
AYON SA Petsa ng Pagbabawal ng Mga Pagbabago.User = VZ_User.User) AS NestedQuery
Software Receipt Invoice.Date > Nested Query.Ban Date

Suriin natin - gumagana ang paghihigpit.

Paggamit ng Preprocessor Instructions

#If Condition1 #Then

Humiling ng fragment 1

#ElseIf Condition2 #Then

Humiling ng fragment 2

#Kung hindi

Humiling ng fragment 3

#EndIf

Sa mga kundisyon, maaari kang gumamit ng mga lohikal na operasyon (at. o, hindi, atbp.) at pag-access sa mga parameter ng session.

Ang diskarte na ito sa konteksto ng pagbuo ng mga paghihigpit sa pag-access ay maginhawa dahil, depende sa mga kundisyon, isang mas maikling text ng kahilingan ang isasama. Ang isang mas simpleng query ay naglo-load sa system nang mas kaunti.

Ang downside ay ang query constructor ay hindi gagana sa naturang text.

*Katangian:

Sa kaibahan sa mga tagubilin sa preprocessor ng built-in na wika sa mga teksto ng paghihigpit sa pag-access, bago ang operator Pagkatapos ay kailangan mong maglagay ng hash - #Then

Pagsasanay 6. Lumipat sa "Gumamit ng RLS"

Dagdagan natin ang ating sistema ng mga paghihigpit ng switch na nag-o-on/nagsasara sa paggamit ng mga paghihigpit sa antas ng record.

Upang gawin ito, magdagdag ng Constant at isang parameter ng session na pinangalanang "UseRLS".

Sumulat tayo sa Session Module upang itakda ang halaga ng parameter ng session mula sa halaga ng pare-pareho.

Idagdag natin ang sumusunod na code sa lahat ng teksto ng paghihigpit sa pag-access:

“#If &UseRLS #Then….. #EndIf”

Sinusuri namin - gumagana ang lahat.

Gayunpaman, ngayon pagkatapos i-on ang flag na "gamitin ang radar", ang mga pagbabago ay hindi agad magkakabisa. bakit naman

Dahil nakatakda ang parameter ng session kapag nagsimula ang session.

Posibleng itakda ang value ng parameter ng session na i-reset kapag may nakasulat na bagong constant value, ngunit gagana lang ito para sa kasalukuyang session ng user. Dapat i-prompt ang ibang mga user na i-restart ang system.


Katapusan ng unang bahagi.

"Nabago ang mga paghihigpit sa pag-access." Ang mensaheng ito ay madalas na nakikita sa mga screen ng kanilang mga smartphone ng mga may-ari ng mga device mula sa mga pamilya ng modelong Moto X, Moto G at Nexus. Lumilitaw ang alertong ito paminsan-minsan sa slider ng notification at pagkatapos ay mawawala. Bukod dito, ang problema ay hindi sanhi ng isang error sa software o hardware ng Android device, ito ay isang simpleng mensahe lamang mula sa function ng emergency na tawag sa telepono. Sa kabila ng katotohanan na ang abiso na ito ay ganap na hindi nakakapinsala, nakakainis ito sa mga gumagamit at kahit na natatakot sa kanila. Sa katunayan, para sa mga taong walang kaalaman, ang pariralang "Nabago ang mga paghihigpit sa pag-access" ay maaaring mangahulugan ng anuman - kabilang ang pagharang sa paghahatid ng data o serbisyo ng boses.

Mayroon bang anumang paraan upang maalis ang " Nagbago ang mga paghihigpit sa pag-access"? Hindi. Dapat ka bang tumugon dito sa isang tiyak na paraan? Minsan sulit. Kung nawalan ka ng kakayahang magpadala ng SMS o tumanggap ng mga tawag, ang isang simpleng pag-reboot ay maaaring ayusin ang sitwasyon. Ang isang mensahe ng error ay maaari ding lumabas kung gumamit ka ng sira na SIM card o masyadong madalas na nagpalit ng mga card sa mga slot sa buong araw. Lumalabas din ang notification kapag nagbago ang network, i.e. mula 2G hanggang 3G o 3G hanggang 4G at vice versa. At ang lahat ng ito ay pangunahing lumilitaw kapag gumagamit ng mobile data at nawawala kapag nakakonekta sa isang Wi-Fi network. Sa pangkalahatan, ang pangunahing problema ay ang pagkawala ng network o paglipat mula sa 3G hanggang 2G - para sa mga gumagamit na nangangailangan ng isang mobile network na may mataas na bilis ng mga kakayahan sa paglipat ng data.

Paano mapupuksa ang notification na "Nabago ang mga paghihigpit sa pag-access" sa isang Android smartphone?

Paraan 1: I-block ang mga notification sa iyong telepono gamit ang isang third-party na app
Bago gamitin ang paraang ito, tingnan kung may built-in na feature ang iyong Android device para i-off ang mga notification. Maaaring available ang feature na ito para sa mga smartphone na may at , ngunit maaaring hindi magbigay ng access dito ang ilang bersyon ng system.


Kung mayroon kang mga karapatan sa Root sa iyong Android smartphone, madali mong mahaharap ang problema. Maaari kang mag-download ng mga app na haharangin ang notification na "Nagbago ang mga paghihigpit sa pag-access." Upang gawin ito kailangan mong gawin susunod na hakbang:


Ngayon ang natitira na lang ay i-reboot ang device at tingnan kung naresolba ang error. Sa loob ng notification blocker app, makakahanap ka ng ilang icon ng Telepono. Kung hindi makakatulong ang mga hakbang sa itaas, subukang huwag paganahin ang mga notification para sa lahat ng icon ng Telepono sa application.