Câmpurile de câmp CCD 1c calculate. Funcțiile limbii expresiilor sistemului de aspect de date. Ieșirea datelor tabulare într-o singură linie

În următoarea ieșire 8.2.14, voi încerca să descriu câteva caracteristici noi ale sistemului de aspect de date.

Deschideți circuitul de aspect de date, de preferință în raportul extern, astfel încât este mai ușor de editat.

Adăugați un set de tip de date de tip și scrieți sau manual, fie utilizând interogatorul de interogare cea mai simplă interogare:

1. Configurați solicitarea la ecranul LCD.

2. Personalizați câmpurile calculate din CD

3. Efectuați setarea layout-ului de date din fila Setări

4. Rulați 1C întreprindere 8.2.14. Deschideți un raport. Formăm, primim.

Descrierea noilor caracteristici în sine:

1. Data curentă ()

Returnează data sistemului. La stabilirea unui aspect layout în toate expresiile care sunt prezente în aspect, funcția de curgere () este înlocuită cu valoarea datei curente.

2. Calculați sistemul ()

Sintaxă:

Calculul educației (,)

Descriere:

Funcția este concepută pentru a calcula expresia în contextul unor grupuri.

Funcția ia în considerare selecția grupărilor, dar nu ia în considerare selecțiile ierarhice.

Funcția nu poate fi aplicată grupului în selecția grupului de grupare. De exemplu, în selectarea grupului, nomenclatura nu poate fi utilizată Calculul executării ("Suma (stratul de mărime)", "Obnutitog")\u003e 1000. Dar o astfel de expresie poate fi utilizată într-o selecție ierarhică.

În cazul în care înregistrarea finală este precedată de inițial, se crede că înregistrările pentru calcularea datelor detaliate și calcularea funcțiilor agregate sunt absente.

La calcularea expresiilor intervalului pentru un rezultat comun (parametrul de grupare contează o valoare comună) se crede că nu există înregistrări pentru calcularea datelor detaliate și calcularea funcțiilor agregate.

Layout Layout la generarea expresiei funcției Configurarea executăriiÎn cazul în care expresia de comandă conține câmpuri care nu pot fi utilizate în grupare, înlocuiește funcția Configurarea executării pe NUL.

Parametri

Un fel: Linia. Expresia care trebuie calculată.

Un fel: Linia. Conține numele grupului, în contextul căruia este necesar să se calculeze expresia. Dacă un șir gol este utilizat ca nume de grup, calculul va fi executat în contextul grupului curent. În cazul în care o serie de grupuri comune vor fi utilizate ca grup de grupare, calculul va fi executat în contextul unui rezultat total. În alte cazuri, calculul va fi efectuat în contextul grupului-mamă cu același nume.

De exemplu:

Suma (vânzări. Masmoboto) / Calculate ("Suma (vânzări. Rezumat)", "Obnutogit")

În acest exemplu, rezultatul este raportul dintre suma de pe teren Vânzări. Rezumat. înregistrarea grupului la suma aceluiași domeniu în întregul aspect;

Un fel: Linia. Parametrul poate lua următoarele valori:

· Rezultatul general - Expresia va fi calculată pentru toate înregistrările de grupare.

· Ierarhie - Expresia va fi calculată pentru înregistrarea ierarhică părinte, dacă există și pentru întreaga grupare, dacă înregistrarea ierarhică părinte nu este disponibilă.

· Gruparea - Expresia va fi calculată pentru înregistrarea actuală a grupului.

· GroupingResource - La calcularea unei funcții pentru înregistrarea grupului pe resurse, expresia va fi calculată pentru înregistrarea primei grupuri a grupului original.

La calcularea funcției Calculați sistemul () cu semnificație GroupingResource Pentru intrările de grup care nu sunt grupuri pentru resurse, funcția este calculată în același mod ca și cum ar fi calculată dacă valoarea parametrului a fost egală cu valoarea Gruparea.

Layout Layout Layout Layout Când generați layout-ul layout-ului de date atunci când afișați un aspect al resurselor de câmp, care este realizat de o grupare, pune o expresie pe aspectul calculat folosind o funcție Calculați sistemul () , indicând parametrul GroupingResource. Pentru alte resurse, expresiile obișnuite de resurse sunt plasate în gruparea de resurse.

Un fel: Linia. Indică ce înregistrare trebuie să porniți un fragment în care să se calculeze funcțiile agregate ale expresiei și din ce înregistrări pentru a primi valori ale câmpului în afara funcțiilor agregate. Valoarea poate fi una dintre următoarele:

· Primul (primul)

· Ultima (ultima)

· Anterior (anterior)

· Următorul

· Curent (curent)

· Restricționat (Limită) Restricționat

Un fel: Linia. Indică, la care înregistrarea trebuie să continuați un fragment în care să se calculeze funcțiile de exprimare agregate. Valoarea poate fi una dintre următoarele:

· Primul (primul). Trebuie să primiți prima intrare a grupului. După cuvântul din paranteze, puteți specifica expresia a cărei rezultat va fi folosit ca o schimbare de la începutul grupului. Valoarea obținută ar trebui să fie un număr întreg pentru a fi un număr, mai mult zero. De exemplu, primul (3) - primind a treia intrare de la începutul grupului.

Dacă prima înregistrare depășește gruparea, se crede că nu există înregistrări. De exemplu, în cazul în care înregistrările 3 și este necesar pentru a obține primul (4), se crede că nu există înregistrări.

· Ultima (ultima). Trebuie să obțineți cea mai recentă intrare a grupului. După cuvântul din paranteze, puteți specifica expresia a cărei rezultat va fi folosit ca o schimbare de la capătul grupului. Valoarea obținută ar trebui să fie un număr întreg pentru a fi un număr, mai mult zero. De exemplu, ultimul (3) este de a primi oa treia intrare de la sfârșitul grupului.

Dacă ultima înregistrare depășește gruparea, se crede că nu există înregistrări. De exemplu, dacă înregistrările 3 și este necesar să obțineți ultimul (4), se crede că nu există înregistrări.

· Anterior (anterior). Trebuie să obțineți înregistrarea de grupare anterioară. După cuvântul din paranteze, puteți specifica expresia a cărei rezultat va fi utilizat ca offset înapoi de la intrarea curentă de grupare. De exemplu, cea anterioară (2) obține cea anterioară din recordul anterior.

Dacă intrarea anterioară depășește gruparea (de exemplu, pentru intrarea a doua a grupului, trebuie să obțineți cea anterioară (3), apoi se obține primul grup.

La primirea înregistrării anterioare, prima intrare este luată în considerare pentru grup.

· Următorul. Trebuie să obțineți următoarea grupare. După cuvântul din paranteze, puteți specifica expresia a cărei rezultat va fi utilizat ca o schimbare înainte de intrarea curentă a grupului. De exemplu, următoarele (2) obține următoarele de la următoarea intrare.

Dacă următoarea intrare depășește gruparea, se crede că nu există înregistrări. De exemplu, dacă înregistrările 3 și pentru a treia înregistrare sunt obținute după cum urmează (), se consideră că nu există înregistrări.

La primirea următoarei înregistrări pentru rezumatul grupului se crede că nu există înregistrări.

· Curent (curent). Trebuie să obțineți intrarea curentă.

La primirea pentru suma grupului, se obține prima înregistrare.

· Restricționat (Limită). Trebuie să obțineți o înregistrare la valoarea specificată. După cuvântul. Restricționat În paranteze trebuie să specificați expresia, cu valoarea de care aveți nevoie pentru a începe un fragment, primul câmp de comandă.

Prima înregistrare va fi primită ca intrare, valoarea câmpului de comandă în care este mai mare sau egală cu valoarea specificată. De exemplu, dacă câmpul este folosit ca domeniu de comandă și contează 01/01/2010, 01.02.2010, 01.03.2010 și trebuie să obțineți Restricționat (Dataghery (2010, 1, 15)), Voi primi o înregistrare cu data 01.02.2010.

Un fel: Linia. Exprimările sunt enumerate, separate prin virgule, care descriu ordonarea. Dacă nu este specificat, ordonarea este efectuată, precum și în gruparea pentru care se calculează expresia. După fiecare expresie, puteți specifica un cuvânt cheie Cz. (pentru ordonarea ascendenței), Descendentă (pentru a comanda în descendent) și Auto-comandă (Pentru a eficientiza referințele în câmpurile pentru care trebuie să organizați un obiect la care se efectuează link-ul). Cuvânt Auto-comandă pot fi folosite ca și în cazul cuvântului Cz.și cu cuvântul Descendentă.

Un fel: Linia. Similar cu parametrul Triere. Este folosit pentru a eficientiza înregistrările ierarhice. Cu excepția cazului în care nu este specificat, aspectul layout generează o comandă în conformitate cu ordonarea specificată în parametru Triere.

Un fel: Linia. Indică regula de definiție a intrării anterioare sau următoare în cazul în care există mai multe intrări cu aceeași valoare de comandă:

· Separat (separat) Indică faptul că pentru a determina înregistrările anterioare și următoare, se utilizează secvența înregistrărilor comandate. Valoarea implicită.

· Impreuna impreuna) Indică faptul că intrările anterioare și următoare sunt determinate pe baza valorilor expresiilor de aranjare.

De exemplu, dacă secvența rezultată este comandată după dată:

Data Numele complet Valoare
1 01 ianuarie 2001

Ivanov M.

10
2 02 ianuarie 2001 Petrov S. 20
3 03 ianuarie 2001 Sidorov R. 30
4 4 ianuarie 2001 Petrov S. 40

Separat, atunci:

§ Înregistrarea anterioară pentru a scrie 3 va fi înregistrată 2.

Curent, curent (respectiv, parametri start și sfarsit), apoi pentru înregistrarea 2, acest fragment va consta dintr-un singur record 2. Expresia va fi egală cu 20.

Dacă valoarea parametrului este egală Împreună, atunci:

§ Înregistrarea anterioară la înregistrare 3 va fi înregistrată 1.

§ Dacă fragmentul calculat este definit ca Curent, curent (respectiv, parametri start și sfarsit), apoi pentru înregistrarea 2, acest fragment va consta în înregistrarea 2 și 3. expresie Calcularea așteptărilor ("Valoarea (valoarea)", curentul, curent) Va fi 50.

Când specificați valoarea parametrului egal Împreună, în parametri start și sfarsit Nu puteți specifica offsetul pentru poziții În primul rând, ultimul, înainte, următorul.

Calculul executării ("Suma (stratul de dimensiune)", "primul", "curent")

Dacă doriți să obțineți o valoare de grupare în linia anterioară, puteți utiliza următoarea expresie:

Executie de calcul ("Curs", "Anterior")

Listă nou Funcții:

Calculați rezidualisibrouproupsomassiv(,) -

Funcția returnează o matrice, fiecare element din care conține rezultatul calculării expresiei pentru gruparea de către câmpul specificat.

Calculul / separareaGrupuri(,) -

Funcția returnează tabelul de valori, fiecare linie conține rezultatul calculării expresiilor pentru gruparea de către câmpul specificat

Valoarea este umplută() - Returnează adevărul dacă valoarea este diferită de valoarea acestui tip în mod implicit, este diferită de valoarea nulă, excelentă din legătura goală, este diferită de valoarea. Pentru valori logice, este verificată o valoare nulă. Pentru corzi, verifică absența caracterelor spațiale

Format(,) - Obțineți șirul formatat al valorii transmise. Șirul de format este setat în conformitate cu șirul de format al sistemului "1C: Enterprise".

Substring.(,,) - Această funcție este concepută pentru a evidenția substringul din rând.

Accident vascular cerebral plat() - Funcția este proiectată pentru a determina lungimea șirului. Parametrul - Exprimarea șirului

Linia() - Dacă o matrice este transmisă ca parametru, atunci funcția returnează un șir care conține reprezentări de șir ale tuturor elementelor de matrice separate prin simboluri "; Dacă tabelul de valori este transmis ca parametru, atunci funcția returnează un șir care conține reprezentările de șir ale tuturor rândurilor valorilor valorilor și eșantioanele fiecărui șir sunt separate prin simboluri ";", iar șirurile limita traducerii rândului. Dacă o reprezentare a șirului este goală în orice element, șirul este afișat în locul prezentării sale.

În această scurtă notă, vreau să arăt cum să rezumăm valorile la diferite niveluri de grupare, în raport utilizând sistemul de aspect de date.
După cum se arată în imagine, numai la nivelul grupului de "grup de nomenclatură", se calculează "ordinea" resurselor, acesta afișează cât de mult este necesar să se ordoneze grupul actual de nomenclatură pe baza anumitor condiții:


Această valoare poate fi calculată numai la nivelul grupului, deoarece, peste sau mai jos, nu există valori pentru calcul. De exemplu, la nivelul înregistrărilor detaliate, nu există date privind valoarea maximă din grup, deoarece aceste date sunt corecte numai pentru grup ca întreg și nu pentru componentele individuale.

În consecință, acum este necesar să se calculeze rezultatele, pe grupările de mai sus ("depozite", "tipuri") și un rezultat general.
Aceasta utilizează funcția Calculați / separatGrouplingMassiv:
Calculați / evalexpressionwithgrouparray)
Sintaxă:
Calcularea / construirea de mașini de grupare separate (,)
Descriere:
Funcția returnează o matrice, fiecare element din care conține rezultatul calculării expresiei pentru gruparea de către câmpul specificat.
Aspectul layout la generarea unui aspect convertește parametrii funcției la termenii câmpurilor de aspect al datelor. De exemplu, câmpul de contrapartidă va fi transformat în acțiuni.
Linkerul layout Când generând expresii pentru a scoate câmpul de utilizator, în expresia căruia numai funcția este o caracteristică a mașinii masivisgrupului (), generează o expresie de ieșire, astfel încât informațiile de ieșire să fie comandate. De exemplu, pentru un câmp de utilizator cu o expresie:

Calculul / separatGroupsemassiv ("Suma (Total-Motor)", "contrapartită")
Aspectul layout va genera pentru a afișa următoarea expresie:

Conectori (matrice (matrice (bandă de calcul / separare ("Prezentare (setare (Suplimente (Suplimente)), Sumă (Suport setat)", "Configurare. Contractor"), "2"))

Parametrii:

Tip: Rând. Expresia care trebuie calculată. Un șir, de exemplu, suma (totalul motorului).

Tip: Rând. Expresii ale grupului - expresii ale câmpurilor de grupare enumerate prin virgulă. De exemplu, contrapartidă, partid.

Tip: Rând. O expresie care descrie selecția aplicată înregistrărilor detaliate. Expresia nu acceptă utilizarea funcțiilor agregate. De exemplu, stratum \u003d false.

Tip: Rând. O expresie care descrie selecția aplicată în intrările de grup. De exemplu, suma (Total-Motor)\u003e & Parameter1.
Exemplu:

Maximă (calculator / mașină de grupare separată ("cantitate (total motor)", "contrapartidă"));

O descriere detaliată a caracteristicilor de sintaxă poate fi găsită la adresa http://its.1c.ru/db/v837doc#bookmarkmark:dev:ti000000582
Acum, pentru a calcula, duplicați câmpul "Comandă", cu valori diferite "conta ...", folosind următoarele expresii, rețineți că în fiecare mai sus nu există nivele în picioare sub grupurile permanente.

Ca rezultat, primim următorul design:

Conectați-vă ca student

Conectați-vă ca student pentru a obține acces la materialele școlii.

Sistemul de layout de date 1c 8.3 Pentru începători: Considerăm rezultatele (resursele)

Scopul acestei lecții va fi:

  • Scrieți un raport care afișează o listă de produse (directoare de alimente), calorii și gustul lor.
  • Faceți gruparea produsului în culoarea lor.
  • Fiți familiarizați cu posibilitatea de a rezuma (resurse) și câmpuri calculate.

Creați un nou raport

Ca și în lecțiile anterioare Deschideți baza de date " Delicatese"În configurator și creați un nou raport prin meniul" Fişier"->"Nou...":

Tipul documentului - raport extern:

Sub forma unei configurații de raport, scriu un nume " Lecția3."Și apăsați butonul" Deschideți schema de layout de date":

Lăsați numele de schemă implicit și apăsați butonul. Gata":

Adăugați o cerere prin designer

Pe fila " Setul de date"Presa verdepluslik și alegeți elementul " Adăugați set de date - Cerere":

În loc să scrieți manual textul interogării, rulați din nou solicitați designerul:

Pe fila " Mese"Tratați tabelul" Alimente"Din prima coloană la al doilea:

Alegeți din tabel " Alimente"Câmpurile care vor cere. Pentru a face acest lucru, glisați câmpurile" Nume", "Gust", "Culoare"Și" Calorie"Din cea de-a doua coloană la al treilea:

Sa dovedit astfel:

Apasa butonul " O.K"- Textul interogării a fost format automat:

Formăm un raport de prezentare a raportului

Du-te la marcajul " Setări."Și faceți clic pe bagheta magica, a apela setări de designer.:

Alegem punctul de vedere al raportului " Listă... "și apăsați butonul" Mai departe":

Trageți din coloana din stânga la câmpurile potrivite pentru a fi afișate în listă și faceți clic pe " Mai departe":

Trageți din coloana din stânga la câmpul drept " Culoare"- pe ea se va întâmpla gruparea Linii în raport. Faceți clic pe " O.K":

Și aici este rezultatul lucrării designerului. Ierarhia raportului nostru:

  • Raport în general
  • Gruparea "Culoare"
  • Înregistrări detaliate - Rânduri cu nume de alimente

Salvați raportul (butonul dischetă) I. nu închideți Configuratorul va deschide imediat în modul utilizator. Sa dovedit astfel:

Schimbați ordinea difuzoarelor

Dar haideți schimbă ordinea Coloane (săgeți în sus), astfel încât să fie ca în figura de mai jos:

Salvați raportul și reluați în modul utilizator:

Mare, mult mai bine.

Rezumă (suma) de calorii

Ar fi frumos să retrage rezultatul produselor de calorii de către grupuri. Pentru a vedea suma conținutului caloric al tuturor produselor, spuneți, culoarea albă sau galbenă. Sau aflați conținutul comun de calorii al tuturor produselor din baza de date.

Pentru aceasta, există un mecanism de calcul al resurselor.

Du-te la fila " Resurse"Și tragând câmpul" Calorie"(Vom rezuma pe ea) din coloana din stânga spre dreapta.

În acest caz, selectați câmpul de expresie din lista derulantă. " Suma (calorii)"Ca rezultat va fi suma tuturor elementelor din total:

Salvăm și formăm un raport:

Avem rezultatele fiecăruia dintre grupuri și pe raport în ansamblu.

Rezultatul de rezumat (media) de către calorii

Acum, să facem acest lucru într-o altă ieșire a coloanei in medie Produsele Calori pentru grupuri și, în general, pe raport.

Pentru a atinge coloana existentă "Calorie" este imposibil - este deja afișat în el, prin urmare Începeți un alt câmpcare va fi o copie exactă a câmpului "Calorie".

Pentru a începe un astfel de câmp "virtual", folosim mecanismul câmpul calculat.

Du-te la marcajul " Domenii calculate"Și faceți clic pe verdeplusk:

Într-o coloană " Calea de date"Noi scriem numele noului câmp ( pLY., fără spații). Lăsați-o să fie numită " Caloritate ridicată", și în coloana" Expresie"Noi scriem numele unui câmp existent, pe baza cărora se va calcula noul câmp. Noi scriem acolo" Calorie"Coloană" Titlu"Umple automat.

Am adăugat un câmp nou (" Caloritate ridicată"), dar în raport nu va apărea în sine - trebuie să apelați din nou setări de designer. ("Magic Wand") sau adăugați acest câmp manual.

A primi al doilea cale. Pentru a face acest lucru, mergeți la marcajul " Setări.", alegeți" Raport"(La urma urmei, dorim să adăugăm câmpul ca întreg la raport), alegeți marcajul de mai jos Câmpurile selectate"Și tragând câmpul" Caloritate ridicată"Din coloana din stânga la dreapta:

Sa dovedit astfel:

Salvăm și formăm un raport:

Câmpul a apărut și vedem că valorile sale sunt valorile câmpului "Calorier". Excelent!

Pentru a face acest lucru, vom folosi din nou mecanismul deja familiar cu noi. resurse (rezumaming). Du-te la marcajul " Resurse"Și tragând câmpul" Caloritate ridicată"Din coloana din stânga la dreapta:

În același timp în coloana " Expresie"Alege" Media (caloritatea medie)":

Salvăm și formăm un raport:

Vedem că în grupuri, adică pentru fiecare culoare și pe raport în ansamblu, valoarea medie a fost complet corectă. Dar sunt prezente intrări inutile Potrivit produselor individuale (nu pe grupuri), pe care aș dori să le eliminăm din raport.

Știți de ce au apărut (nu în grupuri)? Pentru că atunci când am adăugat câmpul " Caloritate ridicată"În setările de raport, am alocat în al doilea pas Întregul raport în general Și acest nou câmp a căzut în element " Detaliat intrări".

Să rezolvăm eroarea. Pentru a face acest lucru înapoi la marcajul " Setări.", alegeți" Intrări detaliate"Mai întâi de sus (pasul 2), și apoi" Intrări detaliate"Pasul 3), hai să ajungem pe marcaj" Selectat camp"Și vom vedea elementul din coloana dreaptă" Auto".

Element " Auto"- Nu este un domeniu. Acestea sunt mai multe câmpuri care vin aici pe baza unor setări mai mari.

Pentru a vedea ce fel de câmpuri - faceți clic pe elementul " Auto" dreapta butonul și alegeți elementul " Extinde":

Element " Auto"A revelat următoarele câmpuri:

Și aici și pe câmpul nostru " Caloritate ridicată", care a venit aici din punct" RaportCând l-am târât acolo. Doar slimming. Galka lângă acest câmp pentru a-și îndepărta ieșirea.

Utilizarea competentă a circuitului de aspect al datelor (CCD) vă permite să:

  • reducerea semnificativă a timpului necesar pentru elaborarea raportului;
  • scapă de necesitatea de a crea o formă gestionată de manipulare;
  • obțineți un rezultat frumos cu posibilitatea unei setări suplimentare de utilizator.

Dar nu toți dezvoltatorii la maximum utilizarea capacităților schemei, deoarece nu toate setările sale sunt evidente și înțelese intuitiv. În special, mulți știu că în 1c în LDC există domenii calculate, cu toate acestea, zona de utilizare a acestora și metodele de lucru cu acestea nu sunt pe deplin calculate.

Care este câmpul calculat

În majoritatea cazurilor, o solicitare este solicitată ca o sursă de date în aspectul aspectului. În principiu, diverse formule, desene și expresii pot fi deja utilizate în cadrul solicitării. Există o întrebare plăcută, de ce aveți nevoie de o funcționalitate duplicată?

Faptul este că CCD este ceva mai mult decât pur și simplu afișarea rezultatului executării interogării și acest lucru este perfect văzut din forma de creare a schemei (figura 1).

Câmpul calculat vă permite să efectuați anumite acțiuni cu un set de date generat:

  • Afișați o gamă de date obținute de interogare într-o anumită celulă prin conectarea mai multor linii într-una;
  • Accesați funcțiile de export ale modulului general;
  • Efectuați diferite expresii disponibile pentru limba layout și utilizarea funcțiilor speciale de calcul.

Să mergem pe această listă și să mergem.

O serie de valori într-o singură celulă

Simulăm situația când trebuie să obțineți toate numerele de documente despre contrapartidă într-o celulă separată:


astfel, am creat un domeniu calculat suplimentar în schema noastră;


După cum se poate observa din exemplul de mai sus, nu există dificultăți în adăugarea și manipularea câmpurilor calculate. Am folosit două funcții: matrice () și conexiuni ().

Câteva cuvinte despre ultimul. În plus față de primul parametru care indică identificatorul de matrice, valorile sau valorile, încă două pot fi instalate în ea:

  1. Elemente de separare - indică caracterul care va separa un element al matricei sau o singură linie a tabelului de valori de la celălalt (în cazul nostru, am redus acest parametru și transferul de șir a fost atribuit implicit);
  2. Papuci - Un simbol utilizat pentru a separa difuzoarele coloanelor de masă de valoare (se utilizează semicolonul implicit).

Apel la funcțiile de export ale modulului general

Ca sursă de date pentru a umple câmpul calculat, funcțiile unui modul comun pot acționa.

Câteva puncte importante:

  • Funcția trebuie să fie exportatoare;
  • Dacă funcția este amplasată într-un modul partajat cu o funcție de setare "Global", apelul său este efectuat direct după nume, altfel apelul funcției trebuie să apară în conformitate cu schema "Numele modulului general". "Numele funcției numite".

Ca exemplu de utilizare, vom lua aceeași solicitare către documentele de primire și vom aduce o coloană separată. Nu vom descrie cererea în sine, ne vom întoarce direct la domeniile calculate:


Astfel, vedem că aproape orice handler de date poate fi inițializat din CCD, care extinde semnificativ posibilitatea utilizării schemei.

Expresii lungi de limbă

Destul de des în activitatea dezvoltatorului există o situație în care în domeniul CCD este necesar să se obțină rezultatul diviziei:

  1. Calculați valoarea medie a nomenclaturii;
  2. Tot felul de interes;
  3. Calcule ale câștigurilor medii etc.

Pentru a evita problemele, în aceste cazuri, este de dorit să introduceți o verificare a divizării pentru 0 calculate în aceste cazuri.

Acest lucru se poate face folosind designul "Alegerea când ... ... altfel ... Sfârșit".

În cele din urmă, câteva cuvinte despre o funcție destul de noi a sistemului de calcul (). Cu ajutorul său, în special, puteți calcula abaterile în costul dintre linia curentă și cea anterioară, reziduul acumulativ etc.

Să presupunem că, pentru a obține o sumă de la linia anterioară a cererii noastre, puteți specifica în câmpul "expresie" valoarea sistemului de calcul ("Rezumat", "Preceptsummum").

Configurarea executării - O funcție destul de complicată a CCD pentru înțelegere și exemple de aplicare în informațiile de referință sunt destul de rare. Acest articol discută exemple care vor fi cu siguranță utile fiecărui dezvoltator:

  1. crescând în grupare;
  2. rezultatul în creștere din tabelul încrucișat;
  3. obținerea valorii anterioare;
  4. ieșire tc într-o singură linie.

1. Obținerea unui indicator cu un rezultat în creștere

Primim cantitatea de bunuri printr-un rezultat tot mai mare la nivelul grupului. Pentru a face acest lucru, creați un câmp calculat (a se vedea figura 1).
În fila Resurse, specificați funcția pentru câmpul calculat:
Calculul executării ("Suma (fie", "primul", "curent")
care va rezuma cantitatea de bunuri de la prima înregistrare la curent (a se vedea figura 2).

Dacă numărul de bunuri cu un rezultat tot mai mare este necesar la nivelul înregistrărilor detaliate, atunci funcția funcției de calcul este specificată pentru câmpul calculat din fila câmpurilor computabile (a se vedea figura 3).
În funcție de nivelul de obținere a unui rezultat în creștere, creăm o grupare (a se vedea figura 4): la nivelul resurselor - gruparea pe bază de bunuri, la nivelul DZ - gruparea înregistrărilor detaliate.
Figura 4. Grupurile de rapoarte cu un rezultat în creștere

2. Obținerea valorii indicatorului de la linia anterioară

Primim o cursă de schimb valutar la data și data precedentă. Pentru a face acest lucru, creați un câmp calculat și în câmpul de expresie scriem următoarea expresie (a se vedea figura 5):
Executie de calcul ("Curs", "Anterior", "Anterior")
Care va lua valoarea anterioară a ratei valutare pentru linia curentă, ultimul parametru al funcției limitează primirea datelor.
Din moment ce lucrăm la nivelul înregistrărilor detaliate, mergem imediat la fila "Setări" și vom crea o înregistrare detaliată a grupului.

3. Obținerea unui indicator cu un rezultat în creștere în tabelul încrucișat

Obținem cantitatea de bunuri prin rezultatul crescând în contextul perioadei. Pentru a face acest lucru, creați un câmp calculat (a se vedea figura 1). În fila Resurse, pentru câmpul calculat, indicați următoarea expresie (a se vedea figura 6):
Calculul executării ("suma (fie", "perioadă", "primul", "curent")
Care la nivelul grupului va calcula cantitatea de bunuri din intervalul de la prima linie până la perioada care curge în contextul fiecărei nomenclaturi.
În fila Setări, creăm o masă cu o grupare pe nomenclatura în șirul și gruparea de-a lungul perioadei din coloană (a se vedea figura 7).

4. Partea tabară de ieșire a datelor într-o singură linie

Metodele de ieșire a datelor tabulare într-o singură linie, inclusiv metoda utilizând funcția de calcul, este luată în considerare în articol.