Cum să rezolvați întrebări mari

QuestionHow să se ocupe de întrebări mari. Consola de interogare. Cum se uite, ce sunt completate în tabelele temporare din interogare?
Răspuns destul de des în configurațiile tipice 1C există complexe foarte mari pentru interogările de percepție. De exemplu, cererea de completare automată pentru documentul "Salarizare" conține aproximativ 3000 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ă 2 metode fundamentale diferite de analiză a acestor cereri.

Prima metodă este să utilizați consola de interogare.
Consola standard de interogare poate fi preluată pe discul ITS (doar căutați discul ITS pentru cuvintele "Consola de interogare" și veți avea mai multe linkuri către el simultan). Versiuni mai convenabile se găsesc pe site-uri terțe. Nu-mi amintesc exact unde a fost versiunea propusă a consolei, dar mi sa părut cea mai convenabilă.

Aici îl puteți descărca gratuit: [download id = "2"]

Consola de interogare vă permite să creați și să depanați interogările în modul 1C: Enterprise, fără a porni 1C: Configurator. Fișierul descărcat trebuie dezarhidat și deschis prin meniul 1C: Enterprise "Fișier - Deschis".

Pentru a înțelege o interogare mare utilizând consola de interogare, rupeți interogarea în părți. Apoi puteți urmări imediat rezultatul fiecărei părți. În acest caz, cererea va fi mai ușor de înțeles dacă observăm structură arborescentă corespunzătoare structurii cererii și pentru a da nume care subinterogările tabele imbricate dupa nume (sau nume de tabele temporare) parsate în această parte a cererii. Un minus mare al consolei de interogare: trebuie să trimiteți parametrii de interogare, câteodată o listă de valori poate apărea ca parametru de interogare sau chiar mai rău - un tabel de valori.







A doua metodă este de a citi rezultatele interogării intermediare utilizând o funcție a formularului

Cererea este interogarea pe care o investigăm,

vTame este numele tabelului intern al interogării examinate, care conține datele pe care dorim să le vedem.

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.

Sau este mai convenabil să nu încorporați un apel de funcții în modul, dar direct în afișajul de depanare scrie o expresie ca aceasta:

În mod similar, puteți apăsa pe tasta F2, după ce ați poziționat pe afișaj acest apel, se deschide conținutul mesei.

La fel ca în PMT, este luată în considerare rata orară. Calcularea suprataxei pentru orele de noapte (1C: v8: Salarizare și Managementul Personalului)

Imprimarea rapidă imediată cu selecția imprimantei nu este implicită (1C: v8: Programator: conexiune COM la serviciul Microsoft WMI)

Întrebare: De ce nu trimiteți întreaga interogare în funcție, dar numai textul solicitării? Procedând astfel, scrieți funcția după cum urmează:

În același timp, nu este vorba despre cererea în sine, ci numai cu textul său, care ar trebui să fie trecut ca parametru.

Răspuns: Faptul este că interogarea poate avea parametri. Dacă trimiteți numai textul solicitării, va trebui să definiți parametrii de interogare și în această funcție. îl executam imediat. Prin urmare, această metodă este potrivită numai pentru cele mai simple interogări fără parametri.

Codul anterior al funcției (dar este mai rău, deoarece poate da o eroare că un astfel de sistem BT există deja):

Notă. În textul funcției, textul interogării este stocat și apoi restaurat. Ideea este că, dacă nu faceți acest lucru, textul interogării va fi redefinit, deoarece proiectarea "zonei de solicitare" protejează obiectul "Solicitare" de suprasolicitare, dar nu protejează "Solicitare text".







Articole similare

Trimiteți-le prietenilor: