tévék. Konzolok. Projektorok és tartozékok. Technológiák. Digitális TV

Hozzáférés-szabályozás: szerepek, jogok, profilok, hozzáférési csoportok, funkcionális opciók, RLS. Elosztott információs rendszerek felépítése, keresés, rutinfeladatok, funkcionális opciók 1c funkcionális opció nem található

Funkcionális opciók– ez az 1C:Enterprise 8.2 platform egyik új funkciója. Használatuk lényege, hogy lehetővé teszik a felhasználói felület testreszabását a funkcionális opciók beállításainak megfelelően, és a részletek láthatóságát az űrlapokon. Ezenkívül a fejlesztőnek lehetősége van programkódot implementálni, amelynek végrehajtása a funkcionális opció állapotától függ.

Hozzunk létre egy funkcionális opciót, amely lehetővé teszi a bérszámfejtés engedélyezését vagy letiltását a konfigurációban. Segítségével gyorsan elrejthetjük a felület azon részeit, amelyek számítási feladatok megoldásához kapcsolódnak. A függvénybeállítás önmagában nem tárol semmilyen értéket, amely lehetővé tenné a be- vagy kikapcsolását. Általában egy konstans egy funkcionális opció állapotának tárolására szolgál, bár egy másik objektumhoz is köthető, például egy objektum attribútumához.

Hozzunk létre egy új állandót, és nevezzük el Bérszámítás, típus - Boolean. Vegyük bele az állandót az alrendszerbe Adminisztrációés állandó formába, hogy szerkeszthessük. Ezenkívül konstansok formájában az AfterWrite kezelőt a következőképpen állítjuk be:

&A kliens eljáráson AfterRecord(RecordParameters) UpdateInterface(); Vége eljárás

A parancs használatának jelentése Frissítési felület() az interfész frissítése és újrarajzolása, miután a funkcionális opcióhoz tartozó állandó változás érvénybe lép. Ellenkező esetben újra kell indítania a konfigurációt, hogy a változtatások érvénybe lépjenek.

Hozzunk létre egy új funkcionális opciót, és hívjuk meg Bérszámítás, a könyvjelzőn Alapvető, a paraméterben Tárolás Jelöljük az imént létrehozott állandót, a ábra. Adminisztráció.


7.23. Tegyünk egy funkcionális opciót az alrendszerbe

Rizs. 7.23. Most menjünk a funkcionális beállítások beállításai ablak lapjáraÖsszetett


és jelöljön ki mindent (7.24. ábra), ami a bérszámfejtéssel kapcsolatos. Ha bármely objektum, például könyvtárak a konfiguráció különböző részeihez tartoznak, nem jelöljük meg, ellenkező esetben a funkcionális opció kikapcsolásakor „eltűnnek” a felületről.

Rizs. 7.24. Alrendszer kiválasztása Fizetés számítás V nem választja ki automatikusan az alrendszerben szereplő összes objektumot. Kiválasztásnál csak egy szakasz elrejtését vagy megjelenítését értjük parancs interfész Alrendszer kiválasztása.

A rendszert felhasználói módban futtatva engedélyezhetjük vagy letilthatjuk a konfigurációnk fizetési alrendszeréhez kapcsolódó objektumok láthatóságát, egyszerűen a konstans jelzőjének beállításával vagy törlésével. Bérszámítás.

Bonyolultabb használati eset funkcionális opciók a láthatóság konfigurálása egyedi elemek formák abban az esetben, ha egy funkcionális opció értéke egy objektum attribútumában van tárolva.

Változtassuk meg a konfigurációt, különösen a könyvtárat Magánszemélyek adjunk hozzá egy logikai típusú attribútumot Személyzeti szolgáltatásban szerzett tapasztalattal rendelkezikés helyezze el a könyvtárelem űrlapjára.

Funkcionális opciók mechanizmusa az egyik fejlesztési eszköz. Lehetővé teszi, hogy a konfigurációban meghatározza azokat a funkcionalitásokat, amelyeket egy adott szervezet igényeitől függően lehet használni vagy nem.

A mechanizmus működése két konfigurációs objektumon alapul:

  • Funkcionális opció
    A konfigurációs objektumok és részleteik társíthatók az alkalmazásmegoldáshoz hozzáadott funkcionális opciókkal. Például a funkcionális opcióval Raktári könyvelés linkelheti a kellékeket Raktár dokumentum Áruátvétel. Ezután, ha engedélyezi ezt a funkciót az 1C:Enterprise módban, a mező Raktár minden dokumentumformában megjelenik. Ha kikapcsolja - mező Raktár nem jelenik meg. Bővebben...
  • Funkcionális opció paraméter
    A funkcionális opciók paraméterekkel használhatók. Például úgy, hogy egy adott űrlap megjelenése függhet az űrlapon kiválasztott paraméter értékétől. Például a függvénybeállítás paraméterrel Pénznem könyvelés Lehet Szervezet. Majd attól függően, hogy melyik szervezet van kiválasztva az űrlapon, a mező A kölcsönös elszámolások pénzneme el lesz rejtve vagy megjelenik. Bővebben...

1. Hozzáférési jogok.

Valójában nagyon egyszerű. Alapértelmezés szerint 1C-ben minden, ami nem megengedett, tilos. Eszik csak egy entitás felelős a hozzáférésért bármely funkcióhoz vagy adathoz. Ezt az entitást hívják "Jobb hozzáférés". Ő az az egyetlen egy adott működési módhoz, könyvtárhoz, részletekhez való hozzáférésért felelős elem...

A hozzáférési jogok típusainak számát a platform előre meghatározza. Összességében a platformnak két fő hozzáférési jogcsoportja van. Az egész rendszerre jellemző hozzáférési jogok a platform mechanizmusokhoz, felelős a platform egyes működési módjaihoz való hozzáférésért (Adminisztráció, Exkluzív mód, Vékony kliens, Külső jelentések interaktív megnyitása....). ÉS objektum engedélyek, amely lehetővé teszi, hogy különféle konfigurációs objektumokkal dolgozzon. Számuk a konfigurációs objektum típusától függ. Például a könyvtárban 16 van különféle típusok hozzáférés (Olvasás, Hozzáadás, Módosítás, Törlés...). Az információs nyilvántartáshoz csak ötféle hozzáférés létezik. Mindezek a jogok csak a teljes címtár szintjén állíthatók be. A hozzáférést hitelesítő adatok szintjén is korlátozhatja. De ebben az esetben a jogosultságoknak csak egy része érhető el (a könyvtáraknál ezek a megtekintési és szerkesztési jogok).

Minden hozzáférési jog összekapcsolódik és függ egymástól. Vannak magasabb és magasabb jogok alacsony szint. Nem adhat alacsonyabb szintű jogot, ha a felhasználónak nincs joga magasabb szintű művelet végrehajtására.

Mérlegeljük hozzáférési jogok a telefonkönyvhöz. Ez a diagram azt mutatja, hogy a legtöbb jog az általánosabb jogok tisztázása. Ha a Jobb1 teljesen az ábrán egy másik Jobb2 téglalapján belül helyezkedik el, akkor a Jobb1 nem adható ki a Jobb2 kiadása nélkül. A leggyakoribb jog az „Olvasás” jog. Ha az olvasási jog nem elérhető, akkor az összes többi jog nem elérhető. Ha a "Hozzáadás" jog nem elérhető, akkor az "Interaktív hozzáadás" jog nem állítható be. Viszont, a jogrendszer nem nevezhető teljes értékű hierarchiának. Például a „Szerkesztés” jog csak akkor adható meg, ha rendelkezik „Nézet” és „Szerkesztés” joggal. De megadhatja a „View”-t „Change” nélkül, vagy a „Change”-t „View” nélkül.

A hozzáférési jog a hozzáférés minimális egysége. Minden hozzáférés-szabályozás azon múlik, hogy a felhasználó kiadja a szükséges jogokat. A fennmaradó objektumok (szerepek, hozzáférési csoportok) egyszerűen további összerendelések, amelyek a csoportosítást és a hozzáférési jogok kényelmesebb kiadását szolgálják.

2. Szerepek – hozzáférési jogok biztosításának mechanizmusa

Nézzük meg, hogyan is készült pontosan hozzáférési jogokat biztosít a felhasználónak. Az 1C platformon való hozzáférési jogok kiadásának kényelme érdekében egy speciális "Roli" mechanizmus. Ez egy réteg az információs bázis felhasználói és a hozzáférési jogok között. Minden szerepkör egyesíti a hozzáférési jogok halmazát, amelyek hozzárendelésének csak egyszerre van értelme. Például a „Kapcsolatfelvételi adatok olvasása” szerepkörben logikus, hogy a kapcsolódó címtárakért felelős jogokat kombinálják a elérhetőségei. Legtöbb egyszerű módon a felhasználó szerepének beállítása Nyissa meg az információbiztonsági felhasználói kártyát a konfigurátorban, és jelölje be a felhasználónak szükséges szerepek melletti négyzeteket. Ez univerzális módszerés bármilyen konfigurációban működik. A konfigurációk egyre bonyolultabbá válásával és a szerepek számának növekedésével azonban meglehetősen munkaigényessé vált. Ezért a jelenlegi szabványos megoldásokban egy további réteg van az információbiztonsági felhasználó és a szerepek között. Ez a réteg az űrlapon van megvalósítva "Hozzáférés-vezérlés" alrendszer. Lehetővé teszi a szerepek nagyobb entitásokba - „Profilokba” való kombinálását, és nem egyedi szerepkörök hozzárendelését a felhasználóhoz, hanem több szerepkör készletét tartalmazó profilokat.

Tekintsük a felhasználókhoz való hozzáférési jogok hozzárendelésének sémáját, amelyet a legtöbb tipikus konfigurációban használnak. Leegyszerűsített formában a következőképpen ábrázolható. Új entitások kerülnek bevezetésre "Hozzáférési profil"És "Hozzáférési csoport". Minden hozzáférési profil több szerepkört tartalmaz. És minden felhasználóhoz hozzá van rendelve egy vagy több hozzáférési csoport. Ezután minden hozzáférési csoport hozzá van rendelve egy hozzáférési profilhoz. Ennek eredményeként lehetőséget kapunk arra, hogy ne csak szerepeket adjunk meg a felhasználó számára, hanem szerepkészleteket is, attól függően, hogy milyen funkciókat lát el.

Technikai szempontból ezt a rendszert a jogok kiadása két szabványos alrendszer részvételével valósul meg. A "Hozzáférés-vezérlés" alrendszer a konfigurációban előre meghatározott szerepkörű hozzáférési csoportok kapcsolatának konfigurálására szolgál. A „Felhasználók” alrendszer az információbiztonsági felhasználók és a konfigurációs hozzáférési csoportok közötti kapcsolatok konfigurálására szolgál.

3. „Engedélyezési logika”, mint a szerepek metszetének szabálya.

Fontos megérteni, hogy az 1C-ben az általános hozzáférés-vezérlési logika az engedélyezési logika. Az 1C platformon általában nincsenek hozzáférés-megtagadási mechanizmusok. Csak mechanizmusok léteznek hozzáférést kiadó. Alapértelmezés szerint az összes adathoz való hozzáférés megtagadva, és a hozzáférés beállítása abból áll, hogy minden felhasználónak megadják a számára szükséges jogokat. Ez azt jelenti, hogy ha valamilyen szerepkör jogot ad a felhasználónak az „Árueladás” dokumentumok megtekintésére, akkor ez a jog semmilyen módon nem vonható el más szerepkörök vagy bármilyen más platform és konfigurációs mechanizmus. Kezdetben nem adhat teljes hozzáférést a címtárhoz, de RLS segítségével szűrheti azokat az adatokat, amelyekhez hozzáférést biztosítunk. De ha a hozzáférést már megadták, akkor azt más szerepkörök már nem vehetik vissza.

Éppen ezért, amikor a felhasználók hozzáférését szerepkörök szerint korlátozzuk egy címtárhoz, nagyon fontos ellenőrizni, hogy a felhasználónak nincs-e más szerepköre ugyanahhoz a címtárhoz. Ellenkező esetben az első szerepkör megadja a szükséges hozzáférést, amit a második nem tagadhat meg.

A platform képes további jogokat adni a felhasználónak külön művelet végrehajtása közben. Ezt a funkciót Privilegizált módnak nevezik. Lehetővé teszi a felhasználó számára, hogy olyan adatokon hajtson végre műveleteket, amelyek nem állnak rendelkezésére. A platform azonban nem képes akár átmenetileg is csökkenteni a felhasználói jogokat.

4. Közvetett hozzáférés-szabályozás.

Különálló mechanizmusok léteznek, amelyek bár nem közvetlenül a hozzáférés szabályozására szolgálnak, de közvetetten befolyásolják azt, és további korlátozásokra is felhasználhatók. Nézzük meg főbb jellemzőiket.

4.1. Funkcionális opciók.

A beléptető rendszert néha mechanizmusnak is nevezik funkcionális lehetőségek. Ez nem teljesen igaz, mivel a funkcionális opciók semmilyen módon nem befolyásolják az adathozzáférést. Ez tisztán interfész mechanizmus, célja, hogy egyszerűsítse a felhasználói felületet. A 8.2-es platformon az összetettebb konfigurációs funkciók eredményeként jelent meg. A funkcionális opciók célja elrejteni a felületről olyan funkciókat, amelyeket ez az adott cég vagy felhasználó nem használ. A mechanizmus csak az adatok megjelenítését érinti. A parancsok eltűnnek a felületről, és a funkcionális opciók által letiltott részletek elrejtődnek az űrlapokon. Egy időben a felhasználó továbbra is hozzáférhet ezekhez a parancsokhoz és részletekhez. A rejtett adatokkal programozottan, feldolgozás segítségével problémamentesen tud dolgozni.

További információ a funkcionális opciókkal való munkavégzésről az ITS-en

4.2. RLS (Rekord szintű biztonság)

Az összes fent felsorolt ​​mechanizmus hatással van az objektumok egészéhez való hozzáférés biztosítására. Referenciakönyvekhez, dokumentumokhoz, hivatkozási részletekhez. A hozzáférési jogok az objektumokhoz való hozzáférést, a funkcionális opciók az objektumok interfészen való megjelenítését befolyásolják. Gyakran felmerül a feladat, hogy a felhasználó hozzáférést biztosítson a címtár- vagy dokumentumadatokhoz. De nem az összes adatra, hanem csak egy részére. Például csak egy szervezet számára engedélyezzen hozzáférést a megvalósítási dokumentumokhoz.

A felbontás konfigurálására van egy további mechanizmus RLS (Rekord szintű biztonság). Ahogy a neve is sugallja, ez a hozzáférés-vezérlési mechanizmus az adott táblarekordok szintjén van. Ha a hozzáférési jogok hozzáférést biztosítanak a táblák egészéhez (könyvtárak) vagy a táblázat oszlopaihoz (részletek), akkor az RLS meghatározza azokat a táblasorokat (rekordokat), amelyekkel a felhasználó dolgozhat. Lehetővé teszi a felhasználó számára elérhető adatok meghatározását.

Ennek a mechanizmusnak az elemzésekor mindig emlékeznie kell erre Az RLS nem hozzáférés-megtagadási mechanizmus. Ő a mechanizmus hozzáférési kiadás szűrése. Azok. Az RLS nem befolyásolja a felhasználó jogait, ez egy szűrő, amely korlátozza a jogok kiadását. Az RLS csak azt a bizonyos „Szerepkör” – „Hozzáférési jog” kapcsolatot érinti, amelyben regisztrálva van. És nem érinti a más szerepkörök által biztosított hozzáférési jogokat. Például, ha az egyik szerepkör csak a Szervezet1 dokumentumaihoz, egy másik pedig a Raktár1 dokumentumaihoz engedélyezi a hozzáférést, akkor a felhasználó végül minden olyan dokumentumhoz hozzáfér, amely a Szervezet1 VAGY Raktár1-et jelzi. Ezért, ha egy felhasználó több szerepet kap, akkor minden szerepkörbe egy RLS-t használó szűrőt kell telepíteni mindkét területre (szervezetenként és raktáronként). A szabványos megoldásokban ezt a feladatot általában egyetlen szerep létrehozásával oldják meg, amelyben az összes lehetséges RLS szűrő regisztrálva van. Ezt a szerepkört ezután az ezekkel a könyvtárakkal dolgozó összes felhasználó hozzárendeli. Azt is szabályozzák, hogy a felhasználónak ne álljanak rendelkezésre más, korlátozott dokumentumokhoz való hozzáférési jogot tartalmazó szerepkörök.

Azt is érdemes megjegyezni, hogy az RLS szűrőket nem lehet mindenre alkalmazni. lehetséges típusok hozzáférést az adatokhoz, de csak legfelső szintű hozzáférési típusok. Például a címtárak esetében a tizenhat elérhető hozzáférési típus közül az RLS-szűrők csak négy főre alkalmazhatók: olvasás, módosítás, hozzáadása és törlés. Ez azt jelenti, hogy például nem tudjuk egyszerre megadni a felhasználónak a „Szerkesztés” jogot szűrő nélkül, amely lehetővé teszi, hogy bármely dokumentummal programozottan dolgozhasson, és a „Szerkesztés” jogot szervezetenkénti RLS-szűrővel interaktív munkához. Ha arra van szükségünk, hogy a felhasználó RLS szűrővel tudjon dokumentumokat szerkeszteni, akkor általános szűrőt kell bevezetnünk felső szint„Módosítás” vagy „Olvasás”.

Tekintettel a mechanizmusok általános összetettségére, általában meglehetősen nehéz megérteni, hogy pontosan mi is áll rendelkezésre konkrét felhasználó tipikus konfiguráció. A tipikus konfigurációkban biztosított jogosultságok ellenőrzésére van egy nagyon kényelmes jelentés, amely az ún "Hozzáférési jogok". Elemzi a felhasználónak adott összes jogot, és megjeleníti az összes hozzáférési csoport által kiadott jogok végleges listáját, figyelembe véve az RLS szűrőket.

4.3. Adatok szétválasztása.

Egy másik mechanizmus, amely befolyásolja az adathozzáférést adatok szétválasztása. Ezt a mechanizmust arra tervezték, hogy több független adatbázist tartson fenn egyetlen fizikai adatbázisban, amelyek közös konfigurációval és közös könyvtárakkal rendelkeznek. Néhány nagyon korlátozott esetben ez a mechanizmus hozzáférés-szabályozásnak tekinthető. Ha engedélyezve van, minden felhasználó csak egy független adatbázisában dolgozhat, de közös adatokat használhat.

Bizonyos általános értelemben ez a mechanizmus adatszűrőnek és az RLS megvalósítás speciális esetének is tekinthető. Az RLS-től eltérően az elválasztás sokkal merevebb mechanizmus. És ennek a merevségnek köszönhetően a fejlesztők igen technikai lehetőségeket további indexek használhatók az ilyen szűrések végrehajtására az RLS eredendő lassulása nélkül.

Tulajdonképpen Az RLS csak további lehetőségek, automatikusan hozzáadódik minden adatbázis-lekérdezéshez. Az adatok felosztása elválasztó hozzáadása minden particionált táblába és azok indexébe, beleértve a fürtözöttet is. Az adatok az elválasztó szerint vannak csoportosítva, azaz. fizikailag újra elosztva a lemezen külön csoportokba minden elválasztó értékhez. Ennek köszönhetően minden felhasználó csak a saját adataival dolgozik, és a szervernek nem kell minden kéréssel fizikailag átvizsgálnia a teljes táblát. Elég csak az aktuális partíció adatterületét megtekinteni.

Azonban pontosan az adatok ezen fizikai újraelosztása miatt, amikor teljes felhasználóként fut, aki nem rendelkezik elválasztó értékeken alapuló szűrővel, minden lekérdezés nagyon-nagyon lassan fut le. Elválasztó érték nélkül ez nem lehetséges teljes használat indexek, így a lemezről fizikailag kiolvasott és minden kéréssel feldolgozott adatmennyiség képes nagyságrendekkel nő. Ennek megfelelően a valóságban a szétválasztásnak csak akkor van értelme, ha az adatbázisban folyamatosan dolgozó összes felhasználó csak a saját területén fog működni.

4.4. Programkód.

A további korlátozások beállításának talán leguniverzálisabb módja az programkód. Bármilyen platformmechanizmust befolyásolhatnak. Például a dokumentumokhoz való hozzáférés korlátozása érdekében a fejlesztő hozzáadhat egy szűrőt a dokumentumlista űrlaphoz, a kiválasztási űrlaphoz, és programozottan ellenőrizheti a dokumentumadatok megtekintésének lehetőségét egy adott dokumentuműrlap megnyitásakor. A fejlesztő szűrőt alkalmazhat a jelentéseiben az adatok kiválasztásakor.

Azonban a programkód nincs mód a jogok egészének korlátozására konfigurációval. A legtöbb, amit egy fejlesztő tehet, az az, hogy korlátozásokat épít be konkrét egyedi adat-visszakeresési mechanizmusokba. Annak a ténynek köszönhetően, hogy az 1C objektummodellt használ az adatokkal való munkavégzéshez, programkód garantálhatja az adatvédelmet a módosításokkal szemben, hozzáadva a szükséges ellenőrzéseket az objektummodulhoz. De a fejlesztő nem tudja teljes mértékben garantálni, hogy a felhasználó biztosan nem tud információt szerezni mások megvalósítási dokumentumairól más jelentések vagy feldolgozás révén.

Ezt az elvet alkalmazzák pl. A konfigurációhoz való csatlakozással a bővítmény egyéni korlátozásokat és ellenőrzéseket ad hozzá az összes referenciakönyvhöz és dokumentumhoz. Szűri a felhasználók számára listákban megjelenített adatokat, és az adatok megtekintésekor vagy módosításakor ellenőrzi a hozzáférést. Biztosítja, hogy a tiltott adatok ne módosíthatók. De nem tudja szűrni az adatokat a jelentésekben vagy a lekérdezésekben.

Mindig van lehetőség tiltott adatok megszerzésére kéréssel, saját feldolgozással vagy bejelentéssel. Kivéve, ha nagyon szigorúan korlátozza a felhasználó által használt konfigurációs funkciók listáját, és külön szűrőt ad hozzá a felhasználó számára engedélyezett minden egyes mechanizmushoz (űrlap, feldolgozás, jelentés, kérés).

4.5. Az opciók összehasonlítása.

Próbáljuk meg röviden összehasonlítani a mérlegelt lehetőségeket további korlátozás adat.

Hogyan lehet engedélyezni

Mi fog történni?

Funkcionális opciók- interfész mechanizmus a funkciók elrejtéséhez

1. Adjon hozzá egy tárolási helyet egy funkcionális opcióhoz: állandó, címtárattribútum vagy információs regiszter erőforrás.
2. Adjon hozzá egy funkcionális opciót a konfigurációhoz, és adja meg benne a korábban létrehozott tárolási helyet.
3. Jelölje be összetételét a funkcionális opció tulajdonságaiban, jelölje meg az összes konfigurációs objektumot, amely attól függ.
4. Engedélyezze a funkcionális opció használatát vállalati módban.

1. A funkcionális opcióban szereplő összes objektum többé nem jelenik meg a parancsfelületen.
2. Az opció által rejtett összes mező eltűnik az űrlapokról és a jelentésekről.

RLS (Rekord szintű biztonság)- további szűrők a szerep által biztosított jogokhoz

1. Regisztráljon RLS-szűrőket minden egyes felhasználói szerepkörben a korlátozni kívánt jogok mindegyikéhez.

Megjegyzés: Vállalati módban nincs szükség teendőre. A szűrők automatikusan alkalmazásra kerülnek.

1. A beállított szűrő minden információbiztonsági kéréshez hozzáadódik.
2. Az RLS szűrőnek nem megfelelő adatok semmilyen módon nem szerezhetők be: nem jelennek meg űrlapokon vagy jelentésekben; nem lesznek kiválasztva semmilyen kéréssel.

Adatok szétválasztása- több független karbantartása egy fizikai adatbázisban

1. Adjon hozzá egy általános attribútumot a konfigurációhoz, amely meghatározza a megosztott adatok összetételét.

2. Adjon hozzá két munkamenet-paramétert: a használati jelhez és az aktuális adatmegosztási értékhez.

3. Adjon hozzá programkódot az adatok szétválasztásához, és töltse ki az aktuális elválasztó értékét.

1. Közvetlenül az adatok szétválasztási képességének a konfigurációhoz való hozzáadása után fizikailag újraépítik azokat a táblákat, amelyekhez az elválasztási képességet hozzáadták.

  • A rendszer hozzáad egy "Elválasztó" mezőt, amely az elválasztó értékét tárolja.
  • A táblákon lévő összes index át lesz építve. Az elválasztó mező lesz hozzáadva első mezőként.

2. Az elválasztás engedélyezése után.

  • Az elválasztó értékén alapuló szűrő abszolút minden információbiztonsági kéréshez hozzáadódik.
  • Bármilyen adat írásakor az elválasztó értéke automatikusan kitöltésre kerül a munkamenet paraméter értékének megfelelően.
Programkód- minden további pontkorlátozás
1. Adja hozzá a szükséges korlátozások beállításához szükséges kódot a konfigurációhoz.

1. Pontosan azt fogja tenni, amit ír.

Megjegyzés: a kód nem befolyásolja a konfiguráció egészét, hanem csak azt a konkrét mechanizmust, amelyre a műveletet előírják

5. Eredmények.

Minden korlátozási módszernek megvannak a maga előnyei és hátrányai. Technológiai szempontból a leginkább a helyes utat Ez egy kompetens szereposztás. A rendelkezésre álló adatok szűrésének legmegbízhatóbb módja az RLS használata. Erre a feladatra tervezték a mechanizmust. A pontmegkötéseket a legegyszerűbb kód segítségével megvalósítani. A funkcionális opciók és az adatok szétválasztása meglehetősen specifikus mechanizmusok, amelyeknek nem célja a hozzáférés korlátozása. Bár bizonyos esetekben erre is használhatók.

Cél

A funkcionális opciók lehetővé teszik a fejlesztő számára, hogy leírja azokat a konfigurációs képességeket, amelyek gyorsan engedélyezhetők vagy letilthatók a megvalósítás szakaszában és/vagy a rendszer működése közben. Például a munkaképesség további tulajdonságok a termékek külön funkcionális opciókra oszthatók. Ha ezt a funkciót letiltja, akkor az összes kapcsolódó (további terméktulajdonságokkal együtt) funkció „eltűnik” a konfigurációs felületen.

A rendszer képes automatikusan figyelembe venni az elvégzett beállítások állapotát – elrejteni a letiltott funkciókat, így az alkalmazás felülete áttekinthetőbbé és érthetőbbé válik a felhasználó számára.

A fejlesztés során előfordulnak olyan helyzetek, amikor egy funkcionális opció értékének bizonyos paraméterektől kell függnie, például nem minden szervezet vezet devizaszámítást. Egy ilyen függőség megvalósításához használja a Funkcionális opciók paramétereit – egy olyan objektumot, amely paraméterezi a funkcionális beállításokat. Mit befolyásolnak a funkcionális lehetőségek?

A funkcionális opciók hatással lehetnek:

  • a felhasználói felületen – ha kikapcsolja a funkcionális opciókat, a rendszer bebújik felhasználói felület minden ehhez kapcsolódó elemet. A következő interfész-elemek érintettek:
    • globális parancs interfész;
    • nyomtatványok;
    • adatösszeállítási rendszerrel megvalósított jelentések.
  • beépített nyelven írt algoritmusok - lehetőség van a funkcionális opciók értékeinek programozására (és beállítására), és különféle körülmények között történő felhasználására, például a számítások mennyiségének csökkentésére.

Globális parancsfelület

A funkcionális opciók hatása a globális parancsfelületre az, hogy a rendszer elrejti a nem elérhető opciókhoz kapcsolódó összes objektum parancsát. Például, ha a Beszerzés funkció opció értéke False, akkor a Beszerzés szakasz megnyitására, az Árubevételi bizonylat létrehozására, az Áruátvételi lista megnyitására stb. vonatkozó parancsok rejtve lesznek.

A Beszerzés opció viszont figyelembe veheti egy funkcionális opció paraméter értékét, például Szervezet. A paraméter értékének beépített nyelvi módszerekkel történő módosításával módosíthatja a funkcionális opció állapotát, és ezáltal az interfész elem láthatóságát.

Forma

IN kezelhető formában A funkcionális beállítások befolyásolhatják az űrlapattribútumokat, parancsokat és (ennek következtében) a hozzájuk tartozó űrlapelemeket.

A kezelt űrlap mezőinek, tábláinak láthatósága az űrlap részleteinek, a gombok láthatósága pedig a parancsok láthatóságától függ.

Adatösszetétel rendszer

Az adatösszeállítási rendszer elsősorban jelentések készítésére szolgál. A funkcionális beállítások befolyásolják a jelentésben megjelenített adatok összetételét és a felhasználó számára elérhető jelentésbeállítások összetételét. Például, ha a Pénznem könyvelés funkció le van tiltva, akkor az Árubevételi bizonylatok nyilvántartását megjelenítő jelentésben nem lesz a Pénznem és a Pénznem összege oszlop, és a beállítások nem lesznek képesek kiválasztani, csoportosítani, rendezni stb. a Pénznem mezőt.

A funkcionális beállításoknak a jelentés mezőinek elérhetőségére gyakorolt ​​hatásáról további információkért tekintse meg a „Funkcionális beállítások és a jelentés mezőinek megtekintésének engedélye” című részt a „Kezelt jelentések” fejezetben.

Általános munkaséma

A funkcionális beállítások mechanizmusa kétféle metaadat-objektumot tartalmaz: Funkcionális opció és Funkcionális beállítások paramétere.

A funkcionális opció egy metaadat objektum, amely közvetlenül befolyásolja az alkalmazás felületének összetételét. Az ilyen típusú objektumok használatával elrejtheti a nem elérhető funkciókhoz kapcsolódó elemeket. Például a Pénznemek könyvelése opcióval eltávolíthatja a Pénznem könyvtárat, a Pénznem mezőt a dokumentumokból és a Pénznem összege oszlopot a jelentésekből. A funkcionális opció értékének forrása a Storage tulajdonságként kiválasztott metaadat objektum, például ez lehet egy konstans.

Ha egy funkcionális beállítás értéke egy címtárattribútumban vagy információs regiszter erőforrásban van tárolva, akkor ez kötelező további információk, amely pontosan jelzi, hogyan kell kiválasztani az opció értékét. Erre a célra egy külön metaadat-objektum áll rendelkezésre – Funkcionális beállítások paraméter.

Azt mondhatjuk, hogy a funkcionális opciók paraméterei a funkcionális opciók értékterének koordinátatengelyei. Ezen túlmenően egy funkcionális opció egy paramétere számos funkcionális opciónál egyidejűleg meghatározhatja „a” koordinátatengelyének értékét.

Nézzünk egy példát: mondjuk a mennyiségi elszámolás a szervezeten belüli egységtől függ. A miénkben információs bázis Nyilvántartást vezethet különböző szervezetek nevében.

A funkcionális opciók értékeinek tárolásához információs regisztert hozunk létre, ahol a méretek (koordináta tengelyek) a következők lesznek:

  • Szervezet (megfelelő típusú);
  • Osztály (a megfelelő típusú).

Az információs regiszter erőforrása a kvantitatív számviteli funkcionális opció értéke lesz.

Ezután a teljes konfigurációs struktúra így fog kinézni:

  • Információk nyilvántartása Kvantitatív Számvitel:
    • dimenziós szervezet,
    • Dimenzióosztály,
    • QuantitativeAccounting Boolean típusú erőforrás.
  • Funkcionális opciók Szervezet paraméter. A Használat tulajdonság az Információs nyilvántartás szervezése dimenziót jelöli QuantitativeAccounting.
  • funkcionális opciók paraméter Osztály. A Használat tulajdonság a QuantitativeAccounting információs nyilvántartás felosztási dimenzióját jelzi.
  • A QuantitativeAccounting funkció opció, a Storage tulajdonság a QuantitativeAccounting információs regiszter QuantitativeAccounting erőforrására mutat.

Ennek eredményeként a mennyiségi számvitel fenntartásának szükségességének megállapításához minden konkrét esetben meg kell jelölnünk a funkcionális opciók (Szervezet és Divízió) paramétereinek értékeit, és meg kell szereznünk a funkcionális opció értékét.

Kölcsönhatás más tárgyakkal

Funkcionális opciók rendelhetők hozzá a következő tárgyakat konfigurációk:

  • alrendszerek,
  • Általános parancsok
  • Állandók,
  • Kiválasztási kritériumok,
  • Címtár,
  • Dokumentum,
  • Magazin,
  • számlaterv,
  • A jellemzők típusainak terve,
  • Számítási típusok terve,
  • Üzleti folyamat,
  • Feladat,
  • Csere tervek,
  • Jelentés,
  • Feldolgozás,
  • Felhalmozási nyilvántartás,
  • Információk nyilvántartása
  • Számviteli nyilvántartás,
  • Számítási nyilvántartás,
  • Csapat,
  • A metaadat objektum részletei,
  • táblázatos rész,
  • A táblázatos rész részletei,
  • Számviteli jel
  • Subconto számviteli attribútum,
  • Címzés részletei
  • Regisztrálja a mérést,
  • Regisztrálja az erőforrást.

A funkcionális beállítások az űrlapelemek láthatóságát is befolyásolhatják.

Teremtés

Funkcióopció létrehozása

Funkcionális opció létrehozásához létre kell hoznia egy Funkcionális opció konfigurációs objektumot. Ezt Konfigurátor módban lehet megtenni a szokásos módon, vagyis a konfigurációs ablakban válassza ki az Általános, majd a Funkcionális opciókat, és adjon hozzá egy új objektumot.

Ez létrehoz egy Funkcionális opció konfigurációs objektumot, amely használható funkcionális opciók hozzárendelésére más metaadat objektumokhoz.

A néven kívül az objektumnak van egy kötelező tulajdonsága - Tárolás. A szerkesztőben kiválaszthatunk hozzá egy objektumot, amely az opció értékének forrása lesz. Az elérhető objektumok listája a következőket tartalmazza:

  • állandók,
  • címtár adatai,
  • információs nyilvántartási források.

Az opcióérték forrástípusára nincs korlátozás, de csak azok a funkcionális opciók alkalmasak az interfész kezelésére, amelyek logikai típusú attribútumokban tárolják értékeiket. A más típusokkal rendelkező funkcionális opcióértékek csak a beépített nyelven való elemzéshez érhetők el.

Funkcionális opciók paraméterének létrehozása

Funkcionális beállítási paraméter létrehozásához létre kell hoznia egy azonos nevű konfigurációs objektumot. Ezt az Általános ág Funkcionális opciók beállításai menüpontjában teheti meg.

A néven kívül a paraméternek van egy kötelező Usage tulajdonsága is. Meghatározza az objektumok halmazát, amelyek értéke határozza meg, hogyan kell kiválasztani egy funkcionális opció értékét. Az elérhető objektumok listája könyvtárakat és információs regiszter dimenziókat tartalmaz. Az egyes funkcionális opciók paraméteréhez be ezt a listát kiválaszthat egy könyvtárat (a teljes címtárlistából) és minden információs regiszter egy dimenzióját.

Használat

Metaadatok hozzárendelése objektumokhoz

Egy metaadat objektum (például egy könyvtár) egy vagy több funkcionális beállításhoz rendelhető. Ehhez használja a Funkcionális beállítások tulajdonságot, amely a konfigurációban létrehozott funkcionális beállításokra mutató hivatkozásokat tartalmaz. Az elérhető opciók listája csak azokra a beállításokra korlátozódik, amelyekhez a Tárolás tulajdonsághoz egy logikai értéktípusú objektum van hozzárendelve.

Hozzárendelés űrlap részletekhez és parancsokhoz

Az űrlaphoz tartozó objektumok (Részletek és Parancsok) szintén használhatók a funkcionális opciók mechanizmusában.

Ez megtehető az űrlapszerkesztőben a Functional options tulajdonság beállításával a kívánt objektumhoz.

A funkcionális beállítások állapota ugyanúgy befolyásolja az űrlapobjektumok megjelenítését, mint a metaadat-objektumok esetében. Például egy funkció opció használatával letiltott parancs esetén az összes kapcsolódó gomb eltávolításra kerül.

Ha nincs funkcionális beállítás hozzárendelve egy form attribútumhoz vagy parancshoz, akkor a form attribútum vagy parancs mindig láthatónak tekinthető. Ellenkező esetben egy űrlapattribútum vagy parancs láthatónak tekinthető, ha a hozzá rendelt funkcionális beállítások közül legalább egy engedélyezve van.

Használata adathozzáférést korlátozó mechanizmusban

Az adathozzáférés-korlátozási mechanizmus keretében a Funkcionális opciók ugyanúgy használhatók, mint a Munkamenet-beállítások. Csak a paraméterektől független, azaz konstansokhoz kötött opciók használata megengedett.

Funkcionális opció értékének meghatározása

A funkcionális beállítás értékét a Tárolás tulajdonságban megadott objektum határozza meg. Konstans esetén annak értékét használjuk. Egy címtárattribútumhoz vagy egy információs regiszter-erőforráshoz társított opció esetén az ezekben az objektumokban tárolt értékek. Egy adott objektum megtalálásához, amely egy funkcionális opció értékét tárolja, további információkra van szükség - a funkcionális opciók paramétereinek értékkészletére.

Ha a beállítás egy könyvtárattribútumban van tárolva, a paraméternek tartalmaznia kell egy hivatkozást egy adott könyvtárelemre. Ha az opció egy részletregiszter-erőforrásban van tárolva, akkor a regiszter összes dimenziójának értékét meg kell adni. Ebben az esetben minden mérést saját paraméterrel kell jellemezni.

A beépített nyelvi módszerek lehetővé teszik egy opció értékének megszerzését, mind az átadott paraméterektől, mind a parancsfelülethez vagy egy adott űrlaphoz beállított paraméterektől függően (további részletekért lásd a „Funkcionális opciók használata a beépített rendszerben” című részt. nyelven” e fejezet).

Ha egy funkcionális opció egy időszakos információs regiszter erőforráshoz van kötve, akkor a rendszer az utóbbi egy szeletét használja az opció értékének lekéréséhez. Ha más dátumra szeretné megkapni az opció értékét, meg kell adnia egy értéket az Időszak (Időszak) funkcionális beállítások paraméterhez, amelynek Dátum típusa van, és ez lesz a szelet fogadásának dátuma. Ezt a paramétert nem kell létrehozni a metaadatokban. Ezt a rendszer automatikusan biztosítja.

Funkcionális opciók kezelése Paraméterértékek

A paraméterértékek beállítása beépített nyelvi módszerekkel történik. Ebben az esetben lehetőség van a paraméterértékek hatókörének behatárolására. A paraméterek az egész parancsfelületen és egy adott űrlappéldányon belül állíthatók be.

Munkavégzés funkcionális opciókkal a beépített nyelven

A funkcionális opciókkal való munkavégzés módszerei két részre oszthatók:

  • módszerek az opció értékének megszerzésére,
  • a funkcionális opciók paramétereivel való munkavégzés módszerei.

Munka a funkcionális opcióértékekkel

A GetFunctionalOption() és GetFunctionalInterfaceOption() globális kontextus metódusok a funkcionális beállítás értékét adják vissza. A különbség köztük az, hogy az első metódus lehetővé teszi egy paraméterkészlet megadását a funkcionális opciókhoz, a második metódus pedig egy funkcionális opció értékét adja vissza a parancsfelülethez megadott paraméterek alapján.

A felügyelt űrlapnak saját metódusa van, amely visszaadja az űrlapon megadott paraméterek opcióértékét - GetFormFunctionalOption().

Munka a funkcionális opciók paramétereivel

A funkcionális beállítások paramétereivel való munkavégzés módszerei lehetővé teszik a funkcionális opciók paramétereinek értékeinek beszerzését és beállítását egy parancsfelülethez vagy egy adott űrlaphoz. A funkcionális opció paramétereinek értékeinek beállításához meg kell hívni a megfelelő függvényt (SetInterfaceFunctionalOptionParameters() vagy SetFormFunctionalOptionParameters()), paraméterként átadva egy olyan struktúrát, amelynek kulcsa megfelel az egyik funkcionális opció paraméter nevének, és érték megfelel a paraméter értékének. A fenti metódusok meghívása automatikusan frissíti az interfész megfelelő részét.

A paramétereket nem kell egyszerre megadni. Egy adott paraméter vagy paraméterkészlet értéke szelektíven módosítható. De az értékek csoportos beállítása egy hívással a hatékonyabb.

A paraméterértékek megszerzéséhez meg kell hívni a megfelelő függvényt (GetInterfaceFunctionalOptionParameters() vagy GetFormFunctionalOptionParameters()), amely visszaadja a beállított paramétereket struktúra formájában, ahol a paraméter neve lesz a kulcs.

A funkcionális opciók az „Általános” csoportban található metaadat-objektumok:

A funkcionális opciók a funkcionális opciók mechanizmus részét képezik, amelyek lehetővé teszik az alkalmazásmegoldás egyes funkcióinak engedélyezését vagy letiltását a felhasználó igényeitől függően anélkül, hogy magát a konfigurációt módosítaná.
Például nem minden szervezet használhatja a raktári könyvelést. Ha nem használunk raktári könyvelést, akkor érdemes a raktármezőt eltávolítani minden bizonylatból, címtárból és nyilvántartásból – ekkor jönnek a segítségünkre a funkcionális lehetőségek.

Nézzünk egy példát:

Hozzunk létre egy funkcionális opciót" Raktári könyvelés".
Tárolás: az értéket tároló mező jelenik meg.
Kiválaszthat egy állandót, egy címtárattribútumot vagy egy információs regiszter erőforrást.
Állandót fogunk használni.

Hozzunk létre egy állandót" Vezessen nyilvántartást a raktárakról", és válassza ki a tárolási mezőben. Ez az állandó felelős a funkcionális opció engedélyezéséért és letiltásáért. Jelölje be a "Privileged mode when Receive" jelölőnégyzetet. Ez a jelölőnégyzet azt jelenti, hogy a funkcionális opció értékei privilegizált módban kerülnek fogadásra :

Frissítjük, elindítjuk az 1C Enterprise-t. Állítsa be a konstans értékét = True:

Ennek eredményeként a következőket kaptuk:

Ha a konstans = False értéket állítjuk be, a következőt kapjuk:

Kérdése van, vagy tanácsadó segítségére van szüksége?

Tehát létrehoztunk egy funkcionális opciót, amely a DirectoryLink.Warehouse típusú mezőket vezérli

Nézzünk most egy példát a funkcionális opciók paramétereinek használatára.
Adjunk hozzá egy új funkcionális opciót" Pénznem könyvelés"
Tárolás: Directory.Organization.Details.Currency Accounting


Adjuk hozzá a dokumentum összetételéhez a részleteket "Cikk árának beállítása" - "Pénznem"


Dokumentum formájában a „When CreatedOnServer” és „OrganizationWhenChanged” eljárásokban
Adjuk hozzá a következő kódot:

Frissítjük a konfigurációt és elindítjuk.
Létrehozunk két szervezetet, és az egyiknél jelöljük be a „Pénznemű könyvelés” négyzetet.

Mit kapunk ennek eredményeként? A funkcionális opció paramétereinek felhasználása eredményeként a „Cikkárak beállítása” dokumentumban a „Pénznem” mező paraméteres vezérlését kaptuk. Azok. az "Alfa" szervezetnél a "Pénznem" mező jelenik meg, a "Béta" szervezetnél a "Pénznem" mező nem jelenik meg.
Győződjünk meg erről. Nyissa meg a dokumentumot, és próbálja meg módosítani a „Szervezet” mezőt
Ha Szervezet = "Alfa", a pénznem megjelenik; módosítsa "Béta"-ra - a pénznem eltávolításra kerül





Kapcsolódó kiadványok