Alocarea directoarelor
Directorul stochează o listă cu valori posibile pentru un obiect sau elemente de recuzită. Directoarele sunt utilizate în acele cazuri când este necesar să se excludă informații ambigue. De exemplu, pentru ca cumpărătorul, vânzătorul, depozitarul și directorul să înțeleagă ce fel de produs este, toată lumea ar trebui să o numească la fel. Și în acest caz avem nevoie de o carte de referință. De obicei, la o întreprindere comercială are forma unei liste de prețuri.
Sistemul 1C: Enterprise 8 vă permite să efectuați un număr practic nelimitat de directoare necesare. Fiecare director este o listă de obiecte omogene: posturi, angajați, clienți, bunuri etc. Fiecare astfel de obiect este numit un element al directorului.
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 descrise informații structură 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 comportamentului său.
Obligațiile directorului (câmpurilor)
Ca o cerință obligatorie, fiecare director are un cod și un nume. Elementul directorului poate fi numeric sau text. Sistemul 1C: Enterprise 8 oferă oportunități extinse de lucru cu codurile elementelor din director: alocarea automată a codurilor, controlul automat al unicității codului și altele.
În plus față de Cod și Nume, directorul sistemului 1C: Enterprise poate stoca orice informații suplimentare despre elementul directorului. Pentru a stoca astfel de informații în director, se pot crea detalii suplimentare (câmpuri). Folosind mecanismul detaliilor directorului, este ușor să organizați, de exemplu, un fișier de card al angajaților. De exemplu, angajații directorului vor avea aproape sigur cerințele de poziție, salariu, data și altele. Firmele 1C au anticipat programatorii și au introdus în toate directoarele două elemente obligatorii (predefinite): Cod și Nume. Într-adevăr, aproape orice obiect din viața reală conține aceste atribute. De exemplu, pentru angajați, numărul de personal este numărul de personal, iar numele este numele, numele și patronimicul (numele complet). În plus, utilizarea codurilor (atunci când se utilizează numerotarea automată) ușurează înțelegerea elementului introdus mai devreme și care mai târziu în baza de date.
Tipuri de date
Pentru fiecare recuzita de director trebuie să specifice tipul de date, de exemplu, „număr“, „string“, „data“, un boolean (adevărat sau fals). Acestea sunt tipuri de bază, dar puteți specifica și tipuri complexe de date. De exemplu, posturile postale au tipul de posturi Posts. În acest caz, valorile acestor recuzită vor fi selectate din directorul Posts. Astfel, implementează o relație simplă între directoare, atunci când valorile selectate detalii ale unui element de ghidare al unui alt director.
Cărți de referință ierarhice
Lista elementelor din directorul din sistemul 1C: Enterprise 8 poate fi multi-nivel. În acest caz, toate liniile directorului vor fi împărțite în două tipuri: "doar" elementele directorului și grupul directorului. Grupurile vă permit să vă mutați în straturile inferioare ale directorului cu mai multe niveluri. Folosirea directoarelor pe mai multe niveluri vă permite să organizați introducerea informațiilor în directorul cu gradul de detaliere necesar. Elementele și grupurile de elemente dintr-un director pe mai multe niveluri pot fi transferate de la un grup la altul.
Directoare subordonate
O relație de subordonare poate fi stabilită între directoare. În ceea ce privește bazele de date relaționale, între tabele se stabilește o relație one-to-many. În acest caz, fiecare element al directorului subordonat va fi asociat cu unul din elementele directorului de proprietar. Uneori se poate spune că elementele unui singur director aparțin elementelor celuilalt. De exemplu, sistemul poate avea un director al tratatului. Apoi, acesta poate fi subordonat clienților din directoare. Aceasta înseamnă că clientul deține contracte și un client poate avea mai multe contracte.
Piese de masă
Începând cu versiunea 8.0 1C, în platforma realizată posibilitatea pentru elementul director specificați unul sau mai multe părți de masă. Această posibilitate este recomandată pentru a reflecta informațiile legate de acest element, dar care nu au propria lor entitate (care este recomandat pentru a începe directoare subordonate). De exemplu, pentru a ghida personalul poate fi lichidată tabelul de Educație și SostavSemi. Lucrul cu partea de masă este similar cu lucrul cu subordonații directoare, cu excepția faptului că o parte din tabel nu pot fi folosite ca valori pentru detalii cu privire la alte obiecte.
Unde este codul de program folosit pentru lucrul cu directoarele?
Având în vedere că punerea în aplicare a codului, avem nevoie pentru a accesa baza de date, aceste bucăți de cod trebuie să fie plasate în procedurile și funcțiile (sau module) care rulează pe partea de server. Pentru mai multe informații, consultați Despre modulele software.
Pentru a lucra cu un director dintr-un modul, trebuie mai întâi să creați o referință la acest director.
СпрСатрудники = Cărți de referință. angajați; // sau 2 opțiune
СпрДолжности = Directoare ["Poziții"];
2. Creați și înregistrați o nouă înregistrare în director
Novel = Directoare. Angajații. Creați un Element ();
Novel. Numele = "Petrov Petr Petrovich";
Novel. Salariu = 25000;
Novel. Notă (); // în acest moment baza de date este scrisă în baza de date
3. Crearea și înregistrarea unui nou grup al directorului (pentru directorul ierarhic)
Nou = Directoare. Creare grup ();
Nou. Name = "Working";
Nou. Notă ();
// sau 2 opțiune
Nou = Directoare ["Angajați"]. Creare grup ();
Nou. Name = "Working";
Nou. Notă ();
4. Căutați elementul directorului
// dacă elementul este găsit, acesta este returnat, altfel valoarea este Nedefinită
СпрСотр = Directoare. angajați;
FoundCot = CprCom. Găsiți codul (123); / / căutare după cod
FoundCot = CprCom. Găsiți un nume ("Ivanov Ivan Ivanovich"); // dupa nume
FoundCot = CprCom. FindProperty ("Salariu." 5000); // despre necesități
// în continuare este necesar să verificați valoarea găsită
Dacă FoundCot = Undefined Apoi
// nu a fost găsit
Sfârșit Dacă;
5. Ștergerea unei intrări în director
СпрСотр = Directoare. angajați;
SprSotr. Șterge (); // ștergeți direct elementul curent al directorului
SprSotr. Setați dezinstalarea (Adevărul); // marcați pentru a șterge
SprSotr. Setați dezinstalarea (False); // anulați ștergerea
// puteți verifica dacă elementul este marcat pentru ștergere
// proprietatea Remarks are un tip Boolean (True sau False)
Mark = СпрСотр. PometkaUdaleniya; // notă: această proprietate
Dacă Mark = Adevărat atunci
// elementul este marcat pentru ștergere
Sfârșit Dacă;
6. Enumerarea elementelor din director
Eșantionare = Directoare. Salariați Selectați ();
În timp ce eșantion. Următorul () = 1 Ciclu // începutul enumerării intrărilor de directoare din buclă
// Acțiuni cu elementul următor.
Raportați ("Angajat" + Selecție.
Sfârșitul ciclului;
7. Părinte. Enumerarea elementelor dintr-un grup.
Grupul în termeni de 1C este "părinte".
СпрСотр = Directoare. angajați;
Grup de lucru = СпрСотр. FindName ("Lucrul");
Prelevarea probelor = СпрСотр. Selectați (grup de lucru);
În timp ce eșantion. Următorul () = 1 ciclu
// acțiuni cu elementul următor
Raportați ("Angajat" + Selecție.
Sfârșitul ciclului;
8. Proprietarul. Enumerarea elementelor din directorul care aparțin unui element dintr-un alt director.
Un director este subordonat unui alt director, de exemplu, ghidul Tax Tax este subordonat directorului Employees.
9. Tranzacție
СпрСотр = Directoare. angajați;
StartTransaction ();
Pentru Nom = 1 până la 100 cicluri
Nou = СпрСотр. Creați un Element ();
Nou. Nume = "Nou" + Linie (Nom);
Nou. Notă ();
Sfârșitul ciclului;