Exprimarea câmpului utilizator 1C 8.3. Limba expresiilor layout-ului de date (1CV8)

Orice organizație comercială pentru gestionarea competentă trebuie să obțină cu promptitudine informații despre stadiul actual al bunurilor, vânzările, profiturile. Cu toate acestea, dacă considerăm că organizațiile lucrează adesea cu cea mai largă listă de bunuri și cantitate mare contrapartide, instrumentul de configurare a unui raport analitic joacă un rol important în obținerea informatie necesara. Luați în considerare o funcționare mai mare a lucrărilor cu câmpurile de utilizatori în rapoartele unui program tipic (Ed. 11).

Dezvoltarea platformei 1C: Întreprinderea 8 oferă utilizatorilor din ce în ce mai multe oportunități. De exemplu, în versiunea 8.2, rapoartele au devenit flexibile, permițându-le să le configureze pentru diferite cerințe fără ajutorul programatorilor calificați.

Modificați setările de raportare

Pentru a vizualiza sau modifica setările de raportare, trebuie să mergeți la meniul "Toate acțiunile" și să selectați comanda "Schimbați opțiunea". După aceasta, utilizatorul deschide o fereastră cu setări pentru un raport deschis.

În partea corectă a ferestrei cu setările, puteți vedea structura de raport, care nu este altceva decât o reflectare vizuală a coloanelor raportului și a grupărilor liniilor sale, care, în esență, face posibilă prezentarea în ce ordine afișează acest raport Date analitice.

În partea de jos a ferestrei de setări, se afișează setările și câmpurile de informații reale care sunt legate de raportul, fie elementele structurii sale (coloane și grupuri de șir).

Câmpuri customizate

Într-un program 1C: Managementul comerțului 8 Edițiile 11 Setările de raportare oferă utilizatorilor mai multe oportunități în formarea lor.

În setările de editare și structura de raportare, aș dori să acorde o atenție specială fila "Custom Fields", care vă permite să vă creați propriile câmpuri și să le adăugați la raport. Trebuie reamintit faptul că mai devreme că utilizatorul ar putea utiliza numai acele câmpuri implementate de dezvoltator.

Luați în considerare utilizarea acestei caracteristici pe exemplu.

Să presupunem că șeful societății comerciale angajat în vânzarea de bunuri pe teritoriul Moscovei și regiunilor, dorește să ajusteze raportul "Istoricul vânzărilor", care doresc să aducă date privind vânzarea unei nomenclaturi în Moscova și regiunile în general, precum și partenerilor. Faceți-o folosind câmpurile personalizate este foarte ușoară.

Astfel, pe un exemplu vizual, se poate observa că setările de câmp personalizate flexibile într-un program tipic 1C: Managementul comerțului 8 Furnizați utilizatorului oportunități ample în setările de raportare, permițându-vă să primiți rapid informațiile necesare într-un formular convenabil.

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. Dupa asta cuvinte 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 devine valoare 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 numărul regulilor de comparare obișnuite pentru numere;
  • la tipul de date anterioare mai mici decât mai târziu;
  • la tipul liniei - compararea rândurilor în conformitate cu caracteristicile naționale de date naționale stabilite;
  • 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:

  • Tipul de zoom. 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ă Concepute pentru a evidenția un substring din șir.

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.

Adăugarea rapoartelor gata făcute cu coloanele dvs.
În raportul efectuat utilizând "Circuitul de layout de date" din modul utilizator, puteți adăuga câmpurile dvs. care urmează să fie afișate în timpul formării.
În aceste domenii, sunt permise acte aritmetice.

Cu mult timp în urmă, a fost scrisă de raportul "vânzări de bunuri pentru expediere" http://infostart.ru/public/16477/. În această publicație, nu vom încheia relevanța și demnitatea acestuia. Acest raport va fi tratat ca un șablon pentru experimente, modificări. Mai ales în comentariile au întrebat cum să adauge câmpuri.

Deschideți "Setări ..." și mergeți la fila "Setări personalizate".

2. Adăugați o "expresie de câmp nou"

Adăugarea câmpurilor este impusă prin prescrierea acțiunilor aritmetice între câmpurile disponibile (acest lucru este marcat pervertent cu pătratul verde). De asemenea, o caracteristică Dacă numele unui astfel de câmp constă din două sau mai multe cuvinte, trebuie să fie închisă în paranteze pătrate. Fiți așa - [Suma vânzărilor].

După salvare, acest câmp va fi disponibil pentru selecție:

Cu ajutorul unor manipulări simple, obțineți valoarea necesară. Această caracteristică Permiteți adăugarea câmpurilor dorite. În astfel de opțiuni de calcul cum aveți nevoie. Rentabilitatea, eficiența și alte valori vor fi luate în considerare în logica dvs. de calcule aritmetice.

În acest caz, munca dvs. nu va fi pierdută și data viitoare când deschideți raportul poate fi utilizat.

Funcțiile utilizate la scrierea câmpurilor.

  • Aritmetică "+, -, *, /" Este clar pentru aceasta, cred că să explic principiul acțiunii lor nu este necesar.
  • Expresii logice Folosit pentru a determina selecțiile. "\u003e< , = , >= , <= , <>, Sau, sau nu. " Aceste expresii sunt utilizate cu o operație de selecție.
  • Operațiuni de selecție. Aplicați pentru a obține una dintre valorile posibile în conformitate cu condițiile specificate.

Alegere
CAND< Операция выбора > ATUNCI<Выражение>
In caz contrar<Выражение>
SFÂRȘIT
Exemplu:
Alegere
Când cantitatea\u003e 0 și suma\u003e 0 apoi "dreapta"
În caz contrar, "Eroare"
SFÂRȘIT

Acest lucru este decriptat: cu condiția ca cantitatea să fie mai mare decât zero și sumele mai mult zero, textul "corect" va fi afișat și dacă cel puțin una dintre condiții nu este permisă să transmită "eroare".

  • Funcție încorporată, vă permite să produceți anumite conversii cu câmpuri.

Substro ("expresie", "poziție inițială", o parte separată a "expresiei", limitată de cadrul "inițial ..." și "Ultimate ...".
Așa cum se arată cu valoarea nomenclaturii - formula "pastă de ciocolată" a substringului (nomenclatura, 1,5) va retrage valoarea "pastă"

Funcțiile sunt utilizate pentru a lucra cu data

AN(<Дата>), Sfert (<Дата>), Luna (<Дата>), Fiica (<Дата>), Zi (<Дата>), O SĂPTĂMÂNĂ(<Дата>), De zi cu zi (<Дата>),ORA(<Дата>), Minut (<Дата>), Al doilea (<Дата>)

Valoarea corespunzătoare valorii numelui va fi afișată.

Nivelul de mai sus ("data", "perioada de schimbare"), sfârșitul ("data", "perioada de schimbare"). Pentru aceste caracteristici, valoarea expresiei datei la începutul sau la sfârșitul datei specificate.

Adăugați spațiu ("data", "perioada de schimbare", "valoarea pe care doriți să o măriți data") - funcția vă permite să măriți sau să micșorați data pentru o anumită valoare.

Distribuție ("data1", "data2", "perioada de înregistrare") - funcția este destinată obținerii unei diferențe între cele două date.

"Perioada de schimbare" este una dintre "minute, oră, zi, săptămână, lună, trimestru, an, deceniu, jumătate a anului".

5. Funcțiile lingvistice interogării interogării sunt utilizate la gruparea rezultatelor numărului de rezultate

Cantitate (<>) Cantitatea aritmetică a tuturor valorilor din eșantion.
IN MEDIE (<>) Calculează valoarea medie a tuturor în eșantion
Minim (<>) Calculează valoarea minimă din toate valorile din eșantion
Maxim (<>) Calculează valoarea maximă de la toate valorile din eșantion
CANTITATE (<>) Numărarea numărului de valori ale parametrilor din eșantion. Această caracteristică ne permite să folosim opțiuni. Cantitatea (*) - vă permite să calculați numărul de rânduri ca rezultat. Numărul (diverse "expresii") - vă permite să calculați numărul de valori diferite ale câmpului specificat.

Suma (alegerea
Când substringul (nomenclatura, 1, 5) \u003d "Pastă"
Apoi cantitate * 0.2
În caz contrar cantitatea * 0.35
Sfarsit)

Se dovedește cantitatea de valori în același timp în care nomenclatura este prezentă la începutul denumirii "pastă" în acest caz, cantitatea crește cu 0,2 dacă nu apare la 0,35.

An ([document. Date])

Anunțați un an când documentul este înregistrat / deținut.

Un exemplu mai complex, fără descifrarea.

Alegere
Când un sfert ([Datele. Date]) \u003d 1 și substring (Nomenclatură, 1, 5) \u003d "Pastă"
Apoi cantitate * 0.2
În caz contrar, alegerea
Când un sfert ([Datele Date]) \u003d 2
Apoi cantitate * 0.3
În caz contrar, alegerea
Când un sfert ([Datele. Date]) \u003d 3
Apoi cantitate * 0.4
În caz contrar, alegerea
Când un sfert ([Datele date]) \u003d 4
Apoi cantitate * 0.5
sfarsit
sfarsit
sfarsit
sfarsit

Ne-am uitat la setările rapoartelor implementate pe baza SCD. Acum vom analiza mai multe setări mai subtile și detaliate pentru opțiunile de raportare. 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 opțiuni de raportare oferă utilizatorilor oportunități largi de configurare a raportului la nevoile lor. 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âmpurile 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 într-o anumită condiție. 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, folosim funcția agregată "suma".

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. Selecție. 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.

Raportul primește resturi de bunuri în depozite în diferite reduceri (caracteristici, serii, unități de măsură etc.). Pentru a nu complica un exemplu, vom lăsa doar o grupare asupra nomenclaturii și vom retrage doar soldul final la data raportului. Tabelul final va arăta resturile nomenclaturii în cele mai aproape de depozite.

Dar apoi utilizatorul a spus că trebuie să adauge două domenii suplimentare:

  1. Alertă de cantitate. Dacă cantitatea este mai mică sau egală cu 5, atunci alerta "nu este suficientă". Dacă cantitatea este mai mare de 5, apoi mai mică sau egală cu 10, apoi alerta "în mod normal". Dacă cantitatea este mai mare de 10, apoi "suprasuply".
  2. Formula pentru calcularea reziduului final. Într-o coloană suplimentară, utilizatorul dorește să vadă ce acțiuni au efectuat programul pentru a obține valoarea soldului final. Aceasta este, formula "reziduul inițial + cifra de afaceri \u003d reziduul de capăt", unde valorile corespunzătoare vor fi substituite.

Desigur, programatierul ar putea interveni și schimba cererea pentru schema de aspect de date și configurația raportului, dar vom executa sarcina în modul utilizator fără a modifica raportul în modul Configurator.

Domenii suplimentare

Și așa, continuați. Să mergem la setările opțiunii de raportare:

Vom deschide designerul setărilor raportului SCD. Transformarea la fila "Câmpurile personalizate" va începe să le creeze.

Screenshot afișează deja două câmpuri de utilizatori create, a căror funcționalitate a fost descrisă mai sus. Luați în considerare setările fiecăruia. Să începem cu câmpul "Alertă".

La configurare, trebuie să setăm antetul de câmp să fie afișat în raport, precum și să specificați o expresie pentru a genera o valoare în câmpul de înregistrări detaliate și în rezultatele acestui câmp. Deoarece spectacolul de alertă în rezultate nu este necesar, scriem o expresie numai pentru înregistrări detaliate.

Sintaxa expresiei este similară cu limba de solicitare 1C: întreprinderi. Există unele diferențe, dar nu le vom atinge în detaliu în acest articol. Expresia utilizează operatorul de selecție:

"Alegerea atunci când este cazul în caz contrar ",

similar cu operatorul în limba de interogare. Câmpurile din expresiile de câmp ale utilizatorilor sunt stabilite prin reprezentarea lor. Pentru ca platforma să realizeze că reprezentarea introdusă indică un anumit câmp, numele de vedere este încadrat de paranteze pătrate "". Dacă reprezentarea câmpului are un cuvânt, atunci nu sunt necesare paranteze pătrate. În exemplul de mai sus, facem apel la câmpul "reziduul final".

În mod similar, setările sunt setate pentru formula cu formula a formulei de capăt:


Aici trebuie să spui despre unele nuanțe:

  1. Putem arăta formula din celulă numai ca un șir. Prin urmare, convertim toate valorile numerice la șir folosind metoda de expresii ale expresii SCD "șir" convertirea oricărei valori la șir. După ce a efectuat șirul de concontină.
  2. Pentru ca terenul să fie afișat în rezultatul raportului, adăugați o formulă similară cu expresia intrărilor finale. Trebuie doar să adăugați funcții de agregare "Sum ()" pentru fiecare valoare în conformitate cu rezultatele.

Totul este gata să utilizeze câmpurile din raport!

Personalizați și formați un raport

Câmpul "Formula de calcul al reziduului final" Adăugați câmpurile de raport afișate:

Expresia "Alertă" vom adăuga la înregistrări detaliate ale nomenclaturii. Pentru a face acest lucru, adăugați câmpul de expresie "Alertă" la grupare. După aceasta, structura de raport va lua forma următoare:

Setarea raportului pe acest lucru se face. Dacă este necesar, setările adăugate pot fi salvate pentru reutilizați. Formăm un raport:

După cum vedem, câmpurile sunt adăugate la raport în conformitate cu termenii sarcinii. În acest caz, perfecționarea raportului în modul Configurator nu a fost necesar. Acesta este principalul avantaj al câmpurilor personalizate! Utilizatorul care instruit de aceștia le poate folosi pentru a crea un raport pe propriile cerințe, fără participarea programatorului.

Crede-mă, este posibil să-l înveți să folosească aceste oportunități, deoarece este mult mai ușor decât să scrie formule în foi de calcul Excela.