internetul Windows. Android

Cum să găsiți lista valorilor 1c. Structura de colectare universală

Sintaxă completă (faceți clic pentru a dezvălui)

Lista de alunecare

Descriere:

Lista valorilor este obiectul care nu este salvat în baza de date care vă permite să construiți seturi dinamice de valori pentru rezolvarea sarcinilor de interfață și manipulați-le (adăugați, editați, ștergeți elemente, sortare). Poate fi umplut cu valori de orice tip, adică Într-o listă, tipurile de valori stocate pot fi diferite. Un exemplu de utilizare acest obiect Este posibil să existe o organizație de a alege un document specific din lista posibilelor documente formate pe un algoritm complex.

Elemente de colectare: ElementePccds.

Pentru facilitatea este disponibilă colecția de către operator Pentru toată lumea ... de la ... ciclu. Când sunt selectate elemente ale colecției.

Este posibil să se apeleze la elementul de colectare al operatorului [...]. Indicele elementului este transmis ca argument ( numerotarea de la 0.).

Proprietăți:

Metode:

Inserați (Index, valoare, performanță, marcaj, imagine) Inserții element nou În lista valorilor la o poziție cu indicele specificat.Selectați elementul (antet, element) Apelați o fereastră pentru o selecție interactivă a unuia dintre elementele incluse în lista de valori. Element - Elementul la care inițial Socos este o listă de valori în timpul unei alegeri interactive ar trebui inițial. Dacă valoarea parametrului nu este lista de valori incluse în această listăPoziționarea nu se va întâmpla.Descărcare() Creează o matrice și copiază valorile elementelor de listă a valorilor.Adăugați (valoare, vizualizare, marcare, imagine) adaugă un element nou până la sfârșitul listei de valori.Descarca(Masiv) Încarcă lista de valori cu valorile matricei transmise. În același timp, toate elementele anterioare ale listei sunt șterse.Player de film(Marca) Setează marcajul din toate elementele listei de valori.Indicele (elementul) primește un indice de element în lista valorilor. Dacă nu este găsit, apoi returnează -1.Numărul () primește numărul de elemente de listă a valorilor.Găsită conținut(ESCOMED) caută valoarea listei de element de valori. Dacă niciun articol nu stochează valoarea egală cu cea dorită, atunci valoarea este returnată. Nedefinit. Fundația(Identificator) Obține un element al listei valorilor prin identificator. Dacă elementul nu este găsit, atunci se întoarce Nedefinit. Elemente mentale(Titlu) Setează sau elimină (interactiv) marcate din elementele listă a valorilor. Se intoarce AdevăratDacă butonul "OK" este apăsat în dialog Fals - in caz contrar.Șterge () elimină lista valorilor prin eliminarea tuturor elementelor din acesta.Element strălucitor(Descriere Intreprindere, antet, element) Cauzeaza o fereastră pentru o selecție interactivă a unuia dintre elementele incluse în lista valorilor.Vizualizați conexiunile setați(Descriere Intreprindere, antet) este destinat ca marcajul de statare interactiv din elementele listei de valori.Obțineți (index) obține valoarea indicelui. Funcționează similar cu operatorul.Shift (element, offset) schimbă lista de valori la numărul specificat de poziții înainte sau înapoi.Copiere () creează o copie a listei de valori.Sortintive.(Direcție) sortează o listă de valori în ordine ascendentă sau descendentă de elemente stocate de valori. A se vedea exemplul de mai jos.Sortpopsert.(Direcție) sortează o listă de valori ascendente sau descrescătoare în modul alfabetic al observațiilor listei elementelor incluse în listă. A se vedea exemplul de mai jos.Ștergeți (element) Șterge un element din lista valorilor unde Element - Indicele elementului eliminat sau elementul în sine.

Designeri:

Noua listă de cazare
& CALTENTE PROCEDURACODE (Echipa) /// Cum să creați o listă de valori în 1c 8.3, 8.2 Lista \u003d noua listă de cazare; /// Cum să adăugați un element la lista de valori din 1c 8.3, 8.2 // Parametrii metodei Adăugați: // - valoare // - reprezentare // - Mark (opțional) // - imagine (opțional) Listă. Adăugați (1980, // element de valoare "Anul nașterii Vasi" // reprezentare); Listă. Adăugați (1985, "Anul nașterii lui Julia") ; // valorile pot fi diferite tipuri Listă. Adăugați ("polina", "numele copilului"); /// Cum să introduceți un element în lista de valori din 1c 8.3, 8.2 // introduceți în poziția numărul 2 (elementele sunt numerotate de la 0) // element cu valoarea și reprezentarea din 2010 // "Anul nașterii fiicei lor comune" Listă. Inserare (2, 2010, "Anul nașterii fiicei lor comune") ; /// Cum să ocoliți elementele listei de valori din 1C 8.3, 8.2 Pentru fiecare element din lista de buclă, raport (element. Vizualizare + ":" + șir (element. Valoare)); Endcycle; /// Cum să curățați lista de valori în 1c 8.3, 8.2 Listă. Clar (); Listă. Adăugați (luni); Listă. Adăugați ("marți"); Listă. Adăugați ("miercuri"); /// Cum să aflați numărul de articole din lista de valori, precum și /// obțineți un element al listei prin indicele său în 1C 8.3, 8.2 // numerotarea de la zero Pentru index \u003d 0 din listă. Cantitate () - 1 raport de ciclu (lista [index]); Endcycle; /// cum să găsească un element al listei prin valoarea sa în 1c 8.3, 8.2 Valorist \u003d lista. A găsit conținut (marți); /// Cum să aflați indicele elementului din listă în 1C 8.3, 8.2 Raport (listă. Index (semnalist)); // 1, ca numerotarea de la zero /// Cum să sortați lista prin valorile sale în 1c 8.3, 8.2 // a fost: luni, marți, miercuri Listă. Sortare (direcții. Decession); // stabil: miercuri, luni, marți /// Cum să ștergeți un element din lista valorilor din 1C 8.3, 8.2 // eliminați primul element // parametru: element de listă // sau indicele elementului // Puteți să o listă. Ștergere (listă [0]); // sau așa // listă. Ștergeți (0); /// Cum să deplasați lista de valori în 1c 8.3, 8.2 // schimbăm elementul zero pentru o poziție înainte // a fost: luni marți Listă. Shift (0, 1); // stabil: marți luni /// Cum să faceți o copie a listei în 1c 8 Copiați Scriptura \u003d lista. Copie (); Culori \u003d noua listă de cazare; Culori. Adăugați ("roșu"); Culori. Adăugați ("verde"); Culori. Adăugați ("albastru"); /// Cum să descărcați valorile listei într-o matrice în 1C 8.3, 8.2 Masivecte \u003d culori. Descărcare (); /// Cum să încarce valorile listei din matrice în 1c 8.3, 8.2 Culori. Descărcări (brațe de masă); Extradreses. /// Cum să faceți o alegere formală de valoare din listă /// valori în 1c 8.3, 8.2 & Procedura clauzei Evaluarea alinierii) a culorii \u003d noua listă de ieșire; Culori. Adăugați ("roșu"); Culori. Adăugați ("verde"); Culori. Adăugați ("albastru"); // Procedura de îmbrăcăminte este definită chiar mai jos AlertsLableBeleblement Element \u003d Noua descriere Computer ( "Element postbelic", Acest obiect); Culori. Element Shone (Notificarea de lumină, "Alegeți culoarea preferată" ); Controalele finale și comunicarea Element postbelic Procedură (element, parametri) Export în cazul în care elementul<> Incert atunci să raporteze (punctul. Valoare); Încheiat; Extradreses. /// Cum să faceți o marcă non-modală a valorilor din listă /// valori în 1c 8.3, 8.2 & Clauză Procedura Evaluați notebook-ul (comanda) alternativ \u003d noua listă de cazare; Culori. Adăugați ("roșu"); Culori. Adăugați ("verde"); Culori. Adăugați ("albastru"); // Procedura poștală este definită puțin mai jos RecordSmelecTsMeThelemente \u003d Descriere nouă ( "Passamente", Acest obiect); Culori. Elemente de prezentare (elemente de notificare, elemente, "Alegeți culorile preferate" ); Culori. Combustibili (adevărul); Controlul final și procedura de reclamație Elemente (elemente, parametri) Export Dacă elemente<> Este incert atunci pentru fiecare culoare din elementele ciclului dacă este culoarea. Mark apoi raportați (culoare. Valoare); Încheiat; Endcycle; Încheiat; Extradreses. /// Cum să faci o alegere modală de valoare din listă în 1c 8.3, 8.2 & Clauză Procedura Evaluarea educației (echipei) Culori \u003d Snaps noi; Culori. Adăugați ("roșu"); Culori. Adăugați ("verde"); Culori. Adăugați ("albastru"); Bine ați venit \u003d culori. Selectați elementul ( "Alegeți culoarea preferată"); Dacă Chinvat.<> Este incert atunci să raportați (valoarea. Valoarea); Încheiat; Extradreses. /// Cum să faceți o marcă modală a valorilor din listă /// valori în 1c 8.3, 8.2 & Procedura clauzei ca asomodaltextOoms (comanda) culoare \u003d noua lista de cazare; Culori. Adăugați ("roșu"); Culori. Adăugați ("verde"); Culori. Adăugați ("albastru"); Dacă culorile. Elemente de caractere ( "Alegeți culorile preferate") Apoi, pentru fiecare culoare din ciclul de culoare, dacă culoare. Mark apoi raportați (culoare. Valoare); Încheiat; Endcycle; Încheiat; // și astfel puteți instala toate mărcile // lista la un anumit sens Culori. Combustibili (adevărul); Extradreses. /// Descărcați și executați aceste exemple pe computer

Care este acest articol

Acest articol continuă ciclul articolelor "Primii pași în dezvoltare pentru 1c". Se adresează principiilor de a lucra cu colecții universale. După citirea articolului, veți învăța:

  • Care sunt colecțiile universale când și în ce cazuri ar trebui utilizate?
  • Ce este comun tuturor colecțiilor universale? Ce tehnici pot fi folosite pentru a lucra cu toate acestea?
  • Ce este o matrice, cum și când să o folosești? Ce metode are el?
  • De ce să folosiți structura? Care este diferența ei de la masiv?
  • În ce cazuri utilizați lista de valori? Cum să-l afișați pe formular?
  • Conformitate - Ce este și când să-l utilizați? Care sunt avantajele cu privire la structură?
  • Care este tabelul valorilor? Cum să descrieți structura sa? Cum se adaugă / șterge linii? Cum să-l aduceți la formular?
  • Arborele valorilor - pentru ceea ce este folosit? Cum să umpleți și să ieșiți? Cum să lucrezi cu el?

Aplicabilitate

Articolul discută platforma 1C: întreprinderea 8.3 a ediției urgente.

Ca în 1c care lucrează cu colecții universale

Setul de valori este un anumit container în care orice număr de elemente poate conține de obicei. În acest caz, orice restricții dure pe tipul de date nu este adesea suprapusă.

În colecția universală puteți adăuga valori. Toate valorile din colecție pot fi eludate. Aceste colecții sunt utilizate în principal pentru orice prelucrare a algoritmilor. Acestea. Acestea sunt unele structuri dinamice care există în timpul funcționării algoritmului.

Este important să înțelegem că colecțiile nu sunt stocate în baza de date (despre tipul de stocare a datelor de valori pe care aproape orice tip de date le poate fi salvate).

Există diferite tipuri de colecții universale: o matrice, structură, conformitate, Matrice fixe., Masă de valori, Părți de masă etc. Dar toate colecțiile au un comportament similar.

Colecția poate fi creată ca urmare a unei funcții a oricărei funcții (funcția returnează colecția universală ca valoare).

Puteți obține o nouă colecție manual contactând constructorul și creând o instanță a clasei.

De exemplu: Masiv \u003d noua matrice;

Designerii pentru multe colecții universale sunt parametrizate.

Deci, în designer pentru puteți specifica numărul de elemente din măsurătorile respective. Acestea. poate declara imediat multidimensional .

Descrierea corespunzătoare a designerului este în asistentul de sintaxă.

Astfel, folosind parametrii constructorului, puteți seta imediat comportamentul dorit al acestui obiect.

Dar parametrii sunt opționali, dezvoltatorul nu le poate specifica și continua să determine comportamentul matricei, așa cum pare necesar.

Aproape orice colecție universală poate fi creată folosind un constructor (excepția sunt părțile tabulare care acționează ca obiecte de configurare).

Pentru colecțiile universale există concepte comune ca un index și număr. Fiecare element al colecției are un indice. În acest caz, indicele începe cu zero.

Pentru a se referi la element Nashimassiv.Puteți utiliza apelul la index, pentru ca acest indice este indicat în paranteze pătrate.

De exemplu, Nashimassiv.. Notă, în acest caz, sistemul returnează un element de matrice cu un index 3 și, în ordine, acesta este al patrulea element al matricei.

Pentru unele colecții există și conceptul de număr de linie. Numărul rândului începe cu o unitate. De exemplu, pentru partea de masă există o proprietate ca număr de linie. Este important să rețineți că, dacă știm numărul liniei și doriți să contactați indexul, atunci ca un index, ar trebui să utilizați o valoare pe unitate de linie mai mică.

Conceptul numărului de linie este departe de toate colecțiile, dar în principal în cele care pot fi afișate în interfața cu utilizatorul.

Pentru toate colecțiile, se utilizează elementele colecției. Bypass este posibil în două moduri: ciclu pentru și ciclu pentru fiecare.

Pentru cele mai multe colecții universale, se aplică metode: cantitate, index, adăugare, inserare, ștergere și găsire.

Cantitatea este o funcție care returnează numărul de elemente ale colecției. Poate fi folosit înainte de ciclu PentruAșa cum este prezentat în figură.

Metoda indexului nu există în toate colecțiile, ci numai cele pe elementele care pot fi menționate. De exemplu, puteți aduce Mese Satimente.

Mese- aceasta este o anumită colecție de rânduri, în linii pot conține coloane diferite cu tipuri diferite Valori.

Fiecare linie este o entitate independentă. Puteți obține un link la acesta, prin această linie puteți accesa valorile difuzoarelor din acest rând.

Metoda index vă permite să determinați ce indice corespunde acestui șir (adică poziția curentă a liniei din tabel). Valorile indexului încep cu zgârieturile.

Metodele de adăugare a unor noi valori la această colecție există practic din orice colecție universală. Figura arată cum să umpleți matricea cu valori de la 0 la 10 în două moduri.

Pentru a adăuga un element la o matrice, putem folosi metoda Adăuga, Specificați valoarea adăugată în paranteze. Valoarea va fi adăugată la sfârșitul listei, adică Matricea va crește constant din cauza ultimei poziții.

O altă metodă care vă permite să adăugați valori la metoda de colectare Introduce. Diferă de metodă Adăugace puteți specifica care locație trebuie să introduceți elementul adăugat.

Sintaxă: Inserare (,)

Primul parametru indică indicele în care va fi introdusă noua valoare. Acestea. De exemplu, putem specifica că fiecare valoare trebuie introdusă în începutul listei (a doua metodă din figura de mai sus).

Pentru a elimina elementele din colecție, se utilizează metoda Șterge. În metoda de ștergere, este indicată de indicele, care element vom șterge.

Sintaxă: Elimina ()
Exemplu de utilizare: Nashmassiv. Ștergeți (5);

Trebuie remarcat faptul că pentru acele colecții în care liniile reprezintă o entitate independentă (de exemplu, pentru Mese), De asemenea, putem folosi metoda indexului pentru a șterge apoi acest șir.

Aproape toate colecțiile au o valoare a valorii valorii - A găsi. Metoda este transmisă la valoarea pe care vrem să o găsim. În unele colecții puteți pune orice restricții.

De exemplu, în Tabelul ZAVIEWY.puteți specifica aceste linii, acele coloane în care doriți să căutați.

Dacă se găsește valoarea, această metodă returnează un indice sau un șir specific. Dacă valoarea nu este găsită, valoarea tipului este returnată. Nedefinit. Aplicată la întoarcerea matricei Indexsau valoare Nedefinit.

Exemplu de utilizare: Single-Pământ \u003d Nashimassiv.night (8);

Colecțiile universale pot fi curățate foarte repede, adică Ștergeți absolut toate elementele. Aceasta utilizează metoda Clar ()care elimină elementele matricei, șiruri Mesesau alte date de colecții.

Metode suplimentare pentru matrice

Metodă Vurban. Returnează numărul de elemente minus unul. Acestea. Dacă folosim ciclul Pentru, în loc de metodă, putem folosi imediat metoda Granita().

În special, variabila numărului de masiv ar putea fi determinată altfel:

Cantitate masivă \u003d nashimassiv.v.vgrai ();
Apoi, atunci când descrieți ciclul în sine, nu trebuie luat de la această variabilă.

Metoda Instalarea vă permite să atribuiți o valoare unei matrice în index.

Sintaxă: A stabili (,)

Exemplu: NashMassiv.shorestall (2.8);

Opțiune alternativă: NashMassiv \u003d 8;

Puteți utiliza metoda pentru matrice A primiPentru a citi valoarea indicelui fără a se referi la utilizarea parantezelor pătrate.

Sintaxă: A primi()

Exemplu: Single-Inxiste \u003d Nashimassiv. Se toarnă (2);

Opțiune alternativă: Single-inxiste \u003d dezactivat;

Structura de colectare universală

Structura, precum și o matrice, poate avea un număr nelimitat de elemente, dar conținutul elementului este diferit de matrice.

Structura este o colecție, fiecare valoare constă dintr-o pereche. Primul element al perechii este numit Cheie. Al doilea element al perechii - Valoare.

Cheie- Acesta este un tip strict de date de date care descrie valoarea. De exemplu, Cheie"Cod" poate corespunde valorii 113; Cheie"Nume" Valoare "Vasya". Valoarea restricției de tip de date nu este suprapusă.

Structura este foarte convenabilă de utilizat dacă vrem să creăm o anumită listă de parametri. Dacă asta Structuranumit. Outframe., apoi întoarceți-vă la cele două valori pe care le vom fi după cum urmează: OutStaffing. Cod și remarcabil.

Un astfel de recurs este mult mai convenabil decât dacă toți parametrii au fost determinați în matrice și s-au transformat la ele pe index.

Structura face ca codul de program să fie citit (de înțeles). Structura este folosită destul de des, mult mai des decât o matrice.

Este folosit pentru a descrie unii parametri care există adesea suficient un numar mare de În toți algoritmi.

În plus, structura se aplică dacă procedura și funcția conțin un număr mare de parametri transmis.

Apoi este mult mai convenabil să înregistrați toți parametrii din structură și o transmite și o transmite. Acestea. "Ambalarea" parametrii procedurilor și funcțiilor.

Separat, trebuie remarcat faptul că CheieÎn structură poate să nu fie absolut niciun șir. A efectuat anumite limitări.

Cheietrebuie să acționeze ca un identificator. Aceasta înseamnă că în Cheienu ar trebui să existe lacune și nu poate începe cu numerele.

Admisibilă Cheie Cu litere sau subliniere. În acest fel, Cheietrebuie să îndeplinească cerințele pentru crearea de identificatori.

Notă, cu atât mai brodate diferă de matrice. În structură există o metodă IntroduceÎn matrice există două metode de inserare: Introduce(într-o anumită poziție) și Adăuga(la sfârșitul listei). În matrice, toate elementele sunt comandate.

Structura este un fel de set dezordonat. De aceea, pentru structură există doar metoda de inserare.

Valoarea este introdusă nu într-o poziție specifică, ci la setul specificat. Pentru structură, un apel index este inacceptabil pentru alte colecții universale.

Elementele structurale sunt, de asemenea, menționate de cheia numită. Cu toate acestea, ciclul pentru fiecare dintre lucrări și pentru structură, dar nu ar trebui să se bazeze pe ordinea elementelor structurale.

Structura este creată în același mod ca și alte colecții universale prin utilizarea noului designer, specificând structura tipului de date.

Ca o matrice, constructorul de structură poate avea parametri. Acestea. Este posibilă descrierea structurii structurii în sine folosind constructorul.

Spre deosebire de o matrice în care puteți specifica pur și simplu numărul de elemente pentru toate dimensiunile, în structură este posibilă setarea conținutului în sine.

De exemplu: Restante \u003d noua structură ("cod, nume", 133, "vasya");

Peste virgula, mai întâi numele cheilor sunt enumerate și apoi, în consecință, în aceeași secvență de parametri.

Pentru a adăuga la structura noii valori există o metodă Introducecare introduce o nouă pereche (cheie și valoare).

De exemplu: Outstaffing. Să dețină ("membru", 3);

Pentru structură, se caracterizează o altă metodă, care este utilizată destul de des. Aceasta este o metodă Proprietate.

Cu această metodă, puteți înțelege și dacă există un astfel de element în această structură în care cheia are un astfel de nume.

Dacă există un astfel de element, sistemul va returna valoarea adevărului, altfel - o minciună.

De exemplu, expresie OutStaffing. Software ("membru") Va fi egal cu valoarea adevărului. Această metodă este utilizată destul de des atunci când analizează structura.

În ceea ce privește orice colecție universală, este permisă apel la proprietățile structurii prin index. Dar indicele pentru structură este o valoare a șirului.

De exemplu: Notifică (remarcabilă ["" membriView "]);

Cu toate acestea, nu trebuie să uitați că structura nu este un set comandat de obiecte, motiv pentru care recursul la indexul 0, 1 este inacceptabil.

Lista de colectare universală a valorilor

Lista de alunecareeste o listă liniară a elementelor oricărui tip de date.

Fiecare element constă din mai multe valori. Schematic, lista valorilor poate fi reprezentată ca o listă cu patru coloane.

Prima coloană - marcă. Are un tip de date boolean și permite utilizatorului sau plasați casetele de selectare sau pentru a le trage.

O altă coloană este o imagine care poate observa cumva vizual acest element. Puneți în conformitate cu această linie orice imagine.

A treia coloană este valoarea auto-stocată în sine, adică. Acesta este orice tip de date și în diferite linii poate fi diferit.

Coloana a patra este o reprezentare, adică. Acesta este un fel de descriere a șirului. această valoare. Vizualizarea va fi afișată când va vizualiza acest element. În același timp, dacă reprezentarea nu este specificată, sistemul va încerca să obțină prezentări pentru elementul conținut în această poziție.

Lista de alunecare- Acesta este obiectul cu care utilizatorul poate funcționa vizual. Acestea. Lista de alunecarepot fi afișate.

Utilizatorul poate efectua o acțiune cu aceasta. In afara de asta, Lista de alunecarepoate fi ieșire independent folosind metode, adică Afișați pe ecran într-o ramură a algoritmului (cu excepția codului de server), astfel încât utilizatorul să selecteze un fel de linie sau să pună casete de selectare.

Găsi Lista de alunecareÎn asistentul Saintax. Constructor Liste.nu este parametrizată (nu puteți specifica anumite valori implicite).

Există metode cum ar fi:

  • Inserare (,);
  • Adăuga ();
  • Număr();
  • Index().

Există metode speciale, de exemplu, Descărcare (). Acest lucru creează o matrice care copiază lista de valori. De exemplu:

Masivelemente \u003d listattzen. Informații video ();

Există, de asemenea, o metodă inversă:
Listează pipovets.alipputs (elemente masive);

Există metode de căutare:
A constatat conținut (); Find Atacator Point ().

Există o metodă de copiere:
Copiați Scriptura \u003d ListIpovența .Copy ();
Aceasta metoda Concepute pentru a face un fel de modificare cu o copie.

Există metode:
Sortarea ();
Sortpopserts ().

Metode Alegeți elementul (,)și Mixlements ()apelați o casetă de dialog modal care oprește execuția algoritmului până când utilizatorul închide această fereastră.

Pentru a utiliza aceste metode în proprietățile de configurare Modul de utilizare a modalității trebuie să fie setat la valoare Utilizare.

Un exemplu de cod numit din modulul de aplicare controlat:

Afișează acest cod în modul de utilizator (caseta de dialog modal).

De mai jos Lista de alunecareutilizat ca tip de date accesibil pentru detaliile formularului. Creați un element de recuzită pentru formularul de formare, determinăm tipul pentru el Lista de alunecareȘi afișează-o pe formular.

Creați o echipă nouă Fereastra, Transferăm la formular și determinăm operatorul de acțiune pentru acesta.

În modul utilizator, când faceți clic pe formularul de procesare a unui buton, completați cadouri, va apărea lista completă.

Dacă doriți, puteți edita lista: unele elemente adăugați, unele - ștergeți.

Conformitate de colectare universală

Această colecție este foarte asemănătoare cu Structura. De asemenea, ca structura, corespondența este seturi de valori care constau dintr-o cheie și chiar sensul.

Principala diferență este că orice tip de date poate fi indicat ca o cheie ca și pentru valoarea. Având în vedere acest lucru, este necesar să se facă referire la valoarea conformității prin indice, valoarea cheii este specificată ca valoare a indicelui.

Ca o cheie, poate exista un tip de date diferit de șir. Proprietățile și metodele de lucru cu corespondența sunt practic aceleași cu structura.

Constructorul de conformitate, spre deosebire de structură, nu conține capacitatea de a specifica parametrii.

Exemplu de utilizare:

Conformitatea este utilizată convenabil când trebuie să asociați toate cele două structuri. De exemplu, fiecare linie a părții tabulare trebuie să cartografiere un șir de la tabelul valorilor.
În acest caz, o serie de masă este utilizată ca o cheie de conformitate, iar valoarea corespunzătoare este specificată.

Când introduceți elemente la colecție, în plus față de metoda Inserare (,) Există o altă modalitate de a introduce valoarea - aceasta este utilizarea unui operator de atribuire convențional.

De exemplu: Emite corespondență \u003d noua conformitate;
Conformitatea \u003d 999;

Acestea. Dacă elementul din colecție nu a fost prezent, acesta va fi adăugat utilizând instrucțiunea de atribuire și, dacă este prezentă, va fi actualizată.

Aceasta este diferența față de structură.

Valori de masă de colectare universală

Meseeste un tabel cu un număr arbitrar de rânduri și un număr arbitrar de coloane. La intersecție, pot fi stocate valorile oricăror tipuri de date. Dacă este necesar, coloana poate fi tipărită, adică în ce coloană care tip de date este stocată.

Puteți lăsa difuzoarele inepitei, apoi într-o singură coloană în diferite linii Valorile diferitelor tipuri pot fi stocate.

Diferență Mesede la o matrice bidimensională:

  • acest obiect cu care poate funcționa utilizatorul (poate fi afișat tabelul de valori, utilizatorul o poate umple în viitor, datele introduse pot fi citite);
  • construcția de indici pentru căutare rapidă;
  • clonarea, completarea unei anumite valori a întregii coloane, descărcând toate coloanele într-o matrice.

Meseutilizat ca un anumit tampon de stocare. Mesereturnează și acceptat ca parametru de multe metode de sistem. La tabelul de valori este posibilă construirea unei interogări.

Asa de, Meseconstă dintr-un set de rânduri și un set de coloane. Ambele linii și coloane sunt colecții.

Acestea. În interiorul colecției Meseexistă încă două colecții. Consultați asistentul de sintaxă și găsiți Mese Satimente.

Tipuri de date acceptate: ea însăși Mesecare constă din linii. Fiecare linie este reprezentată de tipul de date Strfotables.care are proprietăți proprii și metodele sale. Disponibil Colecția de tabele Colosde asemenea, posedă anumite proprietăți.

Moment important! Procedura care formează Mese Satimente, Trebuie să fie conforme și Naster.

Înainte de a începe să lucrați cu TabletăEste necesar să se determine ce coloane vor fi conținute în ea (adică, creați-le). Sintaxă:

Adăuga ()
(opțional)
Tip: Rând.
(opțional)
Tipul: descriere
(opțional)
Tip: Rând.
(opțional)
Tip: Număr.

De exemplu:

Pentru a apela această procedură, vom folosi comanda.

În descriere Meseca elemente ale colecției, este Riptablitsy..

Spre deosebire de coloanele care constau doar din proprietăți (nume, tip, titlu, lățime), în Railbreadnicieexistă ambele proprietăți (contact cu numele coloanei) și metodele (puteți primi și setați valoarea pentru a lucra cu proprietarii).

A adauga Șir nou Tabelul trebuie să utilizeze metoda sau Adăuga ()fie Inserare (). În al doilea caz, ar trebui să specificați ce poziție trebuie să setați șirul dorit.

Pentru a atribui valoarea coloanei, facem apel prin intermediul numelui coloanei sau prin indice (folosind paranteze pătrate).

Pentru umplere Meseurmătoarele metode pot fi utilizate:

Clar () - Pentru a elimina toate liniile de la Mese.

Completarea (,) - Vă permite să completați toate coloanele sau coloanele selectate cu o valoare.
Zagocolonka (,) - Încarcă coloana din matrice.
Descărcare () - descărcați coloana din matrice.

Ultimele două metode sunt convenabile de utilizat atunci când trebuie să transferați coloana de la un tabel de valori la altul.

Copie (,) - permite pe baza tabelul existent Creaza nou Mese SatimenteÎn același timp, specificați toate rândurile și toate difuzoarele, ci doar unele dintre ele. Valoare returnată - Mese.

Puteți copia structura Mese. Există o metodă corespunzătoare pentru acest lucru. Colecții de copiere (). Vom fi goale Mese Satimente cu structura necesară.

ÎN Tabelul ZAVIEWY.există o metodă Rezultatul (). Puteți specifica coloana în care trebuie rezumate valorile numerice. În ceea ce privește codul prezentat anterior în tabloul de bord, puteți calcula valoarea: Tz.itog ("suma").

ÎN Tabelul ZAVIEWY.există o oportunitate de a grupa (colaps) valorile numerice de către valori identice anumite coloane folosind metoda Colaps (,).

În ceea ce privește codul prezentat anterior în tabloul de bord, puteți calcula valoarea: Tz. Comutator ("erod", "summ").

Mese Satimenteputeți afișa ecranul utilizatorului astfel încât orice acțiuni să poată fi efectuate cu acesta. Dar spre deosebire de Liste.din codul programului este imposibil să apelați pur și simplu tabelul de pe ecran.

A afișa Mese Satimentepe ecran, creați un element de recuzită și îl atribuiți un tip de date Mese.

După aceea, trebuie afișată tabelul rezultat.

În modulul formularului la sfârșitul algoritmului compus anterior (în procedura de creare a convențiilor) trebuie adăugat:
Semnificative (TK, tabel);

Valorile copacilor de colectare universale

colecția universală, care este foarte asemănătoare cu Mese Satimente. Diferența față de masă este că șirurile de copaci pot fi subordonate unul cu celălalt, adică. O anumită ierarhie poate fi formată.

De asemenea, poate fi reflectată și pe ecran. Arborele valorilor constă în mod explicit dintr-o colecție de rânduri și colecții de coloane. În copac există astfel de proprietăți ca și corzi și coloane.

Deoarece liniile pot fi subordonate unul cu celălalt, părintele poate fi specificat pentru fiecare linie, precum și cursele subordonate.

Creați comanda de copac adecvat și procedura de procesare a acestuia.

Crea În care o linie părinte și doi subordonați.

Creați cerința formularului Drenn.(Tipul de date - Ware).

Pentru aceste detalii, creați coloane Anul și luna.

Deplasați elementul corespunzător Drenn.pe formular.

În cele din urmă Proceduri de pădureserver () Adaug:

SemnificațieRendanephorii (grosieră, dreaptă);

Verificați ce sa întâmplat în modul utilizator.

Utilizați butonul Adăugaputeți adăuga linii noi. De asemenea, pot forma o ierarhie.

Pentru a obține în jurul tuturor elementelor arborelui valorilor, va trebui să folosim recursion, adică Provocați procedura în sine. De exemplu, prelucrarea arborelui a valorilor poate arăta astfel:

Pe aceasta, completăm prima noastră cunoștință cu colecțiile universale.

În următorul articol, luăm în considerare utilizarea mecanismului important pe care dezvoltatorul îl poate simplifica referința la directorul din codul programului.

În această uniformă vom fi familiarizați cu noul tip de date de limbă 1c, care se numește Spaylovies.

Lista valorilor - Aceasta este o matrice, dar cu mari oportunități. Și dacă da, este, de asemenea, o colecție de date și puteți pune un set de numere în el:

// a creat o listă de valori

Listă. Adăugați (23);

În timp ce totul este foarte asemănător cu o matrice, nu-i așa? Dar merge mai departe. Pentru a aduce aceste numere până acum, scrieți:

// vom trece prin ciclul pentru fiecare element al listei pentru fiecare element din lista Raportului ciclului (element. Relație);

// afișați valoarea elementului endcletului;

Și prima diferență. Elementele matricei obișnuite sunt numerele în sine. Și accesul la valoarea curentă a elementului Listă Obținem opțiunea Valoarefolosind designul Element. Valoare.

Luați în considerare câteva oportunități suplimentare / SIA Valori.

Abilitatea de a sorta

De exemplu, putem sorta cu ușurință lista de valori. Lista este capabilă să o facă:

Listă. Sortare-Thewareness (separare direcțională. În cazul unei matrice convenționale, ar trebui să implementăm unul dintre algoritmii de sortare (de exemplu, "Bubble").

Știți cum să găsiți

Lista valorilor poate părea să caute elementele sale. Să vrem să aflăm dacă utilizatorul introdus de utilizator este pe lista noastră:

Introdus (număr); // a introdus numărul de la utilizator găsit element \u003d lista. Găsit conținut (număr);

Dacă elementul este Ilem \u003d este incert, atunci deschideți-outset ("Număr" + numărul + "nu a fost găsit în listă!"); In caz contrar

Open-Analizing ("Numărul" + Număr + "este prezent în listă. Aici este:" + element găsit. Desemnare);

Încheiat; Lista de alunecare

Suportă inserarea și îndepărtarea

Lista valorilor, precum și o matrice, susține inserarea și eliminarea articolelor:

Listă. Inserare (0, 1000);

// introduceți o mie până la începutul listei de listă. Ștergeți (o); // și imediat ștergeți-o din lista de listă. Inserare (listă. Ntal (), 13);

// inserați 13 la sfârșitul listei pentru a raporta (lista [Listă. Naltal () - 1]);

// afișați ultimul element al listei (13)

Suporta paranteze pătrate

După cum ați înțeles deja, numărarea elementelor de listă este, de asemenea, de la zero și ne putem referi la orice element de pe indicele său, utilizând paranteze pătrate:

Raport (listă. Relație); // a adus al doilea element al listei, astfel încât să putem trece peste toate elementele listei, de asemenea:

Pentru a \u003d 0 pe listă. Număr () - 1 raport de ciclu (lista [A] relație);

Endcycle;

Știe cum să creeze o copie

Lista valorilor este pur și simplu o oportunitate superbă - el știe cum să-și creeze copia însuși:

Copiați descrierea \u003d lista. Copiere ();

// a făcut o copie a listei // Acum putem schimba în siguranță spațiul de copiere // În acest caz, lista sursă nu va schimba copia. Valoarea \u003d 123456;

Știe cum să transformi într-o matrice

Și în cele din urmă, puteți descărca cu ușurință toate elementele listei la matrice în orice moment:

Massated \u003d lista. Descărcare ();

// descărcat într-o matrice

Pentru a \u003d 0 prin masiv. Racing () - 1 ciclu

Raport (arigizat [A]); // Nu este nevoie să specificați // Valoarea opțiunii

Endcycle;

Pentru a rezolva și asigura materialul acestei unități, se recomandă efectuarea următoarei sarcini.

Trebuie să introduceți de la numerele utilizatorului 5, să găsiți cele mai mari și mai mici dintre ele și să le aduceți la utilizator. Soluția ar trebui să utilizeze o listă de valori.

Decizie

Lista \u003d noua listă de cazare;

// a creat o listă de valori pentru un număr de ciclu \u003d 1 până la 5 \u003d 0;

Introdus (număr); // introduceți numărul din lista de utilizatori. Adăugați (număr); // și adăugați-o în lista designerului; // și de 5 ori

// Să sortăm lista numerelor

Listă. Cunoștință de sortare (direcții. Wis);

// După sortarea primului element al listei - acesta este // cel mai mic element, iar acesta din urmă este cea mai mare deschidere ("Cel mai mic element" + Lista +

", și cea mai mare listă" + [lista () - 1]);