Noile versiuni ale configurațiilor 1C: Enterprise multe funcții și proceduri s-au mutat de la obiecte de module (documente, manuale, etc.), în modulele de management. Luați în considerare diferențele dintre aceste două module.
Conform teoriei programării orientate-obiect, metode de obiect sunt împărțite în două grupe: statice și simple. Metode simple sunt disponibile numai într-o anumită instanță a unei clase. Metodele statice nu au acces la obiectele de date, dar de lucru cu clasa ca un întreg.
Dacă traducem toate acestea, în ceea ce privește 1C: Enterprise, modulul obiect conține metode simple. Pentru a le utiliza, trebuie să obțină mai întâi un anumit obiect: intrarea director, documente, etc. Modulul de manager conține metode statice. Pentru a-l utiliza, nu este nevoie de a primi separat fiecare obiect particular, vă permite să lucrați cu întreaga colecție dintr-o dată.
Modulul obiect poate avea proceduri și funcții care pot fi utilizate în afara. În acest scop, o astfel de procedură sau funcție este indicată de cuvântul export.
Funcție nouă caracteristică # 40; # 41; exporturi
Pentru a utiliza această funcție în modulul obiect, trebuie mai întâi, cu referire la obiectul dorit, folosind o preluați funcția GetObject ().
ElementSpravochnika = Directoare. Nomenclatura. NaytiPoKodu # 40; "000000001" # 41; ;
Obiect = ElementSpravochnika. GetObject # 40; # 41; ;
Per = obiect. NovayaFunktsiya # 40; # 41; ;
În mod similar, puteți crea noi variabile care pot fi folosite dintr-o varietate de obiecte de configurare.
Muta Exporturile newVariable
ElementSpravochnika = Directoare. Nomenclatura. NaytiPoKodu # 40; "000000001" # 41; ;
Obiect = ElementSpravochnika. GetObject # 40; # 41; ;
Obiect. newVariable = # 41; ;
Astfel, este posibil să se completeze proceduri standard, funcții și proprietăți (variabile) obiecte. Aceste variabile sunt dinamice, acestea nu sunt stocate în baza de date de informații și există doar în timp ce lucrează cu obiectul rezultat.
Modulul Manager are toate aceleași caracteristici, singura diferență este că utilizarea sa nu are nevoie pentru a obține un anumit obiect, modul Manager vă permite să lucrați cu întreaga colecție de obiecte de un anumit tip.
Procedură nouă procedură de # 40; # 41; exporturi
ElementSpravochnika = Directoare. Nomenclatura. NovayaProtsedura # 40; # 41; ;
Sau pentru variabila:
Muta Exporturile newVariable
ElementSpravochnika = Directoare. Nomenclatura. newVariable;
Luați în considerare diferențele în aplicarea modulului obiectului și managerul modulului de exemplu al modului de creare a unui formular de document tipărit.
Când utilizați codul obiect al modulului este după cum urmează:
Pe forma documentului pe care doriți să creați o procedură care ar fi transmise link-ul de funcția de imprimare a documentului.
Dezavantajul acestei metode este că vă permite să imprimați un singur obiect. Dacă doriți să imprimați mai multe documente simultan, atunci ai nevoie pentru a obține fiecare dintre ele, iar apoi apelați funcția modulului de obiect. Acest lucru necesită resurse semnificative de sistem, deoarece este în întregime în formă în memorie atunci când primesc obiect.
În termeni de performanță este mult mai bine de a utiliza modulul Manager, acolo unde este posibil. In exemplul nostru, soluția problemei este după cum urmează.
funcţia PechatDokumenta # 40; MassivObektov # 41; exporturi
// Această funcție este necesară pentru a trece o trimitere la un document specific
Întoarcere TabDok;
KonetsFunktsii
-NaKliente
Procedura de imprimare # 40; echipă # 41;
TabDok = PechatNaServere # 40; # 41; ;
TabDok. spectacol # 40; # 41; ;
KonetsProtsedury p>
-NaServere
funcţia PechatNaServere # 40; # 41;
Întoarcere Documente. NashDokument. PechatDokumenta # 40; MassivSsylok # 41; ;
KonetsFunktsii
În cazul modulului de manager, procesul de imprimare poate fi numit ca o formă de document și forma listei, care trece în matrice de link-uri la mai multe documente. În acest caz, sistemul nu are nevoie să primească orice document dintr-un fișier, salvează resurse de sistem.
Deci, atunci când pentru a utiliza modulul obiect, când managerul modulului?
Totul depinde de sarcina. În cazul în care performanța sa este suficient de referință la un obiect (cum ar fi sarcina de imprimare), cel mai bine este de a folosi modulul Manager. În cazul în care sarcina de a schimba date, cum ar fi completarea documentului, este necesară pentru a obține și de a folosi un modul obiect.