Bypassing elementele din director

Bypassing elementele din director

În timpul scrierii algoritmilor, poate fi necesar să treceți prin toate elementele directorului. De exemplu, este posibil să aveți nevoie să obțineți un registru al unui anumit director (bunuri, corespondenți etc.) care să conțină o listă a tuturor elementelor din acest director







Pentru a crea un astfel de registru, creați un raport folosind Design Designer și Layout Designer (Design Layout Designer trebuie să precizeze că raportul va conține bucle pe rânduri, numărul de cicluri în linii -1 și numărul de coloane - 3).

Designerul de layout va genera o procedură de generare a rapoartelor:

Această procedură conține până acum doar liniile de ieșire ale formularului tipărit, dar nu conține liniile de primire și de ieșire a datelor necesare.

Să luăm în considerare un exemplu de constituire a registrului mărfurilor (elemente ale directorului "Nomenclatură").

Sarcina noastră este de a ocoli toate elementele din directorul "Nomenclatură" și de a scoate informațiile necesare - codul, numele și prețul mărfurilor - pentru imprimare.

Modificările pe care le vom face la textul sursă vor afecta numai construcția "Până în prezent: Ciclul, sfârșitul ciclului", restul liniilor vor rămâne aceleași. Prin urmare, vom arăta în continuare transformarea numai a acestor linii ale algoritmului.

Pentru a efectua acțiunile necesare în directorul "Nomenclatură", trebuie să creăm o variabilă specială cu funcția "CreateObject":

Această variabilă va fi utilizată pentru a enumera elementele din director. Apoi, selectați elementele din director utilizând metoda "Select Elements":

Metoda "Selectează elemente" deschide (începe) căutarea prin elementele din director. În acest caz, selectăm toate elementele din directorul "Nomenclatură". Vom procesa elementele din director într-o buclă pe care o avem deja într-o anumită formă, conține operatorul de ieșire a unei linii într-o formă tipărită, dar nu conține o condiție.







Evident, avem nevoie de o buclă pentru a trece prin toate elementele din director. Pentru a obține următorul element al directorului, vom folosi metoda "Obțineți elementul".

Pentru a obține următorul element al directorului, trebuie scris:

Dacă elementul directorului este selectat, metoda returnează valoarea "1", altfel - "0". Prin urmare, înainte de a efectua orice acțiune asupra elementului directorului, este necesar să verificăm rezultatul metodei (adică verificăm dacă avem un element manual pentru procesare)

Se scrie expresia pentru verificarea rezultatului selecției intrărilor de directoare în starea de buclă:

Astfel, pentru a căuta prin toate elementele din director, am folosit structura organizării ciclului și metodele "Select Elements" - "Get Element". După ce metoda "Get Element" este executată, variabila "Spr" este poziționată (instalată) pe următorul element al directorului. În acest caz, puteți obține toate rechizitele acestui element prin punctul ("Copy Code, Call.Name, etc.). Data viitoare când metoda" Get Element "este executată, variabila este poziționată pe următorul element și" punct intermediar " informații despre elementul următor.

Astfel, am trecut prin toate elementele directorului și pentru fiecare element tipărit în formă tipărită linia. Dar în șablonul formularului tipărit imprimat generat de Designer, secțiunea "Line_1" constă dintr-o linie goală:

Bypassing elementele din director

În plus, în antetul raportului care urmează să fie generat sunt numele condiționate ale coloanelor coloanelor Column_1, Column_2, Column_3. Să le înlocuim cu numele "Cod", "Nume" și "Preț".

Și în secțiunea Line_1 în coloanele din tabelele 2, 3 și 4, vom scrie în jos, respectiv, Code.Code, Reference.Name și Price.Price:

Bypassing elementele din director

Finalizarea algoritmului, în general, este finalizată. În cartea de referință "Nomenclatură" am trecut prin toate elementele și le-am pus în rapoartele lor: "Codul", "Numele" și "Prețul".







Articole similare

Trimiteți-le prietenilor: