Valoarea Tabelul 1c - Partea 3

Valoarea Tabelul 1c - Partea 3

Valoarea Tabelul 1C - 3 părți. Metadate. valorile coloanelor bust din tabel

Două articole anterioare:

Pentru o explicație a materialului și pentru a fi în măsură să lanseze exemplele noastre de programare „viu“, avem nevoie de un fel de model de test valori 1C. Unele dintre exemplele noastre vor extrage date dintr-un tabel de valori, asa ca vom face un tabel cu trei coloane „Nume“, „Nume“, „Orientul Mijlociu“ și o cantitate mică de date se va face - de mult la fel de mult ca 3 linii :)

Deci, să creeze un valori 1C tabel de test și popula:

Masa noastră de test este format din trei coloane: Nume, Nume, Prenume; și are trei rânduri pline cu numele eroilor războiului civil.

Primul eșantion de cod - sortarea coloană valori Tabelul 1C ca o colecție.

Display-urile noastre în ciclu 1C fereastra mesajului toate numele coloanelor:

Vedem că un ciclu special prin colectarea, cum ar fi ciclul de linii de sortare (în ultimul articol) este folosit pentru a itera prin coloanele. MoyaTZ.Kolonki - o colecție de coloană valori Tabelul 1C „MoyaTZ“. Colectia contine obiecte de tip „KolonkaTablitsyZnacheny“ Fiecare obiect este de acest tip și de masă valori de coloane și conține proprietățile și metodele. Referitor la aceste proprietăți și metode, obținem informațiile necesare cu privire la o singură coloană sau efectuați orice altă acțiune cu ea.

De exemplu, referindu-se la proprietatea „Name“ (Kolonka.Imya) obținem numele coloanei curente.

Vreau să atrag atenția asupra antetul ciclului: „Pentru fiecare ciclu coloana MoyaTZ.Kolonki“ variabila numita „coloana“ a fost inventat de noi. Opțional, utilizați același nume. Puteți apela această variabilă, după cum doriți, cum ar fi „MoyaTekuschayaKolonka“ Atunci exemplul de mai sus ar arata astfel:

Atunci când execută subsistemul respectă ciclul 1C de acest fel, de fiecare dată prin bucla, se atribuie specificat numele unui articol din colecția noastră, în acest caz - un element din coloanele de masă de colectare valori MoyaTZ.Kolonki Și apoi ne întoarcem la variabila care conține curentul coloană, și de a folosi proprietatea „Name“.

Am oferta de lângă numele coloanei pentru a aduce mai multe și fiecare număr de coloană într-o colecție de coloane:

În 1C va fi afișată caseta de mesaj text:

Să acorde atenție faptului că coloana din valorile Tabelul 1C sunt numerotate pornind de la zero, precum și valorile string din tabel.

Numărul de coloane de valori din Tabelul 1C

Pentru a afla numărul de coloane într-un tabel de valori, folosim „Number ()“ din colecția de coloane.

„3“ va fi afișat pe ecran. Într-adevăr, în tabelul nostru de trei coloane: „Numele“, „Nume“, „Orientul Mijlociu“

coloană Prepararea obekta- prin numărul (index), iar coloanele de sortare folosind indexul coloane

Facem ciclul de sortare a tuturor coloanelor din valorile de masă prin intermediul unor indici de coloane (camere). Amintiți-vă că coloanele sunt numerotate începând de la zero. Prin urmare, contorul buclei „Sch“ noi trebuie să crească de la zero la numărul egal cu numărul de coloane minus unu.

Pe vom obține următorul ecran

Cred că acest exemplu a fost de înțeles. Am apelat la numărul metoda (), o colecție de coloane „MoyaTZ.Kolonki.Kolichestvo ()“ a primit un număr de coloane, și a lansat o serie de contor de la zero la numărul de coloane minus unu. În interiorul bucla, vom obține în fiecare coloană din colecția de coloane și atribuiți curent variabila obiect coloana TekuschayaKolonka Mai mult, o TekuschayaKolonka variabilă ne întoarcem la numele proprietății și va afișa valoarea acestei proprietăți este pe ecran: Raport (TekuschayaKolonka.Imya);

Este important să nu confunde proprietatea obiectului și metodei obiectului.

Proprietatea - un fel de valoare statică, și trimiterea la este scris, fără paranteze, de exemplu TekuschayaKolonka.Imya. O metodă - o chestiune de apeluri și funcții de fapt, procedura sau obiect de funcții și proceduri sunt întotdeauna scrise cu paranteze (chiar dacă nu există parametri de intrare). De exemplu: MoyaTZ.Kolonki.Kolichestvo ()

Dacă ne întoarcem la metoda, uitând să scrie paranteze - 1C interpret ne va da un mesaj de eroare și nu se execută codul pentru a executa. Din moment ce interpretul va presupune că noi nu ne uităm la metoda și la proprietate - pentru că nu există paranteze. O proprietate cu un astfel de nume nu poate fi găsit (din cauza același nume, există doar o metodă) - și ce va fi spus în mesajul de eroare.

Iată ce trebuie să scrie un interpret, dacă am uitat să pun paranteze într-un apel de metodă într-un mod greșit MoyaTZ.Kolonki.Kolichestvo (fără paranteze după „Number ()“):

obiect de câmp a fost detectat (Number)

În acest caz, „câmpul“ și „proprietate“ ar trebui să fie înțeles ca sinonime, sau inexactități 1C dezvoltatori terminologie. Ei folosesc aceste două cuvinte pentru a descrie același concept. Deși în alte limbaje de programare, acești termeni pot însemna lucruri diferite.

Obținerea de date din tabelul de căutare utilizând coloane 1C cameră

Vă sugerez să începeți cu un exemplu simplu de preluarea datelor de la primul rând de tabel. Rețineți că vom folosi tabelul de pre-umplut de la începutul articolului. Știm sigur că tabelul este primul rând, și există cel puțin o coloană. Dacă aplicăm acest exemplu la masa goală, apare eroarea. Deci:

Acesta va fi afișat:

În primul rând avem un tabel de valoare obiect-line prin referire la un tabel de valori cu ajutorul operatorului de [. ]. (Dacă uitați cum se face, puteți vedea articolul anterior) în cadrul operatorului am trecut argumentul „0“. Acesta este un index al primului rând de valorile din tabel. PervayaStroka MoyaTZ = [0];

Mai mult, obiectul-linie, avem, de asemenea, dreptul de a adresa cu ajutorul operatorului de [. ]. În interiorul operatorilor am trecut un număr de coloană de tabel, „0“, este, de asemenea, în acest caz. Și astfel, avem o valoare de coloană cu numărul „0“ pentru rândul curent din tabelul cu numărul „0“. Valoarea am adus pe ecran, și este un șir de „Chapaev“.

Bit complica exemplul nostru:

Acum am adus pe ecran valorile cele trei coloane din primul rând al tabelului nostru de valori:

Acum am, am modifica exemplu pentru noi de a face fără variabila „PervayaStroka“

Ecranul va fi la fel

Am văzut în exemplul de mai sus, că a avea acces la valoarea într-un anumit rând și o anumită coloană a tabelului de valori, putem folosi o provocare consistentă doi operatori [. ] În forma: TablitsaZnacheny [IndeksStroki] [IndeksKolonki]

Deci, suntem gata de a crea un ciclu de sortare și de a obține date de la toate rândurile și toate coloanele folosind indicii de rânduri și coloane:

Ecranul afișează următoarele:

Propun, în concluzie, pentru a schimba ușor exemplul nostru să-l în locul coloanelor număr este afișat pe ecranul de numele lor. Și în plus, a făcut design mai prezentabilă de distribuire a conținutului de pe ecran.

Acum, pe informațiile noastre ecran a început să arate mai prezentabil:

Oh, aproape am uitat. Atunci când se utilizează doi operatori consecutivi [. ] [. ], Putem în loc de un indice de coloană pentru a transmite numele acestei coloane: TablitsaZnacheny [IndeksStroki] [ImyaKolonki]

Să acorde o atenție la linia marcată de săgeata "

  • Valoarea Tabelul 1c - Partea 3
    Despre proiectul „Start 1C“
  • Valoarea Tabelul 1c - Partea 3
    Protejat: Ziua 1 și 2 mini-curs ...
  • Valoarea Tabelul 1c - Partea 3
    Ați adăugat cu succes la grupul ...