Directoare, pe manualul 1s

Directory este o listă de valori posibile ale propunerii. Referințele utilizate în acele cazuri în care este necesar pentru a elimina intrarea ambiguă a informațiilor. De exemplu, pentru cumpărător, vânzătorul, magaziner, regizorul știa ce fel de produs în cauză, toată lumea ar trebui să-l numesc în același mod. Și în acest caz, este necesară referința. De obicei, retailerul are forma de lista de prețuri, și dacă un astfel de director este stocat în computer, acesta va purta întreaga gamă de bunuri, lucrări cu societăți comerciale.

1C: Enterprise permite un număr practic nelimitat de directoare necesare. Fiecare ghid este o listă de obiecte similare: angajați, organizații, produse, etc. Fiecare astfel de obiect este numit un element de referință ...

Din perspectiva utilizatorului, trebuie să se țină seama de faptul că nu este creată referința în configuratorul ca o listă de valori, și este în curs de dezvoltare un preparat manual, șablonul acestuia. În timpul configurării, o structură de informații care urmează să fie stocate în ecranul de director este dezvoltat și, dacă este necesar, reprezentarea tipărită a directorului, sunt date diferite caracteristici ale sale „comportament“.

Ca detaliile obligatorii fiecare are un cod de referință și numele. element de cod de referință poate fi numerică sau textuale. 1C: Enterprise oferă ample posibilități de a lucra cu coduri de elemente director: alocarea automată a codurilor, de control automat și un alt cod unic.

În plus față de codul și numele, în directoare 1C: Enterprise poate stoca orice informații suplimentare cu privire la elementul de ghidare. Pentru a stoca astfel de informații în directorul poate fi creat o listă de detalii. Folosind manualul detalii mecanismul, este ușor de a asigura, de exemplu, un fișier de angajați carte. De exemplu, personalul de referință va avea aproape sigur atribute din titlu. Salariul și alte. 1C anticipat programatori introduse în toate directoarele dat deja două atribute: numele și codul. Într-adevăr, aproape orice obiect din lumea reală conține aceste atribute. De exemplu, codul angajat servește numărul de personal și numele - prenumele, numele de mijloc (numele complet).

Pentru fiecare atribut, directorul trebuie să specificați tipul de date, de exemplu, „număr“, „string“, „data“ (în versiunea 8.0 există un tip de booleene - Adevărat sau fals). Acestea sunt tipurile de bază, dar puteți specifica tipuri de date complexe. De exemplu, funcția de atribut are un tip de date Poziții. În acest caz, valoarea acestui atribut va fi ales din directorul poziții. Astfel, pune în aplicare o relație simplă între directoare, valorile atributului atunci când un director selectat dintr-un alt director.


Întredeschis procedură ()
. SpravochnikSpisok.Otbor.Kartochka.Ustanovit (anul 1980);
. // Întrebări de la cititori: Cum de a preveni un utilizator pentru a schimba criteriile de selecție?
KonetsProtsedury

Filtru static (numai versiunea 7.7)

În 1C 7.7 nu poate fi stabilită prin recuzită de selecție periodică sau mai multe detalii simultan (filtru complex). În acest caz, ieșirea din poziția poate fi metoda IspolzovatSpisokElementov. Această metodă este necesară pentru a trece o listă de elemente care ar trebui să fie afișate. Pre-necesitatea de a crea această listă.

SpisokElementov sozdatObekt = ( "SpisokZnacheny");
SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr.IspolzovatDatu (RabochayaData ());
SprSotr.VybratElementy ();
In timp ce SprSotr.PoluchitElement () = 1 ciclu
. Dacă (SprSotr.Roditel = gruppaRabotayuschie) ȘI (SprSotr.Dolzhnost = dlzhPlotnik) Atunci
. SpisokElementov.DobavitZnachenie (SprSotr.TekuschiyElement ());
. ENDIF;
KonetsTsikla;

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
Mod = 0; // alege fără a ține cont ierarhia 1 - luând în considerare (implicit).
SprSotr.VybratElementy (mod);
In timp ce SprSotr.PoluchitElement () = 1 ciclu
. <действия с очередным элементом/группой>
KonetsTsikla;

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
RezhimIerarhii = 1; // 1 selectat ținând cont de ierarhia 0 - fără
RezhimGrupp = 0; // 0 - să nu includă în grupul de proba 1 - includ
ImyaRekvizita = "Anul"; selecție // în configuratorul în recuzita trebuie să fie activat
Valoare = 1980;
SprSotr.VybratElementyPoRekvizitu (ImyaRekvizita, valoarea RezhimIerarhii, RezhimGrupp);
In timp ce SprSotr.PoluchitElement () = 1 ciclu
. <действия с очередным элементом>
KonetsTsikla;

Filtrarea în ciclul

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr.IspolzovatRoditelya (grpRabotayuschie);
SprSotr.IspolzovatDatu (RabochayaData ());
SprSotr.VybratElementy ();
In timp ce SprSotr.PoluchitElement () = 1 ciclu

Dacă SprSotr.Dolzhnost <> apoi dlzhPlotnik
. continua; // angajatul lipsește, du-te la partea de sus a buclei
ENDIF;

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

Înainte de a proba, puteți specifica ordinea de sortare dintre următoarele metode:

PoryadokKodov ()
PoryadokNaimenovany ()
PoryadokRekvizita (ImyaRekv) // props y trebuie să fie selectate în Configurator sortare
ObratnyyPoryadok ()

De exemplu, mai mici oferă angajaților eșantion, sortate după descendent numere:

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr.PoryadokKodov ();
SprSotr.ObratnyyPoryadok ();
SprSotr.VybratElementy ();

O cerere la directorul

Parcurge directorul pot fi aranjate la cerere. Acest lucru este adesea mai convenabil atunci când sunt utilizate condiții de selecție complexe sau elemente de grupare. Pentru detalii, a se vedea. Interogări

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
Dacă SprSotr.NaytiElement (VybrSotr) = 1 Apoi
. // devine elementul curent
. SprSotr.Roditel = grpRabotayuschie;
. SprSotr.Zapisat ();
ENDIF;

Dacă SprSotr.NaytiPoKodu (1) = 1 Apoi
. ElementIliGruppa SprSotr.TekuschiyElement = ();
ENDIF;

Căutare după nume

Dacă SprSotr.NaytiPoNaimenovaniyu ( "lucrat") = 1 Apoi
. grpRabotayuschie SprSotr.TekuschiyElement = ();
ENDIF;

= 1 mod; // 1 - Căutați în prezentarea specificat (părinte) (implicit.); 0 - Căutare în toate directorul
FlagPoiska = 0; // 1 - pentru a găsi o potrivire exactă; 0 - găsi numele primelor caractere (implicit)
SprSotr.IspolzovatRoditelya (grpRabotayuschie);
Dacă SprSotr.NaytiPoNaimenovaniyu (modul "Eva", FlagPoiska) = 1 Apoi
. PervyyRabotayuschiyIv SprSotr.TekuschiyElement = ();
ENDIF;

recuzită de căutare

ImyaRekv = "Anul"; // la recuzita trebuie să fie selectate în configuratorul Sortare
FlagGlobPoiska = 1; 1 // Căutați întregul director, 0 - pentru a căuta în subordinea
Dacă SprSotr.NaytiPoRekvizitu (ImyaRekv 1980 FlagGlobPoiska) = 1 Apoi
. NaydennyyElement SprSotr.TekuschiyElement = ();
ENDIF;

Căutați un element în buclă

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr.IspolzovatRoditelya (grpRabotayuschie);
SprSotr.IspolzovatDatu (RabochayaData ());
SprSotr.VybratElementy ();
In timp ce SprSotr.PoluchitElement () = 1 ciclu

Dacă SprSotr.Dolzhnost = dlzhPlotnik Atunci
. avorteze; // găsi de lucru ca tâmplar! ieși din ciclul
ENDIF;

KonetsTsikla;
<действия с найденным элементом>

O cerere la directorul

Elementul de căutare director poate fi aranjat la cerere. Acest lucru este adesea mai convenabil atunci când sunt utilizate condiții de selecție complexe. Pentru detalii, a se vedea. Interogări

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr.NaytiElement (VybrSotrudnik);
SprSotr.Udalit (); // îndepărtarea directă

Atenție! Dacă scoateți direct elementul, apoi asigurați-vă că nu au link-uri către alte site-uri. De exemplu, pentru a șterge un angajat poate fi utilizat în document și de sărbători. La scoaterea integritatea referențială a bazei de date va fi rupt. În acest caz, se recomandă să utilizeze marca pentru ștergere.

Se poate obține o listă de obiecte software care conțin o referire la obiectul care urmează să fie șters de către NaytiSsylki (obiect).

îndepărtarea de marcare

Pentru a controla integritatea bazei de date de referință elimină elementele marcate numai pentru ștergere. Apoi, o comandă a operațiilor de meniu special => „Ștergerea marcate obiecte“ în sistem exclusiv 1C modul va verifica integritatea referențială și fizic eliminați elementele din baza de date în cazul în care au link-uri către alte site-uri.

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr. NaytiElement (VybrSotrudnik);
SprSotr. Ștergere (0); // îndepărtarea mărcii

// puteți testa dacă elementul este marcat pentru ștergere
// returnează 1 - dacă este marcat, 0 - în cazul în care nu
Tagging = SprSotr. PometkaUdaleniya ();

// puteți debifa de ștergere
SprSotr. NaytiElement (VybrSotrudnik);
SprSotr. SnyatPometkuUdaleniya ();

Atunci când ștergerea unei multitudini de elemente de ghidare pentru a accelera ciclul de lucru poate încheia o tranzacție. În acest caz, eliminarea efectivă (marca pentru ștergere) a tuturor elementelor are loc doar la comandă, ZafiksirovatTranzaktsiyu (). La momentul de referință al tranzacției blocat.

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
BeginTransaction ();

SprSotr.VybratElementy ();
In timp ce SprSotr.PoluchitElement () = 1 ciclu
. SprSotr.Udalit (0); // îndepărtarea mărcii
KonetsTsikla;

Elemente de director în Lista 1C: Enterprise sistem poate fi mai multe niveluri. În acest caz, toate liniile de referință vor fi împărțite în 2 tipuri: elemente „simple“ ale directorului și grupul director. Grupurile permit să se mute la niveluri mai mici de director multi-nivel. Posibila Numărul de niveluri de director cuiburi specificate în Designer.

Utilizarea directoarelor pe mai multe niveluri vă permite să organizați intrarea informațiilor în manualul cu gradul necesar de detaliu. Articole și grupuri de elemente într-un director pe mai multe niveluri pot fi transferate de la un grup la altul.

Atenție! Directorul ierarhic - este, de asemenea, un director multi-nivel sau un director cu grupurile.
grup director 1C este adesea numit „părintele“.

Creare grup

SprSotr.NovayaGruppa ();
SprSotr.Naimenovanie = "muncă";
SprSotr.Zapisat ();

SprSotr.NovayaGruppa ();
SprSotr.Naimenovanie = "respins";
SprSotr.Zapisat ();

Atenție! În Configurator, puteți seta recuzita pe care acesta nu este valabil numai pentru elementul, numai pentru un grup sau pentru ambele. De exemplu, câmpul DataPriema nu are nici un sens pentru grupul de a lucra cu. Prin urmare, nu este necesar pentru a avea acces detalii de elemente, dacă lucrați cu un grup, și vice-versa.

Instalarea grupului curent

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr.IspolzovatRoditelya (grpRabotayuschie); // acum suntem în Grupul funcționează
SprSotr.VybratElementy (); // deschide eșantionul elemente care funcționează grupurile

SprSotr SozdatObekt = ( "Spravochnik.Sotrudniki");
SprSotr.IspolzovatRoditelya (grpRabotayuschie);
SprSotr.Novy (); // a crea o nouă intrare în cadrul grupului de lucru

Informații despre elementul curent

În cazul în care un director de mai multe niveluri, acesta va fi de ajutor pentru a utiliza următoarele metode și atribute care furnizează informații despre directorul elementul curent:

Returnează un șir care conține numele complet al elementului selectat din directorul cu toate nivelul superior, separate printr-un „/“.

Alegerea dialogului necesar grup

Acesta este adesea convenabil pentru detalii privind forma sunt de tip director, dezactivați posibilitatea de a selecta un grup. Apoi, numai element și nu poate fi selectat de grup poate fi selectat în acest domeniu. În general, este mai ușor să încerce o dată decât să explice de mai multe ori.

Forma.VybrSotrudnik.VyborGruppy (0); // dezactiva posibilitatea de a selecta un grup

proprietar director. este, de asemenea, o gazdă de referință.
proprietar și director de referință sclav este, de asemenea, declarat a fi legate directoare.
În ceea ce privește relationale proprietarul directorul bazei de date - o tabelă părinte și o referință subordonat - este masa pentru copii.

Numirea directoare subordonate

Orice referință poate fi utilizat de la sine, sau să fie supus oricărui alt director. De exemplu, tratatele de referință pot fi utilizate singure, și poate fi asociat cu un director de organizații.

Pentru referință subordonat oricare dintre directoarele care există deja în sistem, în „subordonat“, selectați numele directorului. Această referință în 1C: Enterprise numit proprietarul.

Spre deosebire de directorul de mai multe niveluri, în care toate elementele au aceeași structură, utilizarea de directoare mecanism subordonat permite conectarea diferitelor elemente ale structurii. În acest caz, fiecare element al directorului subordonat este asociat cu unul din ghidul de elemente de susținere a.

lucrari exterior cu un director subordonat în 1C: Enterprise va fi după cum urmează.

În cazul în care un mod de afișare director subordonat este situat într-o listă ierarhică, înainte de a utiliza directorul trebuie să fie mai întâi selectat proprietar element de director. La afișarea directorul slave ecran va include în numele său proprietar element de antet și o listă de elemente director subordonat va conține numai elemente pertinente pentru elementul-proprietar. Dacă modificați informațiile celulei proprietarului, într-o fereastră director subordonat va fi actualizat în mod corespunzător.

Dacă deschideți o referință subordonat, nu selectarea unui element-proprietar, într-o fereastră director subordonat nu va arăta nici un element, iar în bara de titlu va primi un mesaj „Nu setați proprietarul elementului.“

Atunci când se lucrează cu 1C: Prednriyatie pentru un director subordonat poate fi înscris într-o listă ierarhică. În acest caz, directorul subordonat în fereastra va afișa toate elementele directorului, care este, articole diferite patch-uri pentru proprietari, vor fi afișate alternativ. Cu toate acestea, orice element al unui director subordonat „știe“ proprietarul său: Când modul de director este pornit „Edit în dialog“ (.. A se vedea mai jos paragraful „Crearea de director Formulare“), numele de membru-proprietarului va fi dat elementul de editare din titlu a ferestrei director.

Setarea proprietarului actual

SprDogovory SozdatObekt = ( "Spravochnik.Dogovory");
SprDogovory.IspolzovatVladeltsa (VybrKontragent);
SprDogovory.VybratElementy (); // deschide un eșantion de contracte de antrepriză selectat
<.>

Informații despre elementul curent

În cazul în care o referință subordonat, ar fi util să se aplice următoarele metode și atribute care furnizează informații despre directorul elementul curent: