Array 1C - un simplu set de valori. Intr-o matrice 1C pot adăuga valori de diferite tipuri. După adăugarea unei prezențe în matrice 1C valori pot verifica căutarea încorporată.
1C matrice este adesea folosit:
A) pentru selectarea
B) Pentru a salva lista de valori pentru a continua să-l folosească, de exemplu, sunt transmise ca parametri la funcția / procedura.
Lucrul cu matrice 1C
1C creează o matrice de 2 valori:
Array = new Array (); // array fără un număr fix de valori
New RandomNumberGenerator RNG = (); // se va umple cu numere aleatoare
Massiv.Dobavit (GSCh.SluchaynoeChislo (0, 1000));
Massiv.Dobavit (GSCh.SluchaynoeChislo (0, 1000));
// bucla trece fiecare valoare a 1C matrice, indiferent cât de mulți dintre ei acolo
Pentru fiecare serie de ciclu ZST
Raport (valoare);
KonetsTsikla;
1C creează o matrice de 10 valori:
Array = new Array (10); // array cu un număr fix de valori CMV
New RandomNumberGenerator RNG = (); // se va umple cu numere aleatoare
// index de matrice începe de la zero, mai degrabă decât unul
// 10 bucăți - este între 0 și 9
Pentru Cq = 0 până la 9 Ciclul
// referire la matrice ArrayName [Index]
Array [Gv] GSCh.SluchaynoeChislo = (0, 1000); // număr aleatoriu între 0 și 1000
KonetsTsikla;
// bucla trece fiecare valoare de matrice, indiferent cât de mulți dintre ei acolo
Pentru fiecare serie de ciclu ZST
Raport (valoare);
KonetsTsikla;
// nota - 10 din matrice de valori, aceasta înseamnă că implicit lor este de 10 bucăți, iar fiecare valoare este nedefinită până când ne-am stabilit un alt
// acest lucru nu înseamnă că nu putem adăuga o altă valoare, 11e, folosind ImyaMassiva.Dobavit ();
Crearea unei matrice multidimensională 2x2 1C. 1C matrice multidimensională, fiecare matrice de celule înseamnă 1C nu are nici o valoare, și, de asemenea, o matrice 1C.
O matrice multidimensionale 1C nu trebuie să fie stabilită. Hai să facem o matrice multidimensională 2x2 1C fără a specifica un număr fix de valori:
Crearea unei matrice de 1C de la zero
Primirea de date - consumatoare de timp și procedura de resurse. Prin urmare, dacă doriți să lucrați cu datele obținute în mod repetat - are sens pentru a le obține o dată și stocate într-o serie de 1C pentru a continua să lucreze cu datele deja recepționate și stocate.
De exemplu - o versiune șir a programului este următoarea «11.0.9.5» - patru numere separate prin puncte. Putem traduce versiunea în format „calculator“ - o serie de patru valori numerice. Apoi, putem compara în continuare versiuni cu altele:
Prepararea 1C matrice gata cu date
1C pot obține o serie de liste de valori folosind metoda spSpisok.VygruzitZnacheniya () și a valorilor din tabel prin metoda tTablitsa.VygruzitKolonku ().
In exemplul de mai jos, o facem cerere - selectați toate documentele de referință din baza de date.
- RezultatZaprosa Zapros.Vypolnit = () // interogări
- tzRezultat RezultatZaprosa.Vygruzit = () // evacueazã rezultatul într-un tabel de valori
- mMassivSsylok tzRezultat.VygruzitKolonku = ( "ImyaKolonki") // evacueazã coloană tabel în matrice
Obținerea de matrice 1C altor obiecte și utilizarea ca o selecție în interogare
Atunci când forma este o listă de documente (sau tabel de valori) - utilizatorul poate evidenția cursorul o linie. De asemenea, puteți permite să selecteze mai multe rânduri, la un moment dat. Pentru a selecta mai multe rânduri (cu excepția cazului în care formularul este permis) trebuie să țineți apăsată tasta Ctrl sau Shift.
Adăugați o formă de client gros de un tabel de valori, și ca tip, selectați DokumentSpisok.ImyaDokumenta. În proprietățile sale, selectați modul de selecție - multiple.
Putem obține în mod programatic o listă de linii selectate:
Dacă utilizați un formular gestionat, trebuie să adăugați mai întâi formularele necesare cu tipul DinamicheskiySpisok și proprietățile sale, selectați tabelul principal - documentul dorit. Trageți recuzita pe formular. (!) În proprietățile elementului de formular și selectați - modul de selecție - multiple (setat ca implicit).
Apel la o matrice 1C linii selectate vor arăta:
Elementy.ImyaRekvizitaFormy. VydelennyeStroki
Vot pentru acest post: