Internet Windows Android

Repede. Directoare subordonate

Unul dintre elementele fundamentale ale oricărei configurații 1C sunt directoarele. Acestea stochează informații care sunt utilizate în majoritatea celorlalte obiecte ale aplicației 1C. De aceea, la dezvoltarea sau actualizarea oricărui sistem de pe platforma 1C, mai întâi sunt adăugate și completate noi directoare. Fiecare dezvoltator 1C ar trebui să cunoască proprietățile, funcțiile și capacitățile de bază ale acestor obiecte de configurare.

Structura și funcțiile directoarelor din 1C 8.3

Funcția principală a directoarelor este de a stoca și furniza informații de referință. Contabilitatea în sistemele 1C se realizează în contextul directoarelor: Nomenclator, Clienți și altele.

Dezvoltatorii disting un tip separat de directoare - clasificatoare. Acestea includ informații aprobate, de exemplu, de stat:

  • Unități;
  • monede;
  • Țări ale lumii;
  • Profesii.

Conform structurii lor, directoarele din programul 1C sunt liste cu anumite date. Pentru a vă familiariza cu directoarele existente în configurația 1C, trebuie să le introduceți în modul configurator. Găsiți ramura „Referințe” în arborele configuratorului și extindeți-o.

Fiecare dintre directoare are propriile proprietăți stabilite de dezvoltatori. Luați în considerare principalele proprietăți pe exemplul cărții de referință „Monede”.

Fila „De bază” conține informații despre numele directorului și descrierea acestuia. Următoarea secțiune „Subsisteme” este responsabilă pentru includerea directorului într-un anumit subsistem.


Fila „Opțiuni funcționale” definește funcționalitatea folosind căutarea. Fila „Ierarhie” vă permite să creați elemente de director imbricate. Tipurile ierarhice de directoare pot fi extrem de utile.


În fila „Proprietari” este configurat mecanismul de subordonare. Dacă directorul este subordonat altuia, atunci completarea elementelor de recuzită „Proprietar” este obligatorie.

În fila „Date”, se stabilește ce informații puteți adăuga în directorul 1C. În partea de sus, codul și numele sunt configurate - unul dintre detaliile standard, în centru - o listă de detalii adăugate. În partea de jos veți vedea părți tabelare ale directorului.


Setările de numerotare ale obiectului de configurare din 1C vă permit să creați o numerotare unică pentru elementele directorului.


În fila Formulare, dezvoltatorii creează interfețe care vor fi vizibile pentru utilizatori. Cele mai comune forme sunt Element și List: așa văd utilizatorii o listă de date de director și elementele acesteia în programul 1C.


Setarea corectă a parametrilor în fila „Câmp de intrare” va crea cele mai convenabile condiții de lucru pentru utilizatori. Opțiunile Selectare rapidă/Introducere după șir/Căutare text complet vă vor ajuta să găsiți articolul pe care îl căutați. „Selectarea istoricului pe măsură ce tastați” va salva pozițiile utilizate anterior.


Secțiunea „Comenzi” arată o listă de butoane existente care apelează acest director. În „Layouts” puteți găsi toate imprimabilele unui anumit obiect de configurare. „Intrarea bazată pe” va fi afectată de dezvoltator în cazurile în care alte obiecte de configurare sunt planificate să fie create pe baza elementului director.


Subsecțiunea „Permisiuni” reflectă informații despre rolurile care includ accesul la director, inclusiv completarea directoarelor, editare și citire. „Schimb de date” vă va spune la ce planuri de schimb participă directorul. Ultima filă include posibilitatea de a merge la module pentru a scrie proceduri și funcții. Există, de asemenea, o listă de valori de dicționar predefinite care pot fi accesate direct în cod.


Nu toate proprietățile sunt necesare. Unele file rămân neatinse pe toată durata de viață a software-ului pe platforma 1C.

Pentru a ușura crearea directoarelor în 1C, să creăm un nou obiect de configurare de acest tip.

Crearea și transferul unui director în 1C 8.3

Folosind un exemplu de configurație non-standard, vom crea și vom începe să folosim directorul „Subdiviziuni”, care va stoca date despre structura întreprinderii. În configurator, în arborele de configurare, găsiți „Referințe” și faceți clic pe butonul „Adăugați”. Completați câmpurile:

  • Nume/Sinonim. Primul atribut este responsabil pentru numele obiectului din configurație, al doilea - pentru numele în modul întreprindere;
  • Reprezentarea obiectului este folosită la deschiderea unui element al directorului;
  • Vizualizarea listă este utilizată la vizualizarea unei liste de date de referință;
  • Explicație - ajutor pentru utilizatori.


Apoi, trebuie să adăugăm un nou director la unul dintre subsisteme dacă dorim ca utilizatorii să-l poată vedea în interfață. Deschideți fila „Subsisteme” și bifați caseta de lângă subsistemul „General” deja existent.


Noul nostru director va fi ierarhic, deoarece diviziile pot fi incluse una în alta. Grupurile de departamente nu sunt planificate la întreprinderea noastră, astfel încât este selectat tipul „Ierarhia elementelor”. În același timp, nu vom limita cuibărirea subdiviziunilor.


Pe lângă setul standard, avem nevoie de câteva detalii suplimentare și o parte tabelară pentru lista de angajați. Pentru a face acest lucru, trebuie să le adăugați în fila „Date” în secțiunile relevante.


Pentru comoditate, trebuie să adăugați detaliile noastre în formularul de listă. Pentru a face acest lucru, în fila „Formulare”, creați un nou formular de listă și setați-l ca principal. În caseta de dialog, bifați casetele pentru toate detaliile de care avem nevoie. De asemenea, vom seta forma elementului pentru a aranja detaliile în ordinea care se potrivește utilizatorilor noștri.


Aceasta completează crearea directorului demonstrativ „Subdiviziuni”. Actualizăm configurația și pornim din nou sistemul în modul întreprindere. În subsistemul „General”, a apărut tasta funcțională „Lista departamentelor”. Făcând clic pe el, se deschide formularul de listă de directoare pe care l-am specificat, cu posibilitatea de a adăuga elemente la acesta.


Multe companii lucrează cu mai multe baze de date 1C, astfel încât dezvoltatorul se poate confrunta cu transferul directorului creat într-o altă bază de date. Pentru a face acest lucru, împreună cu majoritatea configurațiilor, este furnizată o procesare externă - „Încărcarea și încărcarea datelor XML”. Dar înainte de a transfera directoarele 1C 8.3, este necesar să pregătiți configurația receptorului. Un obiect de configurare similar cu câmpuri identice și părți tabulare ar trebui creat în el.

La deschiderea acestei procesări, trebuie să specificăm ce obiecte dorim să le transferăm și să selectăm un fișier. Apoi, descărcarea de director lansată creează un fișier XML în care scrie toate datele.


Pentru a încărca directoare într-o altă bază de informații, trebuie să intrați în ea și să deschideți aceeași procesare externă. În a doua filă, începeți descărcarea. Acesta este un mecanism manual, așa că dacă intenționați să introduceți în mod regulat elemente noi ale directorului într-o singură bază de date, atunci este mai bine să organizați un schimb între bazele de date.

În concluzie, aș dori să reamintesc că crearea directoarelor în 1C 8.3 după punerea în funcțiune a sistemului va cauza probleme din cauza necesității de acces exclusiv la baza de date. Cel mai sigur este să actualizați configurația pe server.

Directoarele 1C este un obiect specializat al arborelui de metadate, care este folosit pentru a stoca informații statice cu caracter de referință. De exemplu, în configurațiile tipice, puteți vedea următoarele vizualizări: , Nomenclatură, Angajați, Mijloace fixe etc. Informațiile din directoare, de regulă, nu se schimbă adesea. Cărțile de referință sunt utilizate în continuare în aproape toate obiectele contabile ca secțiune contabilă sau informații de referință.

Mai jos vom lua în considerare configurarea și proiectarea unei cărți de referință din configurator folosind cartea de referință „Nomenclatură” ca exemplu.

Filă generală

Fila „De bază” indică numele, sinonimul, reprezentarea obiectelor, descrierea scopului.

Fila Ierarhie director

Aici este setată ierarhia directoarelor.

Ierarhia din 1C 8.3 este de două tipuri - " grupuri și elemente" și " elemente". Diferă prin aceea că, în primul caz, doar un folder (grup) poate fi părinte (dosar), iar în al doilea caz, un element poate fi și părinte.

„Place groups on top” - steagul este responsabil pentru afișarea grupurilor sub forma unei liste.

De asemenea, în setări, puteți limita numărul de grupuri din ierarhia directorului prin setarea corespunzătoare.

Fila Proprietari

Un director poate fi subordonat altui director. Din punctul de vedere al configurării 1C 8.3, aceasta înseamnă că atributul „Proprietar” devine obligatoriu pentru elementul subordonat. Un exemplu de astfel de conexiune a directoarelor în configurațiile tipice „Nomenclatură - Unități de măsură”, „Contracte Contractori-Contractanti”.

Proprietarul directorului poate fi, de asemenea, următoarele obiecte de metadate: , .

Fila de date

Obțineți 267 de lecții video 1C gratuit:

Cea mai importantă filă din punctul de vedere al unui programator. Conține detaliile directorului.

Directorul are un set de detalii standard care nu sunt editate de programatorul 1C 8.2, o listă a acestora poate fi văzută făcând clic pe butonul „Detalii standard”:

Mă voi opri asupra fiecăruia mai detaliat:

  • Acest grup— atribut cu tip boolean, indicând dacă este un grup sau un element. Disponibil numai în directorul ierarhic. Notă, valoarea acestui atribut nu poate fi modificată în 1C: modul Enterprise.
  • Codul- atribut, număr de tip sau șir (de obicei șir). Un număr atribuit automat de către sistem. De obicei calculat ca (cod anterior + 1). Recomand să folosiți tipul șir, deoarece sortarea valorilor numerice nu funcționează așa cum ar trebui. Poate fi folosit ca vizualizare de căutare în listă și în câmpurile de introducere. Folosit de obicei pentru a căuta un element atunci când introduceți un șir. Dacă trebuie să eliminați câmpul Cod, specificați zero în lungimea șirului.
  • Nume— atribut care trebuie completat, tip șir. Lungimea maximă a rândului este de 150 de caractere. Poate fi folosit ca vizualizare de căutare în listă și în câmpurile de introducere. Folosit de obicei pentru a căuta un element atunci când introduceți un șir. Dacă trebuie să eliminați câmpul Nume, specificați zero în lungimea șirului.
  • Mamă— un atribut de tip ReferenceReference.<ИмяТекущегоСправочника>. Disponibil numai în directorul ierarhic. Indică cel mai înalt părinte din ierarhie. Dacă elementul sau grupul se află în rădăcina directorului, este specificată valoarea directorului.<ИмяТекущегоСправочника>.EmptyReference.
  • Proprietar— link la elementul-proprietar al elementului (grupului) curent al directorului. Disponibil numai în directorul subordonat 1C.
  • Îndepărtarea steagului— recuzită cu tip boolean. Responsabil pentru afișarea „marcajului de ștergere” în sistem. Un element marcat pentru ștergere este considerat inutilizabil, dar mișcări vechi din documente pot rămâne pe el.
  • Legătură— câmp de tip șir. Acest atribut stochează un identificator unic de obiect - GUID. Ceea ce vedem în sistem într-un afișaj vizual numit „link” este doar o reprezentare a obiectului. Nu poate fi schimbat.
  • Predefinit- tip boolean, afișează dacă elementul este predefinit, mai multe despre asta mai târziu. Nu poate fi schimbat.

Fila „Date” indică, de asemenea, reprezentarea directorului în sistem; înainte de versiunea 8.2.16, reprezentarea putea fi doar un Cod sau Nume. În versiunile recente ale platformei (începând de la 8.3), vizualizarea poate fi descrisă independent în modulul manager folosind handlerul „ProcessingViewReceivingProcessing”.

Fila Numerotare

Aici puteți specifica setările pentru referință în ceea ce privește numerotarea. Se recomandă utilizarea numărării automate. Controlul unicității este un steag care ajută, dacă este necesar, ca codul să fie unic. Dacă, cu steag-ul setat, încercați să scrieți un element de director cu un cod neunic, veți primi un mesaj în 1C „Codul directorului a devenit neunic”.

O serie de coduri - determină modul de numerotare a directorului, puteți introduce numerotarea directorului în contextul proprietarului. De exemplu, contrapartea „Coarne și copite” va avea propria numerotare a contractului - „1, 2, 3”, etc.

Fila Formulare

Iată formularele pentru cartea de referință. Dacă configurația este lansată atât în ​​mod normal, cât și în modul gestionat, atunci vor exista două file cu formulare în mod implicit: „principal” și „addițional” - diferite pentru o aplicație normală și gestionată.

Această pagină are o proprietate de referință importantă - „”. Aceasta este o funcție 1C 8 foarte convenabilă care vă permite, atunci când completați datele în câmpul de introducere, să nu intrați în director, ci să introduceți numele, codul sau altele asemenea. și selectați elementul dorit din lista verticală. Arata cam asa:

Altele Tab

Pe filă, puteți obține acces rapid la modulele principale ale directorului - modulul obiect și modulul manager.

De asemenea, puteți defini o listă de elemente de căutare predefinite pe pagină. Acestea sunt elemente care nu pot fi șterse în modul Enterprise. Elementele predefinite pot fi accesate direct în configurator, după nume, de exemplu: Cataloage.Nomenclatură.Serviciul.

Această filă definește și modul de blocare - automat sau gestionat. Folosind căutarea în text complet, precum și informații de referință despre director, disponibile în 1C: modul Enterprise.

Klyuev V.V.

http://prof1c.kklab.ru

Directoare subordonate

Cel mai probabil, ați observat deja în mod repetat în configurațiile tipice obișnuite directoare interconectate, atunci când la selectarea unui element al directorului (reference1), valoarea altui director (reference2) este „filtrată” de această valoare - adică valorile ​​care aparțin numai elementului curent al directorului1 sunt selectate; de exemplu, acesta este Directorul „Subdiviziuni” deținut de Directorul „Organizații”.

Pentru a înțelege imediat esența a ceea ce se întâmplă, să vedem ce se întâmplă în practică. Pentru a face acest lucru, puteți crea o configurație goală de la zero sau puteți merge la orice copie existentă a bazei de informații și puteți crea 2 directoare în configurator.

Manualul 1 și Manualul 2. În directorul 2, accesați fila „Proprietari” și selectați proprietarul - „Catalog1”, vezi așa cum se arată în figură.

Acum, când creați articole în „Directory2”, sistemul vă va cere să introduceți proprietarul catalogului1. Există o opțiune - Utilizați subordonarea - atunci când subordonarea este dată Elementelor, grupurilor sau grupurilor și elementelor.

S-ar părea că totul este simplu, dar utilizatorii au probleme. La deschiderea „Directory2”, utilizatorul vede toate elementele într-o ordine complet de neînțeles și, în plus, dacă ați lucrat cu configurații tipice, s-ar putea să observați că nu setați proprietarul nicăieri direct în directorul „Diviziuni” și când deschizând directorul poți alege organizație și, în funcție de aceasta, primești elemente subordonate unei organizații sau alteia; în același timp, la crearea unui element din directorul „Subdiviziuni”, implicit veți primi proprietarul care a fost selectat sub forma unei liste de subdiviziuni.
Deci haideți să începem și să creăm un „Formular de listă” pentru „Directorul2” nostru, în timp ce îl furnizăm lui 1C fără a face nicio modificare, ulterior vom corecta formularul creat de designer.
În Directory2, accesați fila Formulare și adăugați (+) un nou formular de listă de director și faceți clic pe Terminare.

Să creăm un atribut de formular cu tipul de date „Directory1.Link”, cu numele „SelectionDirectory1”, și să tragem acest atribut pe formular, să setăm titlul „Directory1”.


Acum, pentru ca „acest miracol” să funcționeze, este necesar să scrieți un cod care va efectua selecția atunci când selectați elementul director1.

8.2, 8.3 Formulare gestionate

Pentru a afișa sub forma unei liste de directoare doar elementele de care avem nevoie pentru elementul selectat din Directory1, este necesar să facem o selecție programatică - pentru elementul selectat, pentru aceasta vom folosi procedura predefinită a controlului SelectionCatalog1 element și scrieți codul care realizează sarcina specificată.
În partea de sus, selectați „SelectionDirectory1”, faceți clic dreapta și selectați „Properties”, în fereastra care apare, găsiți proprietatea „OnChange” și faceți clic pe lupă, ajungând astfel la modulul formular; procedura „SelectionDirectory1OnChange(Element)” este creată automat

În procedură, introduceți următorul text:

& În lista de selecție a procedurii clientului1OnChange(Element). Selecţie. Elemente. Clar() ; // SelectionElement = Listă. Selecţie. Elemente. Adăugați(Tip(" Element de selecție a aspectului datelor" ) ) ; FilterElement.LeftValue = New DataCompositionField("Proprietar" ); FilterElement.ComparisonType = DataCompositionComparisonType. Egal cu; FilterElement. Utilizare = True ; FilterElement.RightValue = SelectionCatalog1; FilterDigitalElement.DisplayEModeaccessElement.DisplayElement.

8.2 Forme comune


Când construiți formulare, totul este la fel, doar formularele trebuie create obișnuite, formularele gestionate nu funcționează într-o aplicație normală.
Diferența va fi în procedura de selecție a elementului din formularul de listă și crearea atributului.
Pentru a adăuga elemente de recuzită într-un formular obișnuit, faceți clic pe butonul

Referință de procedură1OnChange(Element) ThisForm. Selecţie. Proprietar. Valoare = Director1. Legătură; Acest formular. Selecţie. Proprietar. Utilizare = adevărat; Acest formular. ElementsForm. DirectoryList. Setare de selecție. Proprietar. Disponibilitate = Fals ; //(?) EndProcedure

Penultima linie (?) - interzicem modificarea selectiei la deschiderea parametrilor de selectie de catre utilizator - doar prin control!

Video (fără sunet - totul este clar fără sunet)

Acum vom analiza o întrebare foarte importantă. ACEASTA este o grebla pe care aproape fiecare prim utilizator al 1C Accounting 8 calcă! Da, da, acum vom vorbi despre grupuri.

Informații generale despre grupuri din 1C Contabilitate 8

Grupurile se găsesc în directoare și sunt în mare parte doar pentru comoditate. În loc să aruncați toate elementele directorului într-o singură grămadă mare, acestea pot fi sortate, pentru care există grupuri în 1C Enterprise.

Cu toate acestea, nu toate directoarele vă permit să creați grupuri. Următorul este un exemplu de căutare care nu poate folosi gruparea.


Figura arată că în acest director poți doar crea elemente, nu grupuri de elemente. Un nou element este adăugat în director prin butonul corespunzător cu un semn verde plus ( Adăugaîn versiunea 8.2 sau Creaîn 8.3). Elementele directoarelor din listă sunt indicate printr-o imagine sub formă de stick (în stânga liniei).

Și iată un exemplu de director în care, pe lângă elemente, puteți crea și grupuri. Grupurile sunt adesea numite foldere, deoarece sunt reprezentate de pictograme de folder, ca în Windows Explorer.

site_

După cum puteți vedea din figura de mai sus, directoarele care au , constau din două părți. Pe lângă lista obișnuită de elemente, există și un câmp în stânga care se afișează numai grupuri. Apropo, mulți utilizatori sunt confuzi de faptul că aceleași grupuri nu sunt vizibile în câmpul din stânga ( desigur, cu condiția să fie adăugate deloc). Pentru a extinde arborele grupului din stânga, trebuie să faceți clic pe un semn plus foarte mic, care este subliniat dublu în imagine. Și atunci se va dovedi așa.

site_

Sincer, încercări surprinzătoare de a extinde arborele grupurilor, cu condiția să nu existe nimic acolo! Dacă grupurile nu au fost adăugate în director, atunci va fi gol!

Dacă în director s-au acumulat multe date (elemente), acestea pot fi sortate folosind grupuri. Câte grupuri să creezi, cum să le numești - doar tu decizi.
Un nou grup (dosar) este creat prin apăsarea Ctrl + F9 sau făcând clic pe butonul folderului cu un plus din bara de instrumente a directorului.

site_

Apoi apare o altă întrebare tipică - ce sa alegi in domeniu grup cu un grup nou? Faptul este că grupurile, precum folderele din Windows, pot fi cuibărit. Prin urmare, dacă doriți să creați un grup în cadrul unui grup (un folder în cadrul unui folder), atunci în câmp grup ar trebui selectat grupul de părinți, adică cel în care va fi localizat folderul nou creat. Dacă noul grup ar trebui să fie localizat în rădăcina directorului, atunci acest câmp ar trebui lăsat gol.

Cum să utilizați grupurile atunci când creați elemente de director

Dacă este posibil să se creeze grupuri în director, atunci când se creează un nou element al unui astfel de director, formularul va conține în mod necesar un câmp grup! Ce înseamnă asta în practică? Totul este extrem de simplu - dacă doriți ca noul element de director să se încadreze imediat într-un anumit grup, atunci selectați-l în câmp grup; dacă nu, câmpul poate fi lăsat necompletat.

A fost o parte importantă a articolului, dar fără JavaScript nu este vizibil!

Mai jos este un exemplu cu crearea unui mijloc fix imediat în grupul „Administrare”. În acest caz, grupul are semnificația unei diviziuni a companiei.

site_

Mutarea articolelor de referință dintr-un grup în altul

Cel mai simplu mod de a muta un element din directorul 1C Accounting 8 într-un alt grup este să deschideți acest element (tasta F2) și în câmp grup alege alt folder. Această metodă este simplă, dar ineficientă atunci când se schimbă grupul de mai multe elemente simultan.

A doua cale- selectați elementul dorit și faceți clic pe butonul Mutați elementul într-un alt grup pe bara de instrumente ghid. Grupul trebuie să existe deja! Un exemplu este prezentat în figura de mai jos.

site_

În fereastra care se deschide, selectați grupul dorit făcând dublu clic (sau simplu, apoi butonul Selectați).

A treia cale cel mai rapid. Elementele pot fi trase cu mouse-ul dintr-un grup în altul, la fel ca folderele și fișierele din Windows.

Toate cele de mai sus pot fi aplicate nu numai elementelor directoarelor, ci și grupurilor în sine!

Rezumând

Astfel, grupurile (directoarele) din directoarele 1C Contabilitate 8 sunt concepute pentru a sorta elementele directorului în conformitate cu logica utilizatorului programului. Împărțirea în grupuri vă permite să găsiți rapid ceea ce aveți nevoie. Nu are niciun sens (cu excepția unor cazuri), adică puteți crea orice număr de grupuri și subgrupuri, precum și să le dați orice nume.

Dacă, atunci când creați un element de director, trebuie să îl „puneți” imediat în grupul (dosarul) dorit, atunci în câmp grup forma unui nou element, selectați grupul de care aveți nevoie. Dacă elementul director va fi în rădăcină, atunci câmpul grup ar trebui lăsat necompletat.

De asemenea, trebuie remarcat faptul că ghidul Nomenclatură grupurile definesc conturile contabile, prin urmare, introducerea unui element din acest director într-unul dintre grupuri are sens (și ce altceva). Caracteristici de lucru cu directorul Nomenclatură 1C Contabilitatea 8 sunt revizuite în

Scopul directoarelor

Directorul stochează o listă de valori posibile ale unui anumit obiect sau atribut. Directoarele sunt utilizate în cazurile în care este necesar să se excludă ambiguitateaod informație. De exemplu, pentru ca cumpărătorul, vânzătorul, depozitarul și directorul să înțeleagă despre ce fel de produs vorbesc, toată lumea trebuie să-i numească același nume. Și în acest caz, avem nevoie de un ghid. De obicei, la o întreprindere comercială are forma unei liste de prețuri.

Sistemul 1C:Enterprise 8 vă permite să mențineți un număr aproape 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 punctul de vedere al utilizatorului, trebuie avut în vedere că Configuratorul nu creează în sine dicționarul, ca o listă de valori, ci dezvoltă un șablon de referință, șablonul acestuia. În timpul procesului de configurare, este descrisă structura informațiilor care vor fi stocate în director, se dezvoltă un ecran și, dacă este necesar, o reprezentare tipărită a directorului și sunt specificate diferite caracteristici ale comportamentului acestuia.

Detalii director (câmpuri)

Ca detalii obligatorii, fiecare director are Codulși Nume. Codul elementului de director poate fi fie numeric, fie text. Sistemul 1C:Enterprise 8 oferă oportunități ample de lucru cu codurile elementelor de director: atribuirea automată a codurilor, controlul automat al unicității codului și altele.

Pe lângă Cod și Nume, directoarele sistemului 1C:Enterprise pot stoca orice informații suplimentare despre elementul directorului. Pentru a stoca astfel de informații în cartea de referință, pot fi create detalii suplimentare (câmpuri). Folosind mecanismul detaliilor directorului, este ușor să organizați, de exemplu, un fișier al angajaților. De exemplu, directorul de angajați va avea aproape sigur detaliile Poziției, Salariului, Data admiterii și altele. Firma 1C a anticipat programatorii și a introdus două detalii obligatorii (predefinite) în toate cărțile de referință: Cod și Nume. Într-adevăr, aproape orice obiect din viața reală conține aceste atribute. De exemplu, pentru angajați, codul este numărul de personal, iar numele este Numele, Prenumele și Patronimul (numele complet). În plus, utilizarea codurilor (când se folosește numerotarea automată) face ușor de înțeles ce element a fost introdus mai devreme și care mai târziu în baza de date.

Tipuri de date

Pentru fiecare atribut de referință, trebuie să specificați tipul de date, de exemplu, „număr”, „șir”, „data”, boolean (adevărat sau fals). Acestea sunt tipuri de bază, dar pot fi specificate și tipuri de date complexe. De exemplu, atributul Poziție are tipul de date Poziție. În acest caz, valorile acestui atribut vor fi selectate din directorul Jobs. Așa este implementată cea mai simplă conexiune între directoare, când valorile detaliilor unui director sunt selectate din elementele altui director.

Directoare ierarhice

Lista elementelor de director din sistemul 1C: Enterprise 8 poate fi pe mai multe niveluri. În acest caz, toate liniile directorului vor fi împărțite în 2 tipuri: elemente „simple” ale directorului și grupuri ale directorului. Grupurile vă permit să mergeți la nivelurile de bază ale unui director cu mai multe niveluri. Utilizarea directoarelor pe mai multe niveluri vă permite să organizați introducerea informațiilor în director cu nivelul dorit de detaliu. Elementele și grupurile de elemente dintr-un dicționar pe mai multe niveluri pot fi transferate de la un grup la altul.

Directoare subordonate

Între directoare se poate stabili o relație de subordonare. În termenii bazei de date relaționale, între tabele se stabilește o relație unu-la-mulți. În acest caz, fiecare element al directorului subordonat va fi asociat cu unul dintre elementele directorului proprietar. Uneori poți spune că elementele unui director aparțin elementelor altuia. De exemplu, sistemul poate avea un director al Acordului. Apoi poate fi subordonat directorului Clienti. Aceasta înseamnă că clientul deține contractele și un client poate avea mai multe contracte.

Părți tabulare

Începând cu versiunea 1C 8.0, platforma implementează capacitatea de a seta una sau mai multe părți tabulare pentru un element de director. Această caracteristică este recomandată a fi folosită pentru a reflecta informații legate de acest element, dar neavând entitate obiect proprie (pentru care se recomandă crearea directoarelor subordonate). De exemplu, pentru cartea de referință Angajații, se pot crea secțiuni tabelare Educație și Compoziția familiei. Lucrul cu părți tabulare este similar cu lucrul cu directoare subordonate, cu excepția faptului că părțile tabulare nu pot fi utilizate ca valori de atribut ale altor obiecte.

Unde este folosit codul programului pentru a lucra cu directoare?

Deoarece trebuie să accesăm baza de date pentru a executa codul de program, aceste bucăți de cod de program trebuie să fie plasate în proceduri și funcții (sau module) efectuate pe partea serverului. Consultați secțiunea pentru mai multe informații.

1. Link către ghid

Pentru a lucra cu un director din orice modul, trebuie mai întâi să creați un link către acest director.

SprEmployees = Directoare. Angajati; // sau varianta 2
SprPositions = Directoare [„Poziții”];

2. Crearea și scrierea unui nou element de director

NovEl = Referințe . Angajatii . createItem();
Roman. Nume = „Petrov Petrovich”;
Roman. Salariu = 25000;
Roman. Scrie(); // acesta este momentul în care este scrisă baza de date

3. Crearea și înregistrarea unui nou grup de directoare (pentru un director ierarhic)

nou = Directoare.Angajaţii. Pentru a crea un grup ();

Nou . Scrie();
// sau varianta 2
Nou = Referințe[„Angajații”]. Pentru a crea un grup ();
Nou . Nume = „De lucru”;
Nou . Scrie();

4. Căutați un element de director

// dacă elementul este găsit, atunci este returnat, în caz contrar valoarea este Nedefinită

FoundComp = RefComp . FindByCode (123); //căutare după cod
FoundComp = RefComp . FindByName(„Ivanov Ivan Ivanovici”); //dupa nume
FoundComp = RefComp . FindBy Props(„Salariu”, 5000); //după atribut

Dacă FoundComp = Nedefinit Atunci
//elementul nu a fost găsit
EndIf;

5. Ștergerea unui element de director

Spectr = Directoare . Angajati;

RefStr. Șterge (); //ștergerea imediată a elementului director curent

RefStr. Setați steag de eliminare(Adevărat); // marca pentru ștergere
RefStr. Setați steag de eliminare(Minciună); //Anulați marcarea pentru ștergere

//poate verifica dacă elementul este marcat pentru ștergere
// proprietatea Delete Mark este de tip boolean (adevărat sau fals)

Flag = RefStr . Îndepărtarea steagului; //notă: aceasta este o proprietate
Dacă Flag = Adevărat, atunci
//element marcat pentru ștergere
EndIf;

6. Repetarea elementelor directorului

Selectie = Directoare . Angajații.Selectați();
// începe să iterați elementele dicționarului într-o buclă
//acțiuni cu următorul element...

EndCycle;

7. Părinte. Iterați peste elemente dintr-un grup.

Un grup în ceea ce privește 1C este un „părinte”.

Spectr = Directoare . Angajati;
Lucru în grup= RefStr . FindByName("Lucru");
Eșantion = SprStr. Selectați ( Lucru în grup);
În timp ce selecția. Next() = 1 buclă

Raport („Angajat” + Exemplu . Nume);
EndCycle;

8. Proprietar. Repetarea elementelor unui dicționar care aparțin unui element al altui dicționar.

Un director este subordonat altui director, de exemplu, directorul Beneficii fiscale este subordonat directorului Angajati.

Selectie = Directoare . Beneficii fiscale. Selectați (, Angajat); //aici angajat - un link către elementul director al angajaților
În timp ce selecția. Next() = 1 buclă
//acțiuni cu următorul element
Raport („beneficiu” + Exemplu . Nume);
EndCycle;


9. Tranzacție

Când creați multe articole de referință, pentru a accelera munca, puteți include bucla într-o tranzacție. În acest caz, crearea reală a tuturor elementelor va avea loc numai prin comanda FixTransaction(). Când se utilizează tranzacții, acțiunea fie va fi efectuată în întregime (toate elementele directorului sunt create), fie deloc (în caz de eșec, nu va fi creat niciun element nou, totul va rămâne la fel ca înainte de tranzacția a fost începută). Tranzacțiile sunt utilizate pe scară largă în sectorul bancar. La urma urmei, nimeni nu își dorește ca atunci când trimiți bani, aceștia să fie debitați în siguranță din contul tău, dar din cauza unui fel de eșec nu au ajuns la destinatar.

Spectr = Directoare . Angajati;
StartTransaction();

Pentru Nom = 1 până la 100 Ciclu
Nou = RefStr. createItem();
Nou . Nume = "Nou" + String(Nom);
Nou . Scrie();
EndCycle;

CommitTransaction();