Contacte

1c CCD Calculate câmpuri pentru grupare. Funcțiile limbii expresiilor sistemului de aspect de date. Funcțiile modulelor comune

Datele Date Layout (1C CCD) - Designer confortabil pentru a crea produse de software 1C: Întreprinderea rapoartelor complexe pentru a promova dezvoltarea și urmărirea automatizării producției, permițându-le să le facă ca fiind flexibile și frumoase în cel puțin timp. Alte circuite suplimentare de date de date (1c CCD) - Formarea automată a unui formular de raport gestionat și, cu dezvoltarea în continuare a acestei direcții, este un factor important atunci când alegeți un raport pentru elaborarea unui raport. Dar datorită complexității structurii schemei de layout de date (1c CCD) și număr mare Setările duce adesea la raportarea mai lungă decât prin "designerul de formular de ieșire". Prin urmare, programul 1C trebuie să fie înțeles în toate complicațiile de funcționare a schemei de layout de date (1c CCD) pentru a accelera în continuare timpul de dezvoltare al raportării.

Vom analiza primele trei file ale circuitului de layout de date (1c CCD) - un set de date, link-uri de setare de date și câmpuri calculate.

Setare date în 1c CCD

Setul de date include posibilitatea creând trei Obiecte - Cerere, obiect și uniune, să ne oprim mai detaliat pe fiecare dintre ele:

Este o interogare normală care este formată din butonul de designer de solicitare. Dacă este setat steagul de umplere automată, atunci toate detaliile selectate vor cădea automat în câmpurile set de date. De asemenea, este posibil să configurați umplerea câmpurilor din interogarea din fila Layout Data, unde există trei file:

Tabele, există tabele care vor participa la formarea raportului, datele implicite sunt de obicei selectate, deoarece în fila Tabel și câmpuri, am ales deja documente de care avem nevoie, cărți de referință, registre ...

Câmpuri, aici alegem acele obiecte care ar trebui să cadă în raport, pavilionul copilului indică dacă elementele fiice la prețuri accesibile vor fi disponibile prin obiect sau nu, este logic că șirul, numeric și astfel de date nu vor fi instalate la poziția adevărului.

Condiții aici alegem acele obiecte care pot fi utilizate în condiții în CCD.

O parte din lucrare este efectuată în schema de aspect de date, parte programatică, luați în considerare un exemplu simplu:

Mai întâi, creați un aspect al diagramei de aspect al documentului din document și apelați CCD (de exemplu: 1c CCD), creăm un set de obiect de date, apoi completați câmpurile, de exemplu, aveți de la un document partea de masă Produse cu detalii - Nomenclatură, Cantitate și preț.

Adăugați trei câmpuri și completați fiecare coloană Numele câmpului detaliilor, coloanele rămase vor fi completate automat:

Creați un buton pe formularul unui document, descrieți mecanismul de lucru în gestionat Formas.:

& Svlette.

Procedura de imprimare ()

Intim \u003d server de imprimare (); // apelați funcția de pe server

Intove. Chiuveta (); // afișați raportul format

Extradreses.

& Pe server

Funcție de imprimare Server ()

Acoperirea obiectului \u003d RequiSITformand ("Obiect");

//am pus partea de masă în structura cu numele bunurilor furnizate în același mod în care am subliniat în SCD-ul în sine numele unui obiect care conține date

Sety \u003d noua structură;

Conducere. HOLD ("furnizat", obiecte.

//avem aspectul nostru și stabilim setările implicite astfel încât toate setările de ieșire raportate să fie luate de la aspectul nostru.

Nashmaket \u003d obiect obiect. Macket de turnare ("SCD");

Setări \u003d NashMarket.Anstroykipoomol;

//creați un aspect layout al datelor cu setările noastre.

Mașină complabilă \u003d complex nou-curat de tricou;

MocktacComponovka \u003d Mașină de folder. Umplere (NashMarket, Setări);

//realizăm aspectul datelor cu setul nostru de date

ProcessorComponovydanny \u003d New ProcessorCompon's

ProcesorComponovydny.Initializa (comitete de layout, setate);

//formare document tabular. și să aducă raportul nostru la ea

Contul de documente \u003d Un nou document tabular;

Echipamente de procesor \u003d New procesor-în-linie Rezultate Commontheldblocks

Echipamente de procesor. Instalarea documentului (document);

Echipamente de procesor. Echipare (procesorCompon);

Rambursarea contabilității documentului;

Endfunction

Dacă doriți, puteți obține zone și orice alt aspect și, de asemenea, să vă retrageți în acest raport, de exemplu, avem un aspect tipic al formării plăților și o pălărie creată foarte bine, atunci că nu vom face un extra Lucrați, primiți mai întâi aspectul, aduceți capacul, apoi voi forma și de a da raportul nostru pe CCD.

DESPRE baptist

În ea, putem plasa cererile și obiectele noastre, dar, spre deosebire de conexiune, acesta adaugă doar tabele unul altuia, adică dacă conectăm două mese identice, vom avea ca rezultat unul și când este combinat, se va dubla, Luați în considerare un exemplu simplu:

Avem mese:

La comunicarea, vom primi:

Și când este combinat:

Luați în considerare acum completarea coloanelor în seturi de date (unele dorințe, deoarece acestea sunt asociate cu alte file, înapoi la ele în articole viitoare):

- camp, indicați numele general al cerințelor;

­­- cale, indicați numele necesar, conform căruia îl vom contacta în CCD, de exemplu, în Domenii calculate;

- titlu, indicați numele detaliilor care vor fi afișate în raport;

- restricționarea câmpului, indicați disponibilitatea acestor recuzită;

- restricționarea cerințelor, specificați accesibilitatea elemente fiice, este important dacă este indicată disponibilitatea detaliilor, câmpul în sine va fi disponibil, probabil în versiunile viitoare va schimba această mecanică;

- expresia pe care se calculează reprezentarea câmpului, este convenabil să utilizați când trebuie să schimbăm încheierea detaliilor, de exemplu, trebuie să urmărim după nume nomenclatură Ieșire depozitPe care se află, apoi completați următoarele: Nomenclatura + "este în stoc" + depozit. Repet că detaliile de circulație se efectuează prin numele specificat în coloană cale;

- streaming expresie, un mecanism convenabil pentru stabilirea unui raport de raportare, în care condiția poate fi stabilită manual, similară punctului precedent, dar ca practică arată, acest mecanism nu funcționează la fel de mult cum aș dori și vă sfătuiesc să utilizați sortarea standard ;

- tipul de valoare, tipul de valoare de recuzită este specificat, este necesar să completați dacă vă bucurați de câmpul următor;

- valori disponibile , funcționează numai atunci când sunt umplute valoarea tipului, deschideți formularul de umplere din coloană Valoare Indicăm elementul care urmează să fie modificat în funcție de tip, poate fi obiecte predefinite sau numerice, de exemplu, detaliile sunt valori simple, în reprezentare Indicăm ceea ce trebuie să schimbăm, un exemplu de tip boolean:

- înregistrare - Configurarea standard a formatului câmpului, similar cu configurația din formularele controlate, vă permite să configurați mai precis și mai frumos ieșirea unui anumit recuzită.

Setul de date de comunicare în CCD 1C

Aici este instalat numai conectarea la stânga, în conformitate cu principiul similar cu legături În interogări, în sursa de comunicare Indicați tabelul principal pentru conectarea în receptor Adiţional. ÎN sursa de expresieși receptor de expresie Indicăm detaliile pe care se va produce comunicarea. Coloanele rămase vor arăta mai detaliat atunci când dezasamblează fila Parametri. Dacă nu conectare suplimentară Cu parametrii, se recomandă comunicarea în interogare, va accelera activitatea raportului.

Î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 așteptărilor (<Выражение>, <Группировка>, <ОбластьВычисления>, <Начало>, <Конец>, <Сортировка>, <ИерархическаяСортировка>, <ОбработкаОдинаковыхЗначенийПорядка>)

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ă de exprimarea calculului așteptării ("suma totală)", "generalitate")\u003e 1000. Dar o astfel de expresie poate fi utilizată într-o ierarhică selecţie.

Î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.

Linkerul layout la generarea unei expresii a funcției de calcul, dacă expresia de comandă conține câmpuri care nu pot fi utilizate în grupare, înlocuiește funcția de calculare a așteptărilor pe NULL.

Parametri

<Выражение>

Tip: Rând. Expresia care trebuie calculată.

<Группировка>

Tip: Rând. 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 un număr de grupuri comune vor fi utilizate ca grup de grupare, calculul va fi executat în contextul rezultatului 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 Ca urmare, se obține raportul dintre cantitatea de câmp de vânzare. Memoria introducerii grupului la suma aceluiași câmp în întregul aspect;

<ОбластьВычисления>

Tip: Rând. Parametrul poate lua următoarele valori:

  • Rece - expresia va fi calculată pentru toate înregistrările de grupare.
  • Ierarhia - 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 gruparea curentă de intrare a grupului.
  • Seria de grupare - La calcularea unei funcții pentru înregistrarea grupului pentru resurse, expresia va fi calculată pentru intrarea primului grup a grupului original.

La calcularea funcției Calculați sistemul () Cu valoarea routerului de grupare pentru intrări de grupCu facilitățile de resurse, funcția este calculată în același mod ca și cum a fost calculată dacă valoarea parametrului a fost egală cu valoarea de grupare.

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 routerul de magorizare a parametrilor. Pentru alte resurse, expresiile obișnuite de resurse sunt plasate în gruparea de resurse.

<Начало>

Tip: Rând. 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:

<Конец>

Tip: Rând. 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, dacă înregistrările 3 și este necesar să se recupereze (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 un ultim (4), se consideră 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.

  • Apoi (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.

  • Actual. 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 paranteze, trebuie să specificați expresia, cu valoarea pe care trebuie să porniți 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ă un câmp de perioadă este utilizat ca domeniu de comandă și contează 01/01/2010, 01.02.2010, 01.03.2010 și este necesar să se obțină limitare (data de date (2010, 1, 15)), Apoi, va fi primită o înregistrare cu data 01.02. 2010.

<Сортировка>

Tip: Rând. 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 cuvânt cheie. ABS (pentru ordonarea ascendentă), descendentă (pentru comanda în descendentă) și comenzi automate (pentru a organiza referințe pe câmpurile pentru care trebuie să organizați obiectul la care se efectuează link-ul). Ordinea automată a cuvântului poate fi utilizată atât cu cuvântul ABS, cât și cu cuvântul descrescător.

<ИерархическаяСортировка>

Tip: Rând. Similar cu parametrul de sortare. Este folosit pentru a eficientiza înregistrările ierarhice. Dacă nu este specificat, aspectul layout generează o comandă în conformitate cu comenzarea specificată în parametrul de sortare.

<ОбработкаОдинаковыхЗначенийПорядка>

Tip: Rând. 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ă secvența înregistrărilor comandate este utilizată pentru a defini înregistrările anterioare și următoare. Valoarea implicită.
  • Împreună (împreună) denotă că intrările anterioare și cele următoare sunt determinate pe baza valorilor aranjamentului aranjamentului.

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

Dacă valoarea parametrului este separată, atunci:

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

§ Dacă fragmentul calculat este definit ca curent, curent, respectiv, parametrii de pornire și final), apoi pentru înregistrarea 2, acest fragment va consta dintr-o înregistrare 2. Exprimarea sistemului de calcul ("Suma (valoarea)", curent, curent) va fi de 20.

Dacă valoarea parametrului este egală împreună cu acestea, atunci:

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

§ Dacă fragmentul calculat este definit ca curent, curent, respectiv, parametrii de pornire și capăt), apoi pentru înregistrarea 2, acest fragment va consta în înregistrarea 2 și 3. Exprimarea sistemului de calcul ("Suma (valoarea)", curent, curent) va fi de 50.

Când specificați valoarea parametrului egal cu împreună, parametrii de start și de capăt nu pot specifica offsetul pentru poziția primului, ultima, cea anterioară.

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 acest tip În mod implicit, este excelent de la valoarea lui Of, excelent de la o legătură 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 formatul șirului Sisteme "1c: întreprindere".

Substring.(<Выражение>, <Начальные символ>, <ДлинаПодстроки>) – Această caracteristică Concepute pentru a evidenția un substring din șir.

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 vederile șirului tuturor rândurilor valorilor valorilor și apendicele celulelor fiecărei linii este separat prin simboluri "; ", Iar liniile sunt comuniunea liniei de traducere. Dacă o reprezentare a șirului este goală, atunci este afișat un șir în locul prezentării sale<Пустое значение>.

Limba expresiilor sistemului de layout de date

Expresiile de limitare a expresiilor de date sunt proiectate pentru a înregistra expresii utilizate în diferite părți ale sistemului.

Expresii sunt utilizate în următoarele subsisteme:

  • diagrama layout-ului - pentru a descrie câmpurile calculate, rezultatele rezultatelor, expresiile de comunicare etc.;
  • setări pentru aspectul datelor - pentru a descrie expresiile câmpului utilizator;
  • layout layout de date - Descrierea expresiilor setate de comunicare, descriind parametrii aspectului etc.

Literal

Expresia poate avea literari. Următoarele tipuri sunt posibile:

  • Linia;
  • Număr;
  • Data;
  • Booleo.

Linia

Stringul literal este scris în caractere "", de exemplu:

"Stroke literal"

Dacă trebuie să utilizați în interiorul literalului șir al simbolului "", trebuie utilizate două astfel de caractere.

De exemplu:

"Literal" "în citate" ""

Număr

Numărul este scris fără spații, în format zecimal. Partea fracțională Completat folosind simbolul "." De exemplu:

10.5 200

Data

Tipul de dată literal este scris utilizând un literal cheie dat. După acest cuvânt cheie, în paranteze, un an, lună, zi, ore, minute, secunde sunt enumerate prin virgule. O indicație a timpului nu este necesară.

De exemplu:

Datastern (1975, 1, 06) - data de 1 ianuarie 1975 Datatastern (2006, 12, 2, 23, 56, 57) - Al doilea decembrie 2006, 23 ore 56 minute 57 secunde, 23 ore 56 minute 57 secunde

Boolean

Valorile booleene pot fi înregistrate folosind literale de adevăr (adevărat), minciuni (false).

Valoare

Pentru a specifica literale ale altor tipuri (enumerate de sistem, date predefinite), se utilizează un cuvânt cheie, după care numele literal este indicat în paranteze.

Adică (Vidcet. Active)

Operațiuni pe numere

Unar -

Această operație este concepută pentru a schimba semnul numărului în fața opusului. De exemplu:

Vânzări. Naționalitate

Unary +.

Această operație nu efectuează acțiuni deasupra numărului. De exemplu:

Vânzări. Naționalitate

Binar -

Această operație este concepută pentru a calcula diferența în două numere. De exemplu:

Feediri reziduale. Rezistent la rezistență - reziduuri concentrat reziduuri reziduale. Protectoare, 100 400 - 357

Binar +.

Această operație este destinată calculării sumei a două numere. De exemplu:

Feuri reziduale. Proprietate + feuds reziduale. Reziduuri de cifra de afaceri. Protejare. + 100 400 + 357

Compoziţie

Această operație este concepută pentru a calcula lucrările a două numere. De exemplu:

Nomenclatură. Preț * 1.2 2 * 3.14

Divizia

Această operație este concepută pentru a obține rezultatul împărțirii unui operand la altul. De exemplu:

Nomenclatură. Preț / 1.2 2 / 3.14

Restul diviziei

Această operație este concepută pentru a obține un echilibru de a împărți un operand la altul. De exemplu:

Nomenclatură. Preț% 1.2 2% 3.14

Operațiuni pe șiruri de caractere

Concatenare (binar +)

Această operație este concepută pentru a concatena două linii. De exemplu:

Nomenclatură.articule + ":" + nomenclatură. Nume

Ca

Această operație verifică corespondența modelului transmis șir.

Valoarea operatorului este valabilă dacă valoarea este<Выражения> Satisface șablonul și fals altfel.

Următoarele caractere B.<Строке_шаблона> a avea sens, diferite de pur și simplu un alt simbol șir:

  • % - procentaj: o secvență care conține caractere zero și mai arbitrare;
  • _ - subliniază: un simbol arbitrar;
  • [...] - unul sau mai multe caractere în paranteze pătrate: un caracter, oricare dintre cele enumerate în paranteze pătrate. Listele pot apărea intervale, de exemplu A-Z, adică un simbol arbitrar inclus în intervalul, inclusiv capetele gamei;
  • [^ ...] - în paranteze pătrate, pictograma de negare, urmată de unul sau mai multe personaje: orice caracter, cu excepția celor enumerate în pictograma negativă;

Orice alt caracter înseamnă și nu transportă nici o sarcină suplimentară. Dacă unul dintre personajele enumerate ar trebui să fie scris ca el însuși, atunci el trebuie să precede<Спецсимвол>, Specificată după cuvântul cheie lapte special (Escape).

De exemplu, șablon

"% ABB [ABBG] \\ _ ABV%" SpecialSimol "\\"

înseamnă un substring constând dintr-o secvență de simboluri: literele A; literele b; scrisori în; o cifră; unul dintre literele a, b, în \u200b\u200bsau g; Simbolul stresului; Literele a; literele b; scrisori în. Mai mult, această secvență poate fi localizată pornind de la o poziție arbitrară în șir.

Operațiuni de comparație

In aceeasi masura

Această operațiune este destinată să compare două operande pe egalitate. De exemplu:

Vânzări. Contrgent \u003d vânzări. NomeLaclatura-legare

Nu este egal

Această operațiune este concepută pentru a compara două operanzi pentru inegalitate. De exemplu:

Vânzări. Kontragent.<> Vânzări. NomeLaclatura-legare

Mai puțin

Această operație este concepută pentru a verifica dacă primul operand este mai mic decât al doilea. De exemplu:

Server< ПродажиПрошлые.Сумма

Mai mult

Această operație este concepută pentru a verifica dacă primul operand este mai mare decât al doilea. De exemplu:

Chirurgicale. Summum\u003e a spus. Summum

Mai puțin sau egal

Această operație este concepută pentru a verifica dacă primul operand este mai mic sau egal cu al doilea. De exemplu:

Server<= ПродажиПрошлые.Сумма

Mai mult sau egal

Această operație este concepută pentru a verifica dacă primul operand este mai mult sau egal cu al doilea. De exemplu:

De vânzare. Masma: \u003d a spus. Rezumat

Operațiunea B.

Această operație verifică disponibilitatea valorii în lista de valori transmise. Rezultatul operației va fi adevărat, în cazul în care valoarea este găsită sau falsă - altfel. De exemplu:

Nomenclatura în (& produs11, & Product2)

Operațiunea Verificați disponibilitatea în setul de date

Operațiunea verifică disponibilitatea valorii din setul de date specificat. Setarea datelor pentru a verifica ar trebui să conțină un câmp. De exemplu:

Vânzări. Contribuit în contrapartide

Verificarea valorii Operațiunea pe NULL

Această operație returnează valoarea adevărului dacă valoarea este valoarea nulă. De exemplu:

Vânzări. Progenungența este nulă

Valoarea de verificare a operațiunilor pentru inegalitatea nulă

Această operație returnează valoarea adevărului în cazul în care valoarea nu este valoarea nulă. De exemplu:

Vânzare. Agentul de control nu este nul

Operații logice

Operațiile logice sunt luate ca o operare de expresie care au un tip de boolevo.

Operațiunea NE.

Operațiunea nu returnează valoarea adevărului dacă operandul său este setat la FALSE, iar valoarea este falsă dacă operandul său este de valoare a adevărului. De exemplu:

Nu documentul. Fragmentul programului. Document.

Operațiunea I.

Funcționarea și returnează valoarea adevărului dacă ambii operanzi sunt de valoarea adevărului, iar valoarea este falsă dacă unul dintre operanii contează o minciună. De exemplu:

Document. Document încadrat \u003d document. Subscriptor și document. Contractor \u003d & contract

Operare Or.

Operațiunea sau returnează valoarea adevărului dacă unul dintre operanți este valoarea adevărului și o minciună în cazul în care ambele operanzi sunt valabile. De exemplu:

Document. Framed \u003d document. Un încărcător sau un document. Fragmentist \u003d & contrapartidă

Funcții agregate

Funcțiile agregate efectuează o acțiune deasupra setului de date.

Sumă

Valoarea funcției agregate calculează cantitatea de valori ale expresiilor transmise la acesta ca argument pentru toate înregistrările detaliate. De exemplu:

Suma (vânzări. Rezumat)

număr

Numărul funcției calculează numărul de valori, altele decât valorile nulă. De exemplu:

Cantitate (vânzare. Contrgent)

Numărul de diferite

Această caracteristică calculează numărul de valori diferite. De exemplu:

Cantitate (diferite vânzări. Agent de control)

Maxim

Funcția primește valoarea maximă. De exemplu:

Maxim (reziduuri. Nality)

Minim

Funcția primește valoarea minimă. De exemplu:

Minim (reziduu. Nality)

In medie

Funcția primește o valoare medie pentru alte valori decât null. De exemplu:

Medie (reziduuri. Nality)

Alte operații

Selectarea operațiunilor

Funcționarea Selecția este destinată selectării uneia dintre mai multe valori atunci când efectuați anumite condiții. De exemplu:

Selecție atunci când suma\u003e 1000, atunci suma altfel 0 capăt

Reguli pentru compararea a două valori

Dacă tipurile de valori comparabile diferă una de cealaltă, relația dintre valori este determinată pe baza priorității tipurilor:

  • Null (cel mai mic);
  • Boolean;
  • Număr;
  • Data;
  • Linia;
  • Tipuri de referință

Relațiile dintre diferitele tipuri de referință sunt determinate pe baza numerelor de referință ale tabelelor corespunzătoare acestui tip sau alt tip.

Dacă tipurile de date sunt aceleași, valorile sunt comparate cu următoarele reguli:

  • la tipul boolean, valoarea adevărului este mai mare decât valoarea falsă;
  • la tipul de tip reguli regulate comparații pentru numere;
  • la tipul de date anterioare mai mici decât mai târziu;
  • la tipul de linie - comparații ale rândurilor în conformitate cu cele stabilite caracteristicile naționale Bază de date;
  • tipurile de referință sunt comparate pe baza valorilor lor (numere de înregistrare etc.).

Lucrați cu null.

Orice operație în care valoarea unuia dintre operanzii null va da rezultatul null.

Există excepții:

  • funcționarea și va reveni NULL numai dacă niciunul dintre operanzi nu contează o minciună;
  • funcționarea sau va reveni nul numai dacă niciunul dintre operanți nu contează adevărul.

Priorități ale operațiunilor

Operațiunile au următoarele priorități (prima linie are o prioritate mai mică):

  • B, nu este nulă, nu este nulă;
  • =, <>, <=, <, >=, >;
  • Binar +, binar -;
  • *, /, %;
  • Unary +, unar -.

Funcțiile limbii expresiilor sistemului de aspect de date

calculati

Funcția este destinată să calculeze expresia în contextul unor grupuri. Funcția are următorii parametri:

  • Expresie. String tip. Conține o expresie calculată;
  • Gruparea. String tip. 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 un număr de grupuri comune vor fi utilizate ca grup de grupare, calculul va fi executat în contextul rezultatului 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 cantitatea de "vânzări. Rezumat" intrarea grupului la suma aceluiași domeniu în întregul aspect.

Nivel

Funcția este concepută pentru a obține nivelul actual de înregistrare.

Nivel()

Auto-comandă

Obțineți numărul următor al secvenței.

Auto-ordine ()

Numărul este în ordine

Returnează următorul număr de secvență în gruparea curentă.

Grupul de apel ()

Format

Obțineți șirul formatat al valorii transmise.

Șirul de format este setat în conformitate cu linia de format 1c: întreprindere.

Parametrii:

  • Valoare;
  • Formatul șirului.

Format (valoare consumabilă. Summaging, "CDC \u003d 2")

Începutul perioadei

Parametrii:

    • Minut;
    • Zi;
    • O săptămână;
    • Lună;
    • Sfert;
    • Deceniu;
    • Jumatate de an.

Starterriod (Datastern (2002, 10, 12, 10, 15, 34), "Luna")

Rezultat:

01.10.2002 0:00:00

Încheie sfârșitul

Funcția este concepută pentru a evidenția o anumită dată de la o dată dată.

Parametrii:

  • Data. Tipul de dată. Data specificată;
  • Tip de perioadă. String tip. Conține una dintre valori:
    • Minut;
    • Zi;
    • O săptămână;
    • Lună;
    • Sfert;
    • Deceniu;
    • Jumatate de an.

EXTERNAREA EXTRUDERULUI (Datastern (2002, 10, 12, 10, 15, 34), "Săptămâna")

Rezultat:

13.10.2002 23:59:59

Adăugați spațiu

Funcția este proiectată să fie adăugată la data unei dimensiuni.

Parametrii:

  • Tip de mărire. String tip. Conține una dintre valori:
    • Minut;
    • Zi;
    • O săptămână;
    • Lună;
    • Sfert;
    • Deceniu;
    • Jumatate de an.
  • Valoarea este cât de mult trebuie să creșteți data. Numărul de tip. Partea fracțională este ignorată.

Adăugați spațiu (Datastern (2002, 10, 12, 10, 15, 34), "lună", 1)

Rezultat:

12.11.2002 10:15:34

Diviziune

Funcția este concepută pentru a obține o diferență între două date.

Parametrii:

  • Expresie. Tipul de dată. Data sursei;
  • Expresie. Tipul de dată. Data depusă;
  • Tipul de diferență. String tip. Conține una dintre valori:
    • Al doilea;
    • Minut;
    • Zi;
    • Lună;
    • Sfert;

Distribuție (datastern (2002, 10, 12, 10, 15, 34), Datastern (2002, 10, 14, 9, 18, 06), "zi")

Rezultat:

Substring.

Această caracteristică este concepută pentru a evidenția substringul din linie.

Parametrii:

  • Linia. String tip. Șirul de la care se distinge printr-un substring;
  • Poziţie. Numărul de tip. Poziția simbolului din care începe substringul alocat din linie;
  • Lungime. Numărul de tip. Lungimea substristei secretate.

Substring (contrapartide. Apăsați, 1, 4)

Accident vascular cerebral plat

Funcția este proiectată pentru a determina lungimea șirului.

Parametru:

  • Linia. String tip. Rând, lungimea căreia este determinată.

Șir (contrapartide. Apăsați)

An

Această caracteristică este concepută pentru a evidenția anul de la valoarea datei.

Parametru:

  • Data. Tipul de dată. Data pentru care anul este determinat anul.

An (dat)

Sfert

Această caracteristică are scopul de a evidenția numărul trimestrului de la valoarea tipului de date. Numărul de trimestru este normal situat în intervalul de la 1 la 4.

Parametru

  • Data. Tipul de dată. Data la care se determină trimestrul
Trimestru (rask'dat)

Lună

Această caracteristică este destinată să evidențieze numărul lunii de la valoarea tipului de date. Numărul lunii este situat în mod normal în zona de bandă de la 1 la 12.

  • Data. Tipul de dată. Data la care este determinată luna.
Lună (dat)

Bani

Această caracteristică este concepută pentru a primi ziua anului de la tipul de dată. Ziua anului este normală în intervalul de la 1 la 365 (366).

  • Data. Tipul de dată. Data pentru care se determină ziua anului.
Bani (date rask)

Zi

Această caracteristică este concepută pentru a primi o zi a lunii de la tipul de dată. Ziua lunii este în mod normal în intervalul de la 1 la 31.

  • Data. Tipul de dată. Data la care este determinată de ziua lunii.
Zi (dat)

O săptămână

Această caracteristică este concepută pentru a primi numărul anului anual de la valoarea tipului de date. Săptămânile anului sunt numerotate, începând de la 1.

  • Data. Tipul de dată. Data la care se determină numărul săptămânii.
Săptămână (raskakl. Date)

Dublate

Această caracteristică este concepută pentru a primi ziua săptămânii de la tipul de dată. Ziua săptămânii este în mod normal în intervalul de la 1 (luni) până la 7 (duminică).

  • Data. Tipul de dată. Data la care se determină ziua săptămânii.
Dublate (date raskakl)

Ora

Această caracteristică este concepută pentru a obține o oră de zi de la tipul de dată. O oră de zi este în intervalul de la 0 la 23.

  • Data. Tipul de dată. Data pentru care se determină ora de zi a zilei.
Oră (Rask Tat)

Minut

Această caracteristică este concepută pentru a obține un minut de o oră de la tipul de dată. Un minut de o oră este în intervalul de la 0 la 59.

  • Data. Tipul de dată. Data la care este determinată cu un minut de ore.
Minut (raskakl. Date)

Al doilea

Această funcție este concepută pentru a obține un al doilea minut de valoarea tipului de date. Cel de-al doilea minut este în intervalul de la 0 la 59.

  • Data. Tipul de dată. Data la care secunde sunt definite minute.
Al doilea (dat)

Expres

Această funcție este proiectată pentru a evidenția tipul de la o expresie care poate conține tip compozit. În cazul în care expresia conține un alt tip decât tipul necesar, valoarea nulă va fi returnată.

Parametrii:

  • Expresie transformată;
  • Note tip. String tip. Conține șir de tip. De exemplu, "număr", "șir" etc. În plus față de tipurile primitive această linie Poate conține un nume de tabel. În acest caz, se va face o încercare de a se referi la link-ul la tabelul specificat.

Express (date. Necesare1, "Număr (10.3)")

Null.

Această funcție returnează valoarea celui de-al doilea parametru în cazul în care valoarea primului parametru nul.

În caz contrar, valoarea primului parametru va fi returnată.

Acolo isLull (suma (vânzări. Rezumat), 0)

Funcțiile modulelor comune

Expresia mecanismului de aspect al datelor poate conține apeluri pentru funcțiile modulelor globale de configurare comune. Nu este necesară nicio altă sintaxă pentru apelarea acestor funcții.

Acest exemplu se va numi funcția "Abrevierea" din modulul de configurare generală.

Rețineți că utilizarea funcțiilor comune ale modulului este permisă numai atunci când specifică parametrul procesorului de layout de date corespunzător.

În plus, funcțiile modulelor comune nu pot fi utilizate în expresiile de câmp de utilizator.

Î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.

Ne-am uitat la setările rapoartelor implementate pe baza SCD. Acum vom analiza mai subtil și setări detaliate Raport Opțiuni. Fereastra "Advanced" a setărilor opțiunilor de raportare este numită de comanda "Mai" - "Altele" - opțiunea de schimbare "Modificare".

Fereastra de schimbare a opțiunii de raport este împărțită în două părți:

1. Structura raportului.

2. Setări raportați.


Secțiunea structurii versiunii raportului este similară cu fila Structură a setărilor standard de raportare. Alocarea și configurarea grupurilor este considerată în detaliu în partea 1 a articolelor.

Tabelul statutului unei opțiuni de raportare, cu excepția coloanelor directe cu grupuri, conține mai multe coloane suplimentare:

Secțiunea Setări de raport a opțiunii de raport oferă utilizatorului oportunități largi Prin configurarea raportului în funcție de nevoile dvs. Aproape complet coincide cu setări standard Raportul discutat în partea 1. Luați în considerare toate filele secțiunii și notați diferențele.

Secțiunea Setări constă din următoarele file:

1. Parametrii. Conține parametrii CCD accesibili utilizatorului.

Parametrul CCC este o ușoară valoare utilizată pentru a obține date de raport. Poate fi o valoare a stării de selectare sau de verificare a datelor, precum și o valoare auxiliară.


Tabelul de parametri este prezentat în formatul "parametru" - "valoare". Dacă este necesar, puteți schimba valorile parametrilor. Apăsând butonul "Proprietăți de setări personalizate" deschide setările elementului utilizator.


În această fereastră, puteți alege dacă elementul va fi activat în setările utilizatorului (adică, utilizatorul este vizibil la configurarea unui raport), setați modul de reprezentare și editare a elementului ( acces rapid În antetul raportului, raportul obișnuit și setările inaccesibile).

Proprietățile elementului de setări de utilizator au, de asemenea, câmpuri grupate, câmpuri, selecții și elemente de design condiționat.

2. Câmpuri personalizate. Conține câmpurile pe care utilizatorul în sine se formează pe baza datelor selectate de raport.


Utilizatorul poate adăuga două tipuri de câmpuri:

  • Alegerea de câmp nou ...
  • Expresie de câmp nou ...

Câmpurile de selecție vă permit să calculați valoarea de către condiție dată. Fereastra de editare a câmpului de selecție conține un câmp de antet și o masă în care sunt specificate selecția, valoarea și reprezentarea câmpului. Selecția este o condiție, în funcție de care valoarea dorită va fi înlocuită.


De exemplu, calculează evaluarea numărului de vânzări. Vom presupune că, dacă mai puțin de 10 unități de bunuri vândute, au vândut puțin, iar dacă mai mult de 10 unități sunt multe. Pentru a face acest lucru, setați 2 valorile câmpului calculat: Primul va fi cu selecția "Cantitatea de bunuri este mai mică sau egală cu" 10 ", a doua cu selecția" Cantitatea de bunuri este mai mare decât "10".

Câmpurile de expresie permit calcularea valorii utilizând algoritmi arbitrari. Ele pot folosi funcțiile limbii de interogare și limbajul de programare încorporat 1c. Fereastra de editare a câmpului de expresie conține două câmpuri pentru expresii de intrări detaliate și finale. Intrările finale sunt grupe configurate în zona "Structura raportului", trebuie să utilizeze funcții agregate ("suma", "minim", "maxim", "cantitate").

De exemplu, calculează procentajul mediu al reducerii. Procentajul mediu al reducerii se calculează cu formula: [suma vânzărilor fără reducere] - [suma vânzărilor cu o reducere] / [suma vânzărilor fără reducere]. Trebuie să vă amintiți că suma vânzărilor fără o reducere poate fi zero, astfel încât să folosim operatorul de selecție pentru a verifica. Obținem următoarele expresii:

· Pentru înregistrări detaliate:

Alegere

Când [suma vânzărilor fără reducere] \u003d 0

Apoi 0.

În caz contrar [suma vânzărilor fără reducere] - [suma vânzărilor cu reducere] / [suma vânzărilor fără reducere]

sfarsit

· Pentru intrările finale:

Alegere

Când suma ([suma vânzărilor fără o reducere]) \u003d 0

Apoi 0.

În caz contrar, suma ([suma vânzărilor fără reducere]) - suma ([suma vânzărilor cu o reducere]) / suma ([Suma vânzărilor fără reducere])

sfarsit

Așa cum am menționat mai devreme, în expresia intrărilor finale pe care le folosim funcția agregată "Cantitate."

3. Câmpurile măcinate. Conține câmpurile prin care rezultatul opțiunii de raport va fi cultivat. Câmpurile de șlefuire sunt configurate separat pentru fiecare dintre grupuri, dar puteți seta câmpuri de grupare comune pentru opțiunea de raport, dacă selectați rădăcina "Raportului" din structură. Puteți adăuga un câmp din rezultatul raportului, un câmp de utilizator sau puteți selecta câmpul Auto, apoi sistemul va selecta automat câmpul. De asemenea, această filă vă permite să modificați procedura pentru gruparea câmpurilor.


4. câmpuri. Conține câmpuri care vor fi afișate în rezultatul opțiunii de raportare. Câmpurile sunt configurate separat pentru fiecare dintre grupuri, dar puteți seta câmpuri comune pentru opțiunea de raport dacă selectați structura rădăcină "Raport" din structură. Puteți adăuga un câmp din rezultatul raportului, un câmp de utilizator sau puteți selecta câmpul Auto, apoi sistemul va selecta automat câmpul. De asemenea, această filă vă permite să modificați ordinea câmpurilor.

Câmpurile pot fi grupate pentru a selecta logic orice parte a raportului sau a seta un aranjament special al coloanelor. La adăugarea unui grup, coloana "Locație" devine activă și vă permite să selectați una dintre opțiunile de locație:

  • AUTO - Sistemul are automat câmpuri;
  • Câmpurile orizontale sunt orizontale;
  • Câmpurile pe verticală sunt amplasate vertical;
  • Într-o coloană separată - câmpurile se află în diferite coloane;
  • Împreună - câmpurile sunt situate într-o singură coloană.


5. Selectare. Conține selecțiile utilizate în versiunea de raport. Înființarea selecțiilor a fost luată în considerare în detaliu în partea 1 a prezentului articol. Selectează sunt configurate separat pentru fiecare grup, dar puteți seta selecția generală pentru opțiunea de raport, dacă selectați structura rădăcină "Raport" din structură.


6. Sortați. Conține câmpurile de sortare utilizate în versiunea de raport. Înființarea câmpurilor de sortare a fost luată în considerare în detaliu în ceea ce privește prezentul articol. Sortarea este configurată separat pentru fiecare dintre grupuri, dar puteți seta câmpuri comune de sortare pentru opțiunea de raport, dacă selectați structura rădăcină "Raport" din structură.


7. Design condiționat. Conține elementele de design condiționate utilizate în versiunea de raport. Înregistrarea condiționată a fost luată în considerare în detaliu în ceea ce privește prezentul articol. Designul condițional este configurat separat pentru fiecare grup, dar puteți specifica elemente comune de design condiționat pentru opțiunea de raport, dacă selectați rădăcina "Raportului" din structură.


8. Setări avansate. Conține setari aditionale Decorarea raportului. Vă permit să alegeți comune aspect Raport, locație de câmpuri, grupuri, detalii, resurse, rezultate, setați setările diagramei, controlați ieșirea antetului, a parametrilor și a selecției, determinați poziția resurselor și fixați antetul și coloanele de grupare ale versiunii raportului.


În concluzie, aș dori să rețineți că setările de raport nu pot fi salvate numai ca versiune de raport, ci și încărcarea în fișier ("Mai mult" - "Salvați setările"). Pentru a descărca, selectați "Încărcare setări" și selectați fișierul salvat. Astfel, putem transmite setările opțiunii de raport între diferite baze care au aceeași configurație.


Pe baza acestui fapt, putem rezuma că utilizatorul nu numai că poate configura raportul la nevoile sale, ci și salvează setările și le folosește mai târziu, dacă este necesar.



Ți-a plăcut articolul? Împărtășește-l