itthon / A PC elsajátítása / Adatbázis modell

Adatbázis modell

Adatbázis modell

Az 1C:Enterprise 8 adatbázismodell számos olyan tulajdonsággal rendelkezik, amelyek megkülönböztetik az adatbázis-kezelő rendszerek klasszikus modelljétől (például a relációs táblákon alapulóktól), amelyekkel a fejlesztők univerzális rendszerekben foglalkoznak.

A fő különbség az, hogy az 1C:Enterprise fejlesztője nem fér hozzá közvetlenül az adatbázishoz. Közvetlenül az 1C:Enterprise platformmal működik. Ennek során képes:

  • írja le az adatstruktúrákat a konfigurátorban,
  • adatok kezelése 1C:Enterprise nyelvi objektumokkal,
  • adatlekérdezéseket írni lekérdezési nyelv használatával.

Az 1C:Enterprise platform műveleteket biztosít a lekérdezések végrehajtásához, az adatstruktúrák leírásához és az adatok kezeléséhez, megfelelő parancsokká alakításához. Ezek lehetnek az adatbázis-kezelő rendszer parancsai, a munka kliens-szerver verziója esetén, vagy a saját adatbázis-motor parancsai a fájlverzióhoz.

Általános típusú rendszer

Az adatbázissal való munka egyik fontos jellemzője, hogy az 1C:Enterprise 8 megvalósítja általános rendszer nyelvtípusok és adatbázismezők. Más szóval, a fejlesztő ugyanúgy határozza meg az adatbázismezőket és az 1C:Enterprise változókat, és ugyanúgy dolgozik velük.

Ez az 1C: Enterprise rendszer kedvezően hasonlít az univerzálishoz eszközöket. Általában az univerzális fejlesztői környezetet használó üzleti alkalmazások létrehozásakor külön szállított adatbázis-kezelő rendszereket használnak. Ez pedig azt jelenti, hogy a fejlesztőnek folyamatosan gondoskodnia kell az adott adatbázis-kezelő rendszer által támogatott adattípusok és a programnyelv által támogatott típusok közötti konverziókról.

Objektumokra való hivatkozások tárolása

Az 1C:Enterprise adatbázisban tárolt adatok kezelésekor gyakran objektum megközelítést alkalmaznak. Ez azt jelenti, hogy az adatbázisban tárolt adatok egy bizonyos halmazához való hozzáférés (olvasás és írás) egyetlen egészként történik. Például az objektumtechnológia segítségével kezelheti a címtárak, dokumentumok, jellemzőtípus-tervek, számlatáblázatok stb. adatait.

Az objektumadat-manipuláció jellegzetessége, hogy minden objektumhoz, mint adathalmazhoz egyedi hivatkozás tartozik, amely lehetővé teszi az objektum egyedi azonosítását az adatbázisban.

Ez a hivatkozás is az adatbázis mezőben tárolódik, az objektum többi adatával együtt. Ezenkívül egy hivatkozás használható egy másik objektum mezőjének értékeként. Például egy hivatkozás egy könyvtárobjektumra Ügyfelek használható a megfelelő dokumentumattribútum értékeként Vásárlási számla.

Kompozit típusok

Az 1C:Enterprise 8 által támogatott adatmodell lényeges jellemzője, hogy egy adatbázismezőhöz egyszerre több adattípus definiálható, amelyek értéke ebben a mezőben tárolható. Ebben az esetben minden időpillanatban egy érték kerül tárolásra, de lehet különböző típusok- referencia és primitív is - szám, karakterlánc, dátum stb.:

Ez a lehetőség nagyon fontos a gazdasági feladatoknál - például a számlában vevőként, akár jogi személy a szervezeti címtárból, ill. Egyedi a magánszemélyek névjegyzékéből. Ennek megfelelően egy adatbázis tervezésekor a fejlesztő meghatározhat egy mezőt, amely az ilyen típusú értékek bármelyikét tárolja.

Bármilyen adat tárolása értéktárként

Az alkalmazásmegoldások létrehozásának ideológiája az 1C:Enterprise 8-ban feltételezi, hogy az alkalmazásmegoldáshoz kapcsolódó összes fájlt magában az adatbázisban kell tárolni.

Ehhez egy speciális adattípust vezettek be - StorageValues. Az adatbázismezők tárolhatják az ilyen típusú értékeket, és a beépített nyelv egy speciális, azonos nevű objektumot tartalmaz, amely lehetővé teszi más típusú értékek konvertálását egy speciális Value Store formátumba.

Ez lehetővé teszi a fejlesztő számára, hogy olyan értékeket tároljon az adatbázisban, amelyek nem választhatók ki adatbázismezőtípusként, például grafikus képeket.

Adatstruktúrák létrehozása és frissítése metaadatok alapján

Az alkalmazott megoldás létrehozása vagy módosítása során a fejlesztőnek nem kell semmit tennie az alkalmazott megoldás adatbázismezőinek szerkezetének közvetlen megváltoztatása érdekében.

A fejlesztőnek elegendő, ha látványtervvel leírja az alkalmazott megoldás felhasznált objektumainak szerkezetét, részleteik összetételét, táblázatos részeit, formáját stb.

A platform az alkalmazott megoldás objektumainak összetétele és jellemzői alapján önállóan elvégzi az adatbázistáblák szerkezetének létrehozására vagy módosítására irányuló összes műveletet.

Például annak érdekében, hogy az alkalmazottak családjának összetételére vonatkozó információkat tárolhassák az alkalmazottak címtárában, az 1C:Enterprise fejlesztőnek nem kell külön új táblát létrehoznia az adatbázisban, beállítania azokat a szabályokat, amelyek szerint az ebben a táblában tárolt adatok a fő tábla adataihoz kapcsolódnak, programalgoritmusok az adatok megosztásához ezekben a táblákban, algoritmusok létrehozása az adatok ellenőrzéséhez egy alárendelt táblában, stb.

A fejlesztőnek mindössze annyit kell tennie, hogy egy egérkattintással hozzáadja a könyvtárhoz táblázatos részés állítsa be a két karakterlánc-attribútumot: NévÉs rokonság. A konfiguráció mentésekor vagy frissítésekor a platform önállóan átszervezi az adatbázis-struktúrát, létrehozza a szükséges táblákat stb.

Objektum/tábla adathozzáférés

Az 1C:Enterprise 8 rendszeres jellemzője az adatokhoz való hozzáférés két módszerének támogatása - objektum (olvasáshoz és íráshoz) és táblázatos (olvasáshoz).

Az objektummodellben a fejlesztő a beépített nyelv objektumaival operál. Ebben a modellben egy objektumhoz, például egy dokumentumhoz való hozzáférés egyetlen entitásként történik – teljes mértékben betöltődik a memóriába, a beágyazott táblákkal együtt, amelyek a beépített nyelven rekordgyűjteményként stb. érhetők el.

Az adatok objektummodellben történő manipulálásakor megőrzi az objektumok integritását, az objektumok gyorsítótárazását, a megfelelő eseménykezelőket hívják meg stb.

A táblázatos modellben egy adott osztály objektumainak teljes halmaza egymáshoz kapcsolódó táblák halmazaként van ábrázolva, amelyek lekérdezések segítségével érhetők el - mind egy külön táblához, mind pedig több táblához egy kapcsolatban:

Ebben az esetben a fejlesztő egyszerre több objektum adataihoz is hozzáfér, ami nagyon kényelmes nagy mennyiségű adat elemzéséhez, például riportok készítésekor. Tekintettel azonban arra, hogy az így kiválasztott adatok nem az elemzett objektumok összes részletét, hanem csak egy részét tartalmazzák, a táblázatos elérési mód nem teszi lehetővé ezen adatok megváltoztatását.

„Jobb elveszteni egy napot, és öt perc múlva repülni” (c) m / f Szárnyak, lábak és farok.

Három kiváló bejegyzés található a Habrén a 8.x adatbázislisták kezeléséről:

Mindegyik tartalmazza a saját kirakós darabját a teljes képből: Az 1C adatbázis-listák egyszerű kezelése.

Prológus

Az adott konstrukciós ideológia megkönnyíti a beállítások méretezését, mind egyszerű, egyetlen domainnel rendelkező irodáknál, mind pedig egy erdő részeként működő többdomaines struktúránál. Mindenki maga választja ki a megoldás konkrét megvalósítását, de itt az alapot fektetik le, hogy minden extra erőfeszítés nélkül megkapja a szükséges rugalmasságot. A döntés könnyen örökölhető. Nincsenek szkriptek. Egyáltalán nem. Egyáltalán.

Tehát mivel állunk szemben:

Sok a felhasználó!- 40+ felhasználó megkerülése azzal a céllal, hogy új adatbázist regisztráljon, vagy egy régihez módosítsa a kapcsolati beállításokat, tisztességes időbe telik. Nos, akiknek technikai támogató harcosai vannak.
Nagyon sok alap van!- bázisok állatkertje, tesztbázisok 1Snikov egyszerű iktatásával, amelyek gyártásba kerülnek, miközben még mindig a szervereken vannak tesztelésre. Szorozunk a felhasználók számával és elborzadunk.
Tiszta alapnevek!- ezen a helyen, valahányszor elképzelem, hogy a saját kezemmel egy másik 1 Snick lelke a névvel rendelkező alapért " new2_baza2_copy» amelyhez egy csomó feldolgozás, jelentések és COM-kapcsolatok kapcsolódnak. Mert logikusnak tűnt számára az új alap SO elnevezése. A szervezet egy, és nem fog hirtelen növekedni. És mindenre emlékszik. És soha ne add fel. A dokumentálást gyengék végzik. Igen, mindig gyorsan meg lehet csinálni!
- minden Új felhasználó nem tudja, milyen alapokra van szüksége (Gyakran így hangzik: „MINDENRE KELL”), az alkalmazottak gyakran változtatnak pozíciót, részleget, szervezetet és ebből kifolyólag a feladataikat. - édes szkriptek, amelyek a teljes AD-erdőben átvizsgálják bizonyos csoportneveket, hogy egy adatbázist kapcsolódjanak. És ki írta? min? Amikor? Hol vannak a kommentek?
Hol vannak a bázisaim?!- Hoppá. Sok megoldás nem teszi lehetővé a felhasználói 1C adatbázisok egyedi listájának mentését, és ezzel egyidejűleg előre meghatározott adatbáziskészlet használatát.
1C klaszterek? DB szerverek?- van különbség? Több is lehet. különböző verziók 1C, különböző adatbázisok. A technikai támogatás megpróbálja megtalálni a célokat annak érdekében, hogy megértse, pontosan mit kell előírnia a felhasználónak a számítógépen.

Leírtam a fő fájdalmat.

Spoiler?

1. Minden bemutatott infrastruktúra teszt és virtuális. Bármilyen név megegyezik jogalanyok véletlenszerűek.
2. Elnézést az angol felületért a szerverekről készült képernyőképeken. Nem tehettem róla.
3. Bízzon bennem, rendszergazdai csoportvezető vagyok, tudom, mit csinálok! (Val vel)

Hat lépés a boldogsághoz:

1. szakasz – Leltár
Fogunk egy táblázatszerkesztőt és 1Snikovot. És leltárt készítünk részletesen, talán kézzel is:

Egy ilyen táblázat születik:

A mi feladatunk, hogy megértsük, mi hol van. Szerkezet. Festsen részletesen.

2. szakasz – AD csoportok 1C adatbázisokhoz
Csoportok létrehozása a bázisokhoz Active Directory, azonnal beírjuk a leírásba a használt fürtöt és adatbázis-kiszolgálót:

A kimeneten kapjuk részletes információk az Active Directory struktúrájában minden egyes adatbázisról. Az adatbázis nevének megadása az AD-csoport nevében sokkal könnyebbé teszi a csoport megtalálását egy adott adatbázishoz nagy infrastruktúrákban. Kiválasztotta a felhasználókat, kiválasztotta a csoportba való felvételt, és megadta a kívánt adatbázisnevet. Op meg minden. Ugyanakkor kollégái (vagy utódai) azonnal látják, hogy melyik AD csoport melyik adatbázisért felelős, és hol található az adatbázis.

Fontos:
Azon kívül, hogy minden adatbázishoz AD-csoportokat hoz létre, létre kell hoznia egy további AD-csoportot " ” - segít abban, hogy hozzáférést biztosítsunk ahhoz a fájlforráshoz, ahol az összes szükséges adatbázis v8i konfigurációja tárolódik. Ebbe a csoportba soroljuk az 1C adatbázisok összes AD-csoportját. Ne felejtsük el új AD-csoportok hozzáadását sem az 1C bázisokhoz. Az összetételében is szükségünk van egy csoportra Domain számítógépek hogy a PC-fiókok hozzáférjenek a fájlmegosztáshoz. Az alábbiakban az árnyalatokról.

3. szakasz – 1C konfigurációs fájlok
A leltár megtörtént, az adatbázisokhoz tartozó AD csoportok létrejöttek, most a v8i konfigurációs fájlok. Adatbázisokhoz való kapcsolódási beállításokat tárolnak: 1C fürt és a fürtben lévő adatbázis neve.
1C-vel kezdjük. Ha van kialakított lista az alapokról, akkor szépen és érthetően megnevezzük őket.
Szervezet - Konfiguráció - Konfiguráció verziója
A jobb gombbal fájlokba mentjük, a fájlokat az adatbázis nevével nevezzük el. Ezeket a csodálatos v8i fájlokat gondosan összegyűjtjük egy könyvtárban. Ha nincs eredeti lista, létrehozhat egy bejegyzést a listában, ez lesz a referencia. Új v8i konfigurációs fájlokat állítunk elő belőle úgy, hogy a szükséges információkat közvetlenül a fájlba szövegként beírjuk.

A kimenet egy fájl a következő tartalommal:

Az egyes fájloktól való megszabadulás extra sorok:

Ennek eredményeként bizonyos számú v8i konfigurációs fájlt kapunk, ugyanannyit, mint az alapokat.

A következő lépés az 1C általános adatbázis-konfigurációs fájljának szerkesztése.

Alapértelmezés szerint egyáltalán nem tartalmazza az alapok listáját:

Végezzünk el apró manipulációkat, és most már tartalmazza az 1C adatbázisok összes v8i konfigurációs fájljának elérési útját.

A v8i fájlok elérése ugyanúgy működik, mint egy egyszerű hálózati mappa fájlkiszolgálón és DFS-erőforrással. Terheléselosztás, feladatátvétel? Igen! Tudjuk. Repülünk.

Ennek eredményeként van egy könyvtárunk, amely tele van v8i konfigurációs fájlokkal minden alaphoz külön, plusz közös fájl konfiguráció, amelyben az összes v8i konfigurációs fájl összes elérési útja regisztrálva van.

4. szakasz – Fájl vagy DFS-erőforrás
Hozzon létre egy könyvtárat, amely tartalmazza az egyes alapokhoz való csatlakozáshoz szükséges v8i konfigurációs fájlokat, valamint az alapok általános listáját – az 1CEStart.cfg fájlt:
névkönyvtár Sync-1CBases.
A közös erőforrásokhoz való hozzáférés ideológiai megközelítése mindenki számára más. Sokan inkább magának a megosztott erőforrásnak adnak hozzáférést Mindenki – Teljes irányítás, majd irányítsa a hozzáférést a szinten fájlrendszer. Könnyebb. Inkább azonnal megszakítom a hozzáférést a leginkább megosztott erőforrás szintjén anélkül, hogy további terhelést okozna fájlszerver az akadálymentesítés redundáns újraellenőrzése.

Hozzáférést biztosítunk a csoporthoz" _1C Bases – Hozzáférés az 1CBases.cfg konfigurációs fájlhoz» olvasási jogok.

Isteni kézikönyvek egy képen. Ezer szó helyett.

A legelső lépés a címtárobjektumok alapértelmezett beállításainak visszaállítása Sync-1CBases. Az engedély öröklésének letiltása. Elmegyünk " RENDSZER”, helyi Rendszergazdák, Domain Admins. Ahol van erdő, felvehet vállalati rendszergazdákat és/vagy delegált rendszergazdákat. A kapott eredményt örökléssel alkalmazzuk. Azonnal, anélkül, hogy távol hagynánk a pénztárgépet, hozzáadjuk az AD csoportot " _1C Bases – Hozzáférés az 1CBases.cfg konfigurációs fájlhoz» a jobb oldalon Olvasásés csak ezen a könyvtáron öröklődés nélkül. Ebben a lépésben lehetőséget kapunk, hogy elérjük a mappa gyökerét, és megkapjuk a könyvtárban található fájlok listáját.


Még mindig nem vagyok hozzászokva ehhez a felülethez a hozzáférési jogok beállításához.

fájlonként 1CEStart.cfg csak olvasási hozzáférést biztosítunk az AD csoportnak " _1C Bases – Hozzáférés az 1CBases.cfg konfigurációs fájlhoz»

Ezután minden v8i alapkonfigurációs fájl hozzáférést kap az Active Directory hozzáférési csoportjához:

Ismételje meg az utolsó lépést, amíg a v8i adatbázis-konfigurációs fájlok el nem fogynak.

5. szakasz – Csoportházirendek
Sokan nem használják a csoportházirendet. Sokan megvetően keveset használják őket. Hiába, hiába, hiába. Ez egy nagyon hatékony eszköz, amely még kis irodákban is megkönnyíti a munkahelyi életet.

Hozzon létre egy új csoportházirendet, kapcsolja össze a tartomány gyökerével. Jelezzük, hogy csak azzal működik Domain számítógépek:

A fő felfedezés (vagy árnyalat) itt az, hogy az adatbázisok listáját nem a felhasználó, hanem a számítógép köti össze. Sajnos a felhasználó saját jogaival nem tudja lecserélni a ben található konfigurációs fájlt C:\ProgramData\1C\1CEStart\és a PC megteszi helyette.

Szabályzat szerkesztése:

Itt az a feladat, hogy vegyen egy fájlt egy megosztott erőforrásból, és cserélje ki a helyi fájlt.
Annak érdekében, hogy ezt csak egy 1C-vel rendelkező PC tegye meg, a csoportházirend végrehajtásának feltételeit a következőn keresztül határozzuk meg Tételszintű célzás.

Ellenőrizzük a telepített 1C jelenlétét:

Ez a legelemibb teszt. Ellenőrzi az x86 és x64 kiadásokat operációs rendszer. Nem tesz különbséget szerver és kliens operációs rendszerek között.

Maguk az ellenőrzési feltételek azonban meglehetősen széles körben változtathatók, bizonyos szervezeti egységekre alkalmazva ezeket a beállításokat, a hálózati erőforrások rendelkezésre állási feltételeitől és sok más paramétertől függően, ami lehetővé teszi a csoportházirend kiváltásának feltételeit a lehető legnagyobb mértékben.

A fájl a számítógép indításakor, vagy 90+-percenként egyszer kerül sorba.

6. szakasz – Felhasználó
Fogjuk a felhasználót. És add hozzá a hirdetéscsoportokhoz:

Ezt követően bejelentkeztetjük a felhasználót a rendszerbe, elindítjuk az 1C-t, amely beolvassa a konfigurációs fájlt, és összekapcsolja az összes v8i fájlt, amelyhez a felhasználó hozzáfér. Eredmény:

Pontosan ezt próbálták elérni.

Ugyanabban az időben ezt a döntést nincs hatással a fájlra C:\Felhasználók\%felhasználónév%\AppData\Roaming\1C\1CEStart\ ibases.v8i amelyben a felhasználó által regisztrált adatbázisok tárolódnak. A felhasználói adatbázisok listájának törléséhez azonban bármikor visszaállítható. Csoportpolitika a kezedben!

Epilógus
Formálisan a sok megvalósítási lehetőség közül egyet teljesítettem. közvetítette az ideológiát. A cikk további megoldásai meglehetősen tágak lehetnek:
V8i fájl automatikus létrehozása, hozzáadása a cfg-hez, AD csoport létrehozása az 1C bázishoz.
Az 1C-szakemberek hozzáférésének szerkesztése ugyanazon fájlokhoz.
A cfg konfigurációs fájl relevanciájának ellenőrzése, mielőtt PC-re cserélné.
Paranoiások számára létrehozhat cfg fájlokat előre meghatározott listákkal, és a v8i-ban egynél több alapot írhat. És általában a v8i fájlneveket az alapnév megadása nélkül hozzon létre.
Lehetőség van megváltoztatni a cfg fájl PC-re szállításának módját, ahol a PC konfigurációban a hozzáférési jogok adott fájl, és a jogosultságokkal rendelkező felhasználó felülírja azt.
És még sok más. Amit csak akarsz. Mindenki szabadon dönthet saját maga.

Teljes:
Sok a felhasználó!- nem számít.
Nagyon sok alap van!- hozzáadta az 1Sniki adatbázist a nyilvántartáshoz, a felhasználók megkapták. Nincs megadva – a következő bejelentkezéskor még az öncsatlakozott adatbázis is eltűnik a felhasználó elől, ha a helyi adatbázisok listájának visszaállítása engedélyezett.
Tiszta alapnevek!- kit érdekel? Mindig naprakész információkkal rendelkezik. Nincs teljes információ az adatbázisról - nincs adatbázis a felhasználók számára.
Gyakori felhasználói rotáció!- Volt alkalmazás a bázis csatlakoztatására? Van alap! Megváltozott a hely vagy az egység, elveszett a bázis a visszaállítási jogokkal együtt. - Ahol? Miért? Kiegyensúlyozott, pontos célzás, csak naprakész információk, egyszerű karbantartás és támogatás.
Hol vannak a bázisaim?!- nem megengedett! Vagy kérem használja. Mindenki boldog.
1C klaszterek? DB szerverek?- nincs zűrzavar. Már minden be van állítva. A technikusok hasznos dolgokkal vannak elfoglalva, és nem azon gondolkodnak, hogy kit, hol és mit írjanak fel, hogyan nevezzék el, és hogyan ne hagyják reggelente könyvelési rendszer nélkül a felhasználókat egy frissítés miatt.

P.S

egy napot töltöttem. Hogy öt perc múlva repüljön. Köszönöm!

frissítés:
habrazhitel -