Cum înțelegeți întrebările mari și cum puteți vedea ce este temporar

Destul de des în configurațiile tipice ale lui 1C există cereri de percepție foarte mari și dificil de perceput. De exemplu, cererea de completare automată pentru documentul "Salarizare" poate conține mai mult de 3.000 de linii. În ciuda faptului că, datorită utilizării unui număr mare de mese temporare, este structurat suficient și transparent din punct de vedere logic, este destul de greu de înțeles datorită unui număr foarte mare de rânduri.







Există două metode fundamentale diferite de analiză a acestor cereri.

Prima metodă este să utilizați consola de interogare

O consolă de interogare standard poate fi preluată pe discul ITS. Pe diferite site-uri terțe există versiuni mai convenabile.

Consola de interogare vă permite să creați și să depanați interogările în modul 1C: Enterprise, fără a porni 1C: Configurator. Descărcați fișierul, dezarhivați-l și deschideți-l prin meniul 1C: Enterprise "Fișier - Deschis".

Pentru a înțelege o interogare mare folosind consola de interogare, rupeți interogarea în părți. Acest lucru vă va permite să urmăriți imediat rezultatul fiecărei părți. Cea mai ușoară modalitate este să înțelegeți interogarea dacă urmați structura arborescentă care corespunde structurii interogării în sine și dați nume acestor subdistribuții prin numele tabelelor imbricate discutate în această parte a interogării. Un minus mare al consolei de interogare: trebuie să trimiteți parametrii de interogare și uneori parametrul interogării poate fi o listă de valori sau un tabel de valori.






A doua metodă este de a citi rezultatele interogării intermediare

Se folosește o funcție a formularului:

Funcția GetData (interogare, tabele de nume)
DataTable = Cerere nouă;
DataTables.ManagerTime = Query.ManagerTimeTable;
DataTables.Text =
"Selectați *
| | Din "+ Nume tabel +"
| ";
Returnați tabele de date.
Terminați funcția

Se recomandă amplasarea acestuia într-un modul extern. Astfel, acesta poate fi accesat din orice interogare depanat prin introducerea în locul corespunzător al modulului a unei linii a formularului:

втName = Datele de interogare (interogare, "In");

Acum, dacă introduceți acest nume în placa de mesaje și apăsați F2, se va deschide o fereastră cu valorile acestei tabele temporare.

Este, de asemenea, posibil să nu încorporați un apel de funcții în modul, dar direct în caseta de depanare scrie o expresie ca aceasta:

Din nou, apăsați F2, poziționat în tabloul de bord al acestui apel, conținutul mesei se va deschide.

PS
Consola de interogare pentru 8.1 în fișier.







Trimiteți-le prietenilor: