Referenciák, az 1sz

A könyvtár egy adott alkatelem lehetséges értékeinek listája. A könyvtárakat abban az esetben használják, ha szükség van a bizonytalan adatbevitel kizárására. Például annak érdekében, hogy a vevő, az eladó, a raktárkezelő és a rendező megértse, hogy milyen termékről beszélnek, mindenkinek ugyanazt kell hívnia. És ebben az esetben szükség van egy kézikönyvre. Általában egy kereskedelmi vállalatnál van árjegyzéke, és ha egy ilyen könyvtárat tárolnak egy számítógépben, akkor magában foglalja az összes olyan lehetséges termékválasztékot, amellyel a kereskedési vállalat működik.

1C rendszer: A vállalat lehetővé teszi, hogy gyakorlatilag korlátlan számú szükséges könyvtárat bonyolítson le. Minden könyvtár homogén objektumok listája: alkalmazottak, szervezetek, áruk, stb. Mindegyik objektumot a könyvtár egyik elemeként hívják.

A felhasználó szemszögéből szem előtt kell tartani, hogy a konfigurátor nem hozza létre magát a könyvtárat, hanem az értékek listáját, de kifejlesztette a referenciakönyvt, annak sablont. A konfigurációs folyamat során leírják a könyvtárban tárolt információk szerkezetét, a könyvtár képernyőjén és szükség szerint nyomtatott prezentációját kifejlesztik, a "viselkedés" különféle jellemzői kerülnek beállításra.

Kötelező követelményként minden könyvtár rendelkezik kóddal és névvel. A könyvtár eleme lehet numerikus vagy szöveges. 1C: A cég széles körű lehetőségeket kínál a könyvtár elemeinek kódjával való együttműködésre: automatikus kódok hozzárendelése, a kód egyediségének automatikus ellenőrzése és mások.

A kód és a név mellett az 1C: Enterprise rendszer könyvtára tárolhat minden további információt a könyvtár eleméről. Az ilyen információknak a könyvtárba történő tárolásához készletlistát lehet létrehozni. A könyvtár részleteinek mechanizmusa segítségével könnyű megszervezni például a munkavállalók kártyafájljait. Például a Könyvtári alkalmazottak szinte biztosan tartalmaznak attribútumokat. Fizetés és mások. Az 1C cég várt programozókat és minden könyvtárba bevezett két már megadott attribútumot: Code and Name. Valójában szinte minden tárgy a való életből ezeket a tulajdonságokat tartalmazza. Például a munkavállalók esetében a munkavállalói kód a személyi szám, és a név a vezetéknév, utónév, utónév (név).

A könyvtár minden attribútumához meg kell adni az adattípust, például "szám", "string", "date" (a 8.0-es verzióban van egy másik típusú Boolean-True vagy False). Ezek alap típusúak, de összetett adattípusokat is megadhat. Például a Pozíció attribútumban az Üzenetek adattípusa szerepel. Ebben az esetben az attribútum értékeit a Posts könyvtárból választja ki. Tehát a könyvtárak közötti legegyszerűbb kapcsolat akkor valósul meg, amikor egy könyvtár attribútumainak értékeit egy másik könyvtárból választják ki.


Eljárás a közzétételre ()
. Directory List.Select.Map.Set (Year, 1980);
. // kérdés az olvasók számára: hogyan lehet megakadályozni, hogy a felhasználó megváltoztassa a kiválasztási feltételeket?
Az eljárás vége

Statikus szűrő (csak a 7.7-es verzió)

Az 1C 7.7-ben nem választhat egyszerre szükséges vagy többszörös követelményeket (összetett szűrő). Ebben az esetben az Elemek listájának használata módja lehet a helyzetből. Ez a módszer átadja az elemek listáját, amelyeket meg kell jeleníteni. Korábban létre kell hozni ezt a listát.

Elemlista = az objektum létrehozása ("Értékek listája");
СпрСотр = CreateObject ("Directory Employees");
СпрСотр.UspolzovatDatu (WorkDate ());
СпрСотр. Elemek kiválasztása ();
Míg a СпрСотр.ПолучитьЭлемент () = 1 Ciklus
. Ha (СпрСотр.Родитель = ГруппаБаботающие) És (СпрСотр.Должность = дляжПлотник) Akkor
. Elemek listája Érték hozzáadása (Cpr.Current Element ());
. End If;
A ciklus vége;

СпрСотр = CreateObject ("Directory Employees");
Mód = 0; // válasszuk hierarchia nélkül, 1 - (alapértelmezett)
Válassza ki a elemeket (mód);
Míg a СпрСотр.ПолучитьЭлемент () = 1 Ciklus
. <действия с очередным элементом/группой>
A ciklus vége;

СпрСотр = CreateObject ("Directory Employees");
Hierarchia mód = 1; // 1- válassza ki a hierarchiát, 0 - nem tartalmazza
ModeGroup = 0; // 0 - nem tartalmaznak csoportokat a mintában, 1 - include
A követelmény neve = "Év"; // a Konfigurátorban a kellékeknél a Kiválasztás jelölőnégyzetet ki kell választani
Érték = 1980;
Válassza ki a ElementsProperty (Előírás, érték, ModeHierarchies, ModeGroup) nevét;
Míg a СпрСотр.ПолучитьЭлемент () = 1 Ciklus
. <действия с очередным элементом>
A ciklus vége;

Szűrés egy hurokban

СпрСотр = CreateObject ("Directory Employees");
СпрСотр.Uspolzovat the Parents (грпРоботающие);
СпрСотр.UspolzovatDatu (WorkDate ());
СпрСотр. Elemek kiválasztása ();
Míg a СпрСотр.ПолучитьЭлемент () = 1 Ciklus

Ha СпрСотр.Дожность <> a szikla után
. tovább; // kihagyja ezt a munkatársat, menj a ciklus elejére
End If;

<действия с очередным элементом>

A kiválasztás előtt a rendezési sorrendet a következő módszerekkel adhatja meg:

Kóddal kapcsolatos rendelés ()
Rendelésnév ()
A követelményrendszer (a fészer neve) rendje / / a felajánlónak rendelkeznie kell a Rendezés a konfigurátorban jelölőnégyzet bejelölve
Fordított rendelés ()

Az alábbiakban például az alkalmazottak válogatása válogatott számokkal csökkenő sorrendben:

СпрСотр = CreateObject ("Directory Employees");
СпрСотр.ПаядокКодов ();
СпрСотр.ОбратныйПрядок ();
СпрСотр. Elemek kiválasztása ();

Referencia-kérelem

A címtár elemeinek felsorolása a kérésen keresztül szervezhető. Gyakran ez kényelmesebb, ha összetett kiválasztási feltétel vagy elemek csoportosítása kerül alkalmazásra. További információ: Lekérdezések.

СпрСотр = CreateObject ("Directory Employees");
Ha СпрСотр.НайтиЭлемент (ВыбрСотр) = 1 Akkor
. // az elem a jelenlegi lesz
. СпрСотр.The szülő = грпСобтающие;
. СпрСотр.Write ();
End If;

Ha СпрСотр.НайтиПоКоду (1) = 1 Akkor
. Element OrGroup = CprCom.Current Element ();
End If;

Keresés név szerint

Ha СпрСотр.НайтиПНиименованию ("Working") = 1 Akkor
. grpRabotayuschie = SproSotr.TekushchiyElement ();
End If;

Mode = 1; // 1 - a meghatározott alárendelésen belül (szülő) belül keresni (alapértelmezés szerint); 0 - keresés a teljes könyvtárban
Keresés Flag = 0; // 1 - megtalálja a pontos egyezést; 0 - az első karakterek megkeresése (alapértelmezés szerint)
СпрСотр.Uspolzovat the Parents (грпРоботающие);
Ha СпрСотр.НайтиПНиимменованию ("Ив", Mode, Search Flag) = 1 Akkor
. Első WorkingIb = CprCom.Current Element ();
End If;

Keresés kellékekkel

NameReck = "Év"; // a kelléknek rendelkeznie kell a Rendezés a Konfigurátorban jelölőnégyzet bejelölésével
Keresés jelző = 1; // 1- keresés a teljes könyvtárban, 0 - keresés az alárendeltség határain belül
Ha СпрСотр.НайтиPoevvisit (First Name, 1980, SearchGlobal Flag) = 1 Akkor
. A talált elem = СпрCотр.ТекущийЭлемент ();
End If;

Elem keresése egy hurokban

СпрСотр = CreateObject ("Directory Employees");
СпрСотр.Uspolzovat the Parents (грпРоботающие);
СпрСотр.UspolzovatDatu (WorkDate ());
СпрСотр. Elemek kiválasztása ();
Míg a СпрСотр.ПолучитьЭлемент () = 1 Ciklus

Ha СпрСотр.Дожность = Szövetre
. megszakítani; // talált egy működő asztalos! szakítsa meg a ciklust
End If;

A ciklus vége;
<действия с найденным элементом>

Referencia-kérelem

A lekérdezés segítségével egy címtár bejegyzést szervezhet. Gyakran ez kényelmesebb, ha összetett kiválasztási feltétel alkalmazható. További információ: Lekérdezések.

СпрСотр = CreateObject ("Directory Employees");
СпрСотр.НайтиЭлемент (Válassza ki a munkavállalót);
СпрСотр.Udalit (); // közvetlen törlés

Figyelem! Ha az elem közvetlen törlését hajtja végre, győződjön meg róla, hogy nem hivatkozik más objektumokra. Például a törölt munkavállaló használható a Hagyományban. Ha törlik, az adatbázis referenciális integritását megsértik. Ebben az esetben javasoljuk, hogy használja a törlési jelet.

A FindLink (objektum) módszerrel törölhető objektumokat tartalmazó objektumok listáját programozhatja.

Törlés zászló

Az adatbázis referenciális integritásának ellenőrzésére a törölt elemek csak a törléshez vannak jelölve. Ezután a speciális menüparancsok műveletek => "Címkézett objektumok eltávolítása" exkluzív üzemmódban az 1C rendszer ellenőrzi a referenciális integritást és fizikailag eltávolítja az elemeket az adatbázisból, ha nem hivatkoznak más objektumokra.

СпрСотр = CreateObject ("Directory Employees");
SprSotr. Elem keresése (Alkalmazott kiválasztása);
SprSotr. Törlés (0); // jelölje be a törlésre

// ellenőrizheti, hogy az elem törlésre került-e
// függvény visszatér 1 - ha megjelölve, 0 - ha nem
Mark = СпрСотр. MarkUnit ();

// törölheti a törlést
SprSotr. Elem keresése (Alkalmazott kiválasztása);
SprSotr. Törölje a (z) Törlés () elemet;

A munkafolyamat felgyorsításához a könyvtárbejegyzések készletének törlésével egy ciklust beilleszthet egy tranzakcióba. Ugyanakkor az összes elem tényleges törlése (törlés jelölése) csak a "Tranzakció lezárása" () parancs segítségével történik. A tranzakció időtartama alatt a könyvtár le van tiltva.

СпрСотр = CreateObject ("Directory Employees");
StartTransaction ();

СпрСотр. Elemek kiválasztása ();
Míg a СпрСотр.ПолучитьЭлемент () = 1 Ciklus
. СпрСотр.Удалить (0); // jelölje be a törlésre
A ciklus vége;

A könyvtár elemeinek felsorolása a rendszerben 1C: Az Enterprise többszintű lehet. Ebben az esetben a könyvtár összes vonala kétféleképpen oszlik: "csak" a könyvtár elemei és a könyvtár csoportjai. A csoportok lehetővé teszik, hogy a többszintű könyvtár alsó rétegei közé lépjenek. A könyvtár lehetséges fókuszolási szintje a Konfigurátorban van megadva.

A többszintű könyvtárak lehetővé teszik az információk bevitelét a könyvtárba a szükséges részletességgel. A többszintű könyvtárban lévő elemek és elemcsoportok átvihetők egy csoportról a másikra.

Figyelem! A hierarchikus könyvtár egy többszintű referenciakönyv vagy egy csoportos könyvtár is.
Az 1C címtárcsoportot gyakran "szülőnek" hívják.

Szoftvercsoportok létrehozása

СпрСотр.Навая Group ();
СпрСотр.Наимено = "Munka";
СпрСотр.Write ();

СпрСотр.Навая Group ();
СпрСотр.Наимено = "elutasított";
СпрСотр.Write ();

Figyelem! A Konfigurátorban megadhatja, hogy a kellékek csak az elemre vonatkoznak, csak a csoportra vagy mindkettőre. Például a DateDemo mezőnek nincs értelme a Workgroup számára. Ezért ne hivatkozzon az elemek részleteire, ha csoporttal dolgozik, és fordítva.

Állítsa be az aktuális csoportot

СпрСотр = CreateObject ("Directory Employees");
СпрСотр.Uspolzovat the Parents (грпРоботающие); // most a Munkacsoportban vagyunk
СпрСотр. Elemek kiválasztása (); // nyissa meg a csoporttagok kiválasztását

СпрСотр = CreateObject ("Directory Employees");
СпрСотр.Uspolzovat the Parents (грпРоботающие);
СпрСотр.New (); // hozzon létre egy új elemet a Munkacsoportban

Információ az aktuális elemről

Ha a könyvtár többszintű, hasznos lesz az alábbi módszerek és attribútumok használata, amelyek lehetővé teszik, hogy információkat szerezzen a könyvtár aktuális eleméről:

Visszaad egy olyan karakterláncot, amely tartalmazza a kiválasztott bejegyzés teljes nevét a könyvtárban, és a "/" szimbólummal elválasztott szülő szintek.

A csoport kiválasztása a párbeszéddobozokban

Gyakran kényelmes az űrlapon lévő, a Directory típusra vonatkozó követelményeknél, hogy tiltsa le a csoport kiválasztását. Ezután csak egy elemet lehet kiválasztani ebben a mezőben, és egy csoport nem választható ki. Általában könnyebb megpróbálni egyszer, mint többször megmagyarázni.

Űrlap Válassza ki az alkalmazottakat Válassza ki a csoportokat (0); // tiltsa le a csoport kiválasztását

Könyvtár tulajdonos. ez egy mesterkönyvtár is.
A tulajdonos könyvtárat és az alárendelt könyvtárat hivatkozott könyvtáraknak is nevezik.
A relációs adatbázisok esetében a tulajdonos könyvtár a szülõtábla, az alárendelt könyvtár a gyermektáblázat.

Alárendelt könyvtárak hozzárendelése

Bármelyik könyvtár önmagában is használható, és alárendelheti egy másik könyvtárat. Például a szerződések könyvtára külön is használható, és kapcsolódhat a szervezetek könyvtárához.

A könyvtárnak a rendszerben már létező könyvtárak alárendeléséhez a "Alárendelt" mezőben ki kell választania a könyvtár nevét. Egy ilyen könyvtár az 1C-ben: A céget tulajdonosnak hívják.

A többszintű referenciakönyvtől eltérően, amelyben minden elem ugyanolyan szerkezettel rendelkezik, az alárendelt könyvtárak mechanizmusának használata lehetővé teszi a különböző struktúrák elemeinek összekapcsolását. Ebben az esetben az alárendelt könyvtár minden egyes eleme a tulajdonos könyvtár egyik elemével társul.

Kívülről az 1C: Enterprise rendszer alárendelt könyvtáraival való munka fog kinézni.

Ha egy alárendelt könyvtár megjelenítési mód, mely egy hierarchikus lista, mielőtt a könyvtár előbb ki kell választani elem könyvtár tulajdonosa. Amikor megjeleníti a képernyőn szolga könyvtár tartalmazza a fejlécében elem tulajdonos neve és az elemek listáját alárendelt könyvtár fogja tartalmazni elemek relevánsak az elem-tulajdonos. A tulajdonosi elem megváltoztatásakor az alárendelt könyvtár ablakban lévő információk megfelelően frissülnek.

Ha megnyit egy alárendelt referencia, nem adja meg egy elem tulajdonosa, alárendelt könyvtár ablak nem jelenik meg semmilyen elemet, és a címsorban egy üzenet jelenik meg: „Ne állítsa az elem tulajdonosa.”

Ha az 1C: Enterprise rendszert egy alárendelt könyvtárhoz használja, akkor a kijelző hierarchikus listáként letiltható. Ebben az esetben a könyvtár összes eleme megjelenik az alárendelt könyvtárablakban, vagyis a különböző tulajdonosok számára javított elemek felváltva jelennek meg. Azonban bármely elemének alárendelt könyvtár „tudja” a tulajdonos: Ha a könyvtár mód be van kapcsolva a „Szerkesztés párbeszéd” (.. Lásd alább bekezdés létrehozása „Forms könyvtár”), a tagok által a tulajdonos nevét meg kell adni a Felvételszerkesztő eleme ablakot.

Az aktuális tulajdonos beállítása

SprdDogovory = CreateObject ("Handbook.Contracts");
SprDogovory.Ipolzovat a tulajdonos (VybrKontragent);
SprDogovory.Vybrat Elements (); // nyissa meg a mintát a kiválasztott partner szerződéseinek megfelelően
<.>

Információ az aktuális elemről

Ha a könyvtár alárendelt, akkor hasznos lesz az alábbi módszerek és attribútumok használata, amelyek lehetővé teszik, hogy információkat szerezzen a könyvtár aktuális eleméről:

Kapcsolódó cikkek