1c expresie de câmp personalizată a înregistrărilor totale. Un exemplu simplu de utilizare a câmpurilor personalizate într-un raport SCD

Raportul primește soldurile mărfurilor din depozite sub diferite aspecte (caracteristici, serii, unități de măsură etc.). Pentru a nu complica exemplul, vom lăsa doar gruparea pe element și afișarea doar soldului final la data raportului. Tabelul sumar va arăta stocurile de stocuri în inventarul depozitelor.

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

  1. Alertă de cantitate. Dacă numărul este mai mic sau egal cu 5, atunci alerta este „Nu este suficient”. Dacă numărul este mai mare de 5, atunci mai mic sau egal cu 10, atunci alerta este „Normal”. Dacă numărul este mai mare de 10, atunci „Ofertă excesivă”.
  2. Formula pentru calcularea soldului final. În coloana suplimentară, utilizatorul dorește să vadă ce acțiuni a efectuat programul pentru a obține valoarea restului final. Aceasta este formula " Balanta initiala + Cifra de afaceri \u003d Sold final ", unde valorile corespunzătoare vor fi înlocuite.

Desigur, un programator ar putea să intervină aici și să modifice interogarea schemei de compoziție a datelor și setările raportului, dar vom efectua sarcina în modul utilizator fără a modifica raportul în modul configurator.

Câmpuri suplimentare

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

În fața noastră vom deschide proiectantul de setări pentru opțiunea de raport ACS. Accesați fila „Câmpuri personalizate” și începeți să le creați.

Captura de ecran arată deja două câmpuri personalizate create, a căror funcționalitate a fost descrisă mai sus. Să luăm în considerare setările fiecăruia. Să începem cu câmpul Alertă.

În setare, trebuie să setăm titlul câmpului care va fi afișat în raport, precum și să setăm expresii pentru a forma valoarea în câmpul de înregistrări detaliate și în totaluri pentru acest câmp. Deoarece nu este nevoie să afișăm o notificare în totaluri, vom scrie o expresie numai pentru înregistrări detaliate.

Sintaxa expresiei este similară cu limbajul de interogare 1C: Enterprise. Există unele diferențe, dar nu le vom trata în detaliu în acest articol. Expresia folosește operatorul select:

"Alegerea când apoi altfel se termină ",

similar cu operatorul în limba interogării. Câmpurile din expresiile de câmp personalizate sunt specificate prin prezentarea lor. Pentru ca platforma să înțeleagă că vizualizarea introdusă denotă un anumit câmp, numele vizualizării este înconjurat de paranteze pătrate „”. Dacă reprezentarea câmpului are un cuvânt, parantezele pătrate sunt opționale. În exemplul de mai sus, ne referim la câmpul Sold final.

Setările pentru câmpul „Formula pentru calcularea soldului final” sunt setate în mod similar:


Aici trebuie să spuneți despre unele dintre nuanțe:

  1. Putem afișa formula într-o celulă numai ca un șir. Prin urmare toate valorile numerice convertim într-un șir folosind metoda de expresie ACS „String ()”, care convertește orice valoare într-un șir. Apoi efectuăm concatenarea șirurilor.
  2. Pentru ca câmpul să fie afișat în totalurile raportului, să adăugăm o formulă similară cu expresia înregistrărilor totale. Trebuie doar să adăugați funcțiile de agregare „SUM ()” pentru fiecare valoare în conformitate cu totalurile.

Totul este pregătit pentru a utiliza câmpurile din raport!

Configurarea și generarea unui raport

Adăugați câmpul „Formula pentru calcularea soldului final” la câmpurile de ieșire ale raportului:

Adăugați expresia „Alertă” la înregistrările detaliate ale articolelor. Pentru a face acest lucru, adăugați câmpul de expresie „Alertă” la gruparea „Nomenclatură”. După aceea, structura raportului va lua următoarea formă:

Configurarea raportului este completă. Dacă este necesar, setările adăugate pot fi salvate pentru reutilizare. Să generăm un raport:

După cum putem vedea, câmpurile au fost adăugate la raport în conformitate cu condițiile sarcinii. În același timp, nu a fost nevoie să modificați raportul în modul configurator. Acesta este principalul avantaj al câmpurilor personalizate! Un utilizator instruit să le folosească le poate folosi pentru a crea un raport cu privire la cerințele lor, fără participarea unui programator.

Crede-mă, îl poți învăța cum să folosească aceste caracteristici, deoarece este mult mai ușor decât să scrii formule în foi de calcul Excela.

Rapoarte pe sistemul de compunere a datelor (SKD) în configurațiile moderne 1C au devenit standard. Sunt convenabile, deoarece utilizatorii pot edita singuri setările fără a recurge la ajutorul programatorilor. Acest lucru va fi discutat în continuare.

Versiunea modificată a raportului este ușor salvată în baza de date și utilizată în paralel cu originalul. În același timp, dacă ceva nu a funcționat corect, puteți reveni la setările implicite. În modul utilizator, puteți adăuga un câmp suplimentar la orice raport de pe ACS, puteți configura filtrarea, gruparea, sortarea sau proiectarea condiționată de acesta.

Să luăm în considerare adăugarea unui câmp personalizat folosind un exemplu raport standard Rata de rotație a personalului în configurație 1C: Managementul salariilor și al resurselor umane 3.1.

Rata cifrei de afaceri din raport poate fi calculată fie pentru organizația în ansamblu, fie în contextul pozițiilor. Să presupunem că vrem să știm rata de rotație pentru o categorie de personal, care este o listă de posturi.

Atenţie! În configurațiile mai vechi, acest lucru ar necesita adăugarea accesorii suplimentare Categorie la director Poziții, și apoi dezvoltați propria versiune a raportului, care să ia în considerare aceste date.

Dar cu ACS totul a devenit mult mai ușor.

1. Mai întâi, salvați noua versiune a raportului făcând clic Selectați varianta raportului sau salvați noua - Salvați varianta raportului:

În fereastra care se deschide, completați numele noii versiuni a raportului, apoi apăsați butonul Salvați... Utilizator cu drepturi Administrator poate salva setarea pentru toți utilizatorii.

2. Acum să adăugăm câmpul nostru. Accesați meniul Toate acțiunile (sau Mai Multîn interfața 1C 8.3) - Altele - Schimbați versiunea raportului.

Apoi accesați fila Câmpuri customizate în partea de jos a formularului de editare a variantei, faceți clic pe buton Adăugare - Câmp de selecție nou:

Completăm numele câmpului nostru și mergem în partea de jos a formularului, unde vom împărți postările în categoriile de care avem nevoie. Apăsați Adauga la, completați valoarea câmpului și prezentarea acestuia, apoi continuați cu editarea selecției făcând clic pe „...” din coloană Selecţie:

În partea stângă a ferestrei, selectați câmpul Poziţie, făcând dublu clic sau glisând, mutați-l în tabelul din dreapta. Alegerea tipului de comparație În listă, apoi treceți la editarea listei făcând clic pe butonul „...” din coloană Valoare:

Completăm lista cu pozițiile necesare manual sau folosind butonul Selecţie... De exemplu, în categorie Administrativ atribuie poziția Directorși Administrator, în categorie Liniar -Vânzător și contabil, și în categorie Securitate -Șef de securitate și Pază de Securitate.

Atenţie!Ttipul valorilor listei este Număr, și introducem numele categoriei în câmp Reprezentare... Dacă valorilor listei li se atribuie imediat tipul Linia, nu vom putea configura selecția corectă pentru acest câmp în viitor. Selecția pentru câmpurile șir este configurată numai pe principiul Umplut / Neumplut.

3. Acum să configurăm selecția. Accesați fila Selecţie ... Căutăm un folder la sfârșitul listei din stânga Câmpuri customizate, și în ea - câmpul Categoria de personal, îl transferăm în partea dreaptă.

Apoi faceți clic dreapta pe linia de selecție și selectați elementul Proprietățile elementului setari personalizate .

Setarea steagului Includeți în setările personalizate și selectați modul de editare - Acces rapid... Acest lucru vă va permite să gestionați setările de selecție pe categorii de personal chiar în antetul raportului.

4. Acum să adăugăm gruparea după câmp personalizat. Pentru a face acest lucru, după gruparea pe câmpuri Organizare și Perioada de formare adăugați o grupare pe categorii de personal și transferați gruparea după poziție la aceasta. Apoi selectăm gruparea Categorie personal și accesați fila Setari aditionale ... Setarea steagului Elementul curent are propriul său setari aditionale , căutăm parametrul în lista de jos Poziționarea totalelor mari pe verticală și setați valoarea sa la sfarsit.

5. Să încercăm să generăm un raport:

Raportul în ansamblu este gata, dar, dacă este necesar, poate fi ușor îmbunătățit.

6. Gruparea pe categorii de personal va fi sortată în același mod ca și în lista pe care am completat-o \u200b\u200banterior. Dacă doriți să sortați în mod greșit, dar, de exemplu, în ordine descrescătoare, putem accesa fila Triere , adăugați categoria de personal la lista de câmpuri și configurați după cum urmează:

Rețineți că câmpurile personalizate sunt sortate în funcție de valori, nu de vizualizări.

7. Puteți personaliza aspectul condiționat după câmpurile de raport. Pentru a face acest lucru, accesați fila Proiectare condiționată și adăugați un element nou la listă. Selectarea unei file Condiție , adăugați câmpul necesar în partea dreaptă și personalizați-l:

În filă Înregistrare setați decorarea necesară pentru câmpurile care îndeplinesc condiția. De exemplu, culoarea roșie a fontului. Ne salvăm setarea:

Acum raportul arată astfel:

Am examinat în detaliu setările pentru rapoartele implementate pe baza ACS. Acum să aruncăm o privire la setările mai fine și mai detaliate ale opțiunilor de raportare. Fereastra setărilor „avansate” a variantei de raport este apelată de comanda „Mai mult” - „Altele” - „Modificați varianta raportului”.

Fereastra pentru modificarea variantei raportului este împărțită în două părți:

1. Structura raportului.

2. Setări raport.


Secțiunea de structură a unei variante de raport este similară cu fila „Structură” a setărilor standard de raport. Scopul și configurația grupărilor sunt discutate în detaliu în partea 1 a articolului.

Tabelul de structuri al variantei raportului, pe lângă coloana cu grupări în sine, conține mai multe coloane suplimentare:

Secțiunea de setări a opțiunii de raport oferă utilizatorului posibilitatea de a configura raportul pentru a se potrivi nevoilor sale. Coincide aproape complet cu setări standard din raportul discutat în partea 1. Să luăm în considerare toate filele secțiunii și să observăm diferențele.

Secțiunea de setări constă din următoarele file:

1. Parametri. Conține parametri ACS disponibili utilizatorului.

Parametrul ACS este o valoare utilizată pentru a obține date de raport. Aceasta poate fi o valoare a condiției pentru selectarea sau validarea datelor sau o valoare auxiliară.


Tabelul de parametri este prezentat în formatul "Parametru" - "Valoare". Valorile parametrilor pot fi modificate dacă este necesar. Dând clic pe butonul Proprietăți element setări personalizate, se deschid setările personalizate pentru element.


În această fereastră, puteți selecta dacă elementul va fi inclus în setările utilizatorului (adică vizibil utilizatorului la configurarea raportului), puteți seta modul de prezentare și editare a elementului ( acces rapid în antetul raportului, de obicei în setările raportului și indisponibil).

Proprietățile elementelor de personalizare au, de asemenea, câmpuri grupabile, câmpuri, filtre și elemente condiționale.

2. Câmpuri personalizate. Conține câmpuri pe care utilizatorul însuși le formează pe baza datelor selectate de raport.


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

  • Câmp de selecție nou ...
  • Câmp de expresie nou ...

Selectarea câmpurilor vă permite să calculați valoarea cu condiție dată... Fereastra pentru editarea câmpului de selecție conține titlul câmpului și tabelul în care sunt setate selecția, valoarea și prezentarea câmpului. Selecția este o condiție, în funcție de care se va înlocui valoarea cerută.


De exemplu, să calculăm o estimare a numărului de vânzări. Vom presupune că, dacă mai puțin de 10 unități dintr-un produs sunt vândute, s-au vândut puțin și, dacă mai mult de 10 unități, foarte mult. Pentru a face acest lucru, vom seta 2 valori ale câmpului calculat: prima va fi cu selecția „Numărul de bunuri este mai mic sau egal cu„ 10 ””, al doilea cu selecția „Numărul de bunuri este mai mare decât „10” ”.

Câmpurile de expresie vă permit să calculați o valoare folosind algoritmi arbitrari. Aceștia pot utiliza funcțiile limbajului de interogare și limbajului de programare încorporat 1C. Fereastra de editare a câmpului de expresie conține două câmpuri pentru expresii detaliate și sumare. Înregistrările totale sunt grupări configurate în zona „Structura raportului”, în care trebuie să utilizați funcții agregate („Sumă”, „Minim”, „Maxim”, „Cantitate”).

De exemplu, să calculăm procentul mediu de reducere. Procentul mediu de reducere este calculat prin formula: [Suma vânzărilor fără reducere] - [Suma vânzărilor cu reducere] / [Suma vânzărilor fără reducere]. Trebuie să ne amintim că suma vânzărilor fără reducere poate fi zero, așa că folosim operatorul SELECT pentru a verifica. Primim următoarele expresii:

· Pentru note 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 înregistrări totale:

Alegere

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

Apoi 0

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

sfarsit

După cum sa menționat mai devreme, în expresia totalelor, folosim funcția agregată „Sumă”.

3. Câmpuri grupabile. Conține câmpurile după care va fi grupat rezultatul variantei de raport. Câmpurile de grupare sunt configurate separat pentru fiecare dintre grupări, dar puteți defini câmpuri generale de grupare pentru o variantă de raport dacă selectați rădăcina „Raport” în arborele structurii. Puteți adăuga un câmp din rezultatul raportului, un câmp personalizat sau puteți selecta un câmp automat, atunci sistemul va selecta câmpurile automat. De asemenea, această filă vă permite să modificați ordinea câmpurilor grupate.


4. Câmpuri. Conține câmpurile care vor fi afișate în rezultatul variantei de raport. Câmpurile sunt configurate separat pentru fiecare dintre grupări, dar puteți seta câmpuri generale pentru varianta raportului dacă selectați rădăcina „Raport” din arborele structurii. Puteți adăuga un câmp din rezultatul raportului, un câmp personalizat sau puteți selecta un câmp automat, atunci sistemul va selecta câmpurile automat. De asemenea, această filă vă permite să modificați ordinea câmpurilor.

Câmpurile pot fi grupate pentru a evidenția în mod logic o parte a raportului sau pentru a defini un aranjament special de coloane. Când adăugați un grup, coloana „Locație” devine activă și vă permite să selectați una dintre opțiunile de locație:

  • Auto - sistemul plasează automat câmpurile;
  • Orizontal - câmpurile sunt dispuse orizontal;
  • Vertical - câmpurile sunt dispuse vertical;
  • Într-o coloană separată - câmpurile sunt situate în coloane diferite;
  • Împreună - câmpurile sunt aranjate într-o singură coloană.


5. Selecție. Conține selecții utilizate în varianta raportului. Personalizarea selecțiilor a fost discutată în detaliu în partea 1 a acestui articol. Filtrele sunt configurate separat pentru fiecare dintre grupări, dar puteți seta filtre generale pentru o variantă de raport dacă selectați rădăcina „Raport” în arborele structurii.


6. Sortare. Conține câmpurile de sortare utilizate în varianta raportului. Personalizarea câmpurilor de sortare a fost tratată în detaliu în partea 1 a acestui articol. Sortarea este configurată separat pentru fiecare dintre grupări, dar puteți seta câmpuri generale de sortare pentru o variantă de raport dacă selectați rădăcina „Raport” în arborele structurii.


7. Proiectarea condiționată. Conține elemente de stil condiționat utilizate într-o variantă de raport. Configurarea aspectului condiționat a fost discutată în detaliu în partea 1 a acestui articol. Aspectul condiționat este configurat separat pentru fiecare dintre grupări, dar puteți seta elemente comune de aspect condițional pentru o variantă de raport dacă selectați rădăcina „Raport” în arborele structurii.


8. Setări suplimentare. Conține setări suplimentare pentru proiectarea raportului. Vă permite să selectați un element comun aspect raport, locația câmpurilor, grupări, detalii, resurse, totaluri, setați setările graficului, controlați ieșirea titlului, parametrii și selecția, determinați poziția resurselor și fixați antetul și coloanele de grupare ale opțiunii de raport.


În concluzie, aș dori să menționez că setările raportului nu pot fi salvate doar ca variantă de raport, ci și încărcate într-un fișier (meniul „Mai multe” - „Salvare setări”). Pentru descărcare, selectați „Încărcați setările” și selectați fișierul salvat. Astfel, putem transfera setările variantei de raport între diferite baze de date cu aceeași configurație.


Pe baza acestui fapt, putem rezuma că utilizatorul nu numai că poate personaliza în mod independent raportul pentru a se potrivi nevoilor sale, ci și poate salva setările sale și le poate utiliza ulterior, dacă este necesar.

Pentru un management competent, orice organizație comercială trebuie să primească prompt informații despre starea actuală a mărfurilor, vânzărilor, profiturilor. Cu toate acestea, dacă considerați că organizațiile lucrează adesea cu o gamă largă de bunuri și un număr mare de contrapartide, atunci instrumentul de personalizare a raportului analitic joacă un rol important în obținerea informațiilor necesare. Să aruncăm o privire mai atentă la procedura de lucru cu câmpuri personalizate în rapoartele unui program tipic (rev. 11).

Dezvoltarea platformei 1C: Enterprise 8 oferă utilizatorilor tot mai multe oportunități. De exemplu, în versiunea 8.2, rapoartele au devenit mai flexibile, permițându-le să fie personalizate la diferite cerințe fără ajutorul programatorilor calificați.

Modificați setările raportului

Pentru a vizualiza sau modifica setările raportului, accesați meniul Toate acțiunile și selectați comanda Modificare variantă. După aceea, se deschide o fereastră cu setări pentru un raport deschis în fața utilizatorului.

În partea superioară a ferestrei de setări, puteți vedea structura raportului, care nu este altceva decât o reflecție vizuală a coloanelor raportului și a grupărilor rândurilor sale, ceea ce face posibilă prezentarea în ordinea datelor analitice afișat în acest raport.

În partea de jos a ferestrei de setări, sunt afișate setările reale de informații și câmpuri, referindu-se fie la raport, fie la elementele structurii acestuia (coloane și grupări de rânduri).

Câmpuri customizate

Într-un program 1C: Managementul comerțului 8 ediția 11 a setărilor raportului oferă utilizatorilor mai multe opțiuni în formarea lor.

În fereastra pentru editarea setărilor și structurii rapoartelor, am dori să atragem atenția specială a utilizatorilor către fila „Câmpuri personalizate”, care vă permite să creați propriile câmpuri și să le adăugați la raport. Trebuie reamintit că anterior utilizatorul putea folosi doar acele câmpuri care au fost implementate de dezvoltator.

Să luăm în considerare utilizarea acestei funcții prin exemplu.

Să presupunem că șeful unei companii comerciale care vinde mărfuri în Moscova și în regiuni dorește să personalizeze raportul Istoricul vânzărilor, dorind să afișeze în acesta date despre vânzarea articolelor în Moscova și regiunile în general, precum și către parteneri. Este foarte ușor să faceți acest lucru folosind câmpuri personalizate.

Astfel, un exemplu ilustrativ arată că setările flexibile pentru câmpurile personalizate într-un program tipic 1C: Managementul comerțului 8 oferiți utilizatorului oportunități ample în setările rapoartelor, permițându-i să primească rapid informațiile necesare într-o formă convenabilă.

Limbajul de exprimare a sistemului de compoziție a datelor

Limbajul de expresie al sistemului de compoziție a datelor este conceput pentru a scrie expresii utilizate în diferite părți ale sistemului.

Expresiile sunt utilizate în următoarele subsisteme:

  • schema de compunere a datelor - pentru descrierea câmpurilor calculate, câmpurilor totale, expresiilor de relații etc.
  • setări de compoziție a datelor - pentru descrierea expresiilor de câmp personalizate;
  • șablon de compunere a datelor - pentru descrierea expresiilor de relație a setului de date, descrierea parametrilor șablonului etc.

Litere

Expresiile pot conține literale. Sunt posibile litere de următoarele tipuri:

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

Linia

Un literal șir este scris cu caractere "" ", de exemplu:

„Șir literal”

Dacă trebuie să utilizați caracterul „” în interiorul unui șir literal, ar trebui să utilizați două astfel de caractere.

De exemplu:

„Literal“ „între ghilimele„ „„

Număr

Numărul este scris fără spații, în format zecimal. Partea fracționată este separată cu simbolul „.” De exemplu:

10.5 200

Data

Literalul de dată este scris folosind literalul cheii DATETIME. După acest cuvânt cheie, între paranteze, separate prin virgule, sunt enumerate anul, luna, ziua, orele, minutele, secundele. Ora este opțională.

De exemplu:

DATE TIME (1975, 1, 06) - 6 ianuarie 1975 DATE (2006, 12, 2, 23, 56, 57) - 2 decembrie 2006, 23 ore 56 minute 57 secunde, 23 ore 56 minute 57 secunde

Boolean

Valorile booleene pot fi scrise folosind literele True, False.

Valoare

Pentru a specifica literale de alte tipuri (enumerări de sistem, date predefinite), utilizați cuvântul cheie Value, urmat de numele literal între paranteze.

Valoare (tip de cont. Activ)

Operații pe numere

Unar -

Această operațiune este destinată inversării semnului unui număr. De exemplu:

Vânzări.Număr

Unary +

Această operațiune nu efectuează nicio acțiune asupra numărului. De exemplu:

Vânzări.Număr

Binar -

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

Solduri și cifre de afaceri. Sold inițial - Solduri și cifre de afaceri. Sold solduri finale și cifre de afaceri. Sold inițial - 100 400 - 357

Binar +

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

Solduri și cifre de afaceri. Sold inițial + Solduri și cifre de afaceri. Solduri cifre de afaceri și cifre de afaceri. Sold inițial + 100 400 + 357

Compoziţie

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

Nomenclatură. Preț * 1,2 2 * 3,14

Divizia

Această operațiune este menită să obțină rezultatul împărțirii unui operand la altul. De exemplu:

Nomenclatură. Preț / 1,2 2 / 3,14

Restul diviziei

Această operațiune este destinată obținerii restului de împărțire a unui operand la altul. De exemplu:

Nomenclatură Preț% 1,2 2% 3,14

Operații pe corzi

Concatenare (binar +)

Această operațiune este destinată concatenării a două șiruri. De exemplu:

Nomenclature.Article + ":" + Nomenclature.Name

Ca

Această operație verifică dacă șirul se potrivește cu modelul trecut.

Valoarea operatorului LIKE este TRUE dacă valoarea<Выражения> se potrivește cu modelul și FALS altfel.

Următoarele caractere din<Строке_шаблона> are sens altfel decât doar următorul caracter de linie:

  • % - procent: o secvență care conține zero sau mai multe caractere arbitrare;
  • _ - subliniere: un caracter arbitrar;
  • […] - unul sau mai multe caractere între paranteze drepte: un caracter, oricare dintre cele enumerate în paranteze drepte. Enumerarea poate conține intervale, de exemplu, a-z, adică un caracter arbitrar inclus în interval, inclusiv capetele intervalului;
  • [^…] - între paranteze drepte, o pictogramă de negare urmată de unul sau mai multe caractere: orice caracter, cu excepția celor enumerate după pictograma de negare;

Orice alt simbol înseamnă el însuși și nu are nicio semnificație suplimentară. Dacă unul dintre caracterele enumerate trebuie să fie înregistrat ca el însuși, atunci trebuie să fie precedat de<Спецсимвол>specificat după cuvântul cheie ESCAPE.

De exemplu, șablonul

"% ABC [abcg] \\ _ abc%" SIMBOL SPECIAL "\\"

înseamnă un subșir format dintr-o succesiune de caractere: litera A; literele B; literele B; o cifră; una dintre literele a, b, c sau d; caracter de subliniere; literele a; literele b; literele c. Mai mult, această secvență poate fi localizată pornind de la o poziție arbitrară în linie.

Operații de comparare

In aceeasi masura

Această operație este destinată să compare doi operanzi pentru egalitate. De exemplu:

Sales.Contractor \u003d Sales.NomenclatureMainSupplier

Nu este egal

Această operație este destinată să compare doi operanzi pentru inegalitate. De exemplu:

Vânzări, antreprenor<> Sales.NomenclatureMainSupplier

Mai puțin

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

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

Mai Mult

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

SalesCurrent.Total\u003e SalesPast.Amount

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:

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

Mai mult sau egal

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

SalesCurrent.Amount\u003e \u003d SalesPast.Amount

Operațiunea B

Această operațiune verifică prezența unei valori în lista de valori trecute. Rezultatul operației va fi True dacă se găsește valoarea sau False în caz contrar. De exemplu:

Elementul B (& Elementul 1 și Elementul 2)

Operația de verificare a existenței unei valori într-un set de date

Operația verifică existența unei valori în setul de date specificat. Setul de date de validare trebuie să conțină un câmp. De exemplu:

Vânzări. Contrapartă către contrapărți

Operațiunea de verificare a unei valori pentru NULL

Această operațiune returnează True dacă valoarea este NULL. De exemplu:

Sales.Contractor ESTE NUL

Operațiunea de verificare a unei valori pentru inegalitatea NULL

Această operațiune returnează True dacă valoarea nu este NULL. De exemplu:

Sales.Contractor NU ESTE NUL

Operațiuni logice

Operațiile logice iau expresii booleene ca operanzi.

Operațiunea NU

Operația NU returnează True dacă operandul său este False și False dacă operandul său este True. De exemplu:

NU Document.Consignee \u003d Document.Shipper

Operațiunea ȘI

Operatorul AND returnează True dacă ambii operanzi sunt True și False dacă unul dintre operandi este False. De exemplu:

Document.Consignee \u003d Document.Shipper ȘI Document.Consignee \u003d & Contrapartă

SAU operațiune

Operația OR returnează True dacă unul dintre operanzi este True și False dacă ambii operandi sunt False. De exemplu:

Document.Consignee \u003d Document.Carrier SAU Document.Consignee \u003d & Contrapartă

Funcții agregate

Funcțiile agregate efectuează o acțiune asupra unui set de date.

Cantitate

Funcția Sum agregat calculează suma valorilor expresiei care i-au fost transmise ca argument pentru toate înregistrările de detalii. De exemplu:

Suma (Sales.AmountTurnover)

număr

Funcția Numărătoare calculează numărul de valori care nu sunt nule. De exemplu:

Cantitate (vânzări. Contractor)

Numărul diferitelor

Această funcție calculează numărul de valori distincte. De exemplu:

Cantitate (diverse vânzări. Contractor)

Maxim

Funcția obține valoarea maximă. De exemplu:

Maxim (solduri. Cantitate)

Minim

Funcția obține valoarea minimă. De exemplu:

Minim (solduri. Cantitate)

In medie

Funcția obține media pentru valori non-NULL. De exemplu:

Media (solduri. Suma)

Alte operațiuni

Operațiunea SELECT

Operațiunea Selectare este concepută pentru a selecta una dintre mai multe valori atunci când sunt îndeplinite anumite condiții. De exemplu:

Alegere Când Sumă\u003e 1000 Apoi Sumă Altfel 0 Sfârșit

Reguli pentru compararea a două valori

Dacă tipurile valorilor comparate diferă între ele, atunci relația dintre valori este determinată pe baza priorității tipurilor:

  • NUL (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 unui anumit tip.

Dacă tipurile de date se potrivesc, valorile sunt comparate în conformitate cu următoarele reguli:

  • tipul boolean are TRUE valoare mai mare decât valoarea FALSE;
  • tipul Numărului are regulile obișnuite de comparație pentru numere;
  • tipul Date are date anterioare mai mici decât cele ulterioare;
  • de tip String - comparații de șiruri în conformitate cu caracteristicile naționale stabilite ale bazei de date;
  • tipurile de referință sunt comparate pe baza valorilor lor (numere de înregistrare etc.).

Lucrul cu NULL

Orice operație în care valoarea unuia dintre operanzi este NULL va avea ca rezultat NULL.

Există excepții:

  • operația ȘI va reveni NULL numai dacă niciunul dintre operanzi nu este False;
  • operația OR va reveni NULL numai dacă niciunul dintre operanzi nu este True.

Priorități de funcționare

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

  • B ESTE NUL NU ESTE NUL;
  • =, <>, <=, <, >=, >;
  • Binar +, Binar -;
  • *, /, %;
  • Unary +, Unary -.

Funcțiile limbajului de exprimare a sistemului de compoziție a datelor

calculati

Funcția Calculare este concepută pentru a evalua o expresie în contextul unor grupări. Funcția are următorii parametri:

  • Expresie. Tastați Șir. Conține o expresie calculată;
  • Gruparea. Tastați Șir. Conține numele grupării în contextul căruia trebuie evaluată expresia. Dacă un șir gol este folosit ca nume de grupare, calculul se va efectua în contextul grupării curente. Dacă șirul GeneralTotal este utilizat ca nume de grupare, calculul se va efectua în contextul marelui total. În caz contrar, calculul va fi efectuat în contextul grupării părinte cu numele respectiv. De exemplu:
Suma (Sales.SumTurnover) / Calculate ("Suma (Sales.SumTurnover)", "TotalTotal")

În acest exemplu, rezultatul va fi raportul dintre suma pentru câmpul Sales.SumTurnover al înregistrării de grupare cu suma aceluiași câmp din întregul aspect.

Nivel

Funcția este destinată obținerii nivelului actual de înregistrare.

Nivel()

NumberOrder

Obțineți următorul număr de ordine.

NumberOrder ()

NumberOrderInGroup

Returnează următorul număr secvențial din gruparea curentă.

NumberOrderInGrouping ()

Format

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

Șirul de format este setat în conformitate cu șirul de format 1C: Enterprise.

Opțiuni:

  • Valoare;
  • Formatează șirul.

Format (Invoices.SumDoc, "NPT \u003d 2")

Începutul perioadei

Opțiuni:

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

Începutul perioadei (DateTime (2002, 10, 12, 10, 15, 34), „Luna”)

Rezultat:

01.10.2002 0:00:00

Sfârșitul perioadei

Funcția este concepută pentru a extrage o dată specifică dintr-o dată dată.

Opțiuni:

  • Data. Tastați Data. Data specificată;
  • Tipul perioadei. Tastați Șir. Conține una dintre valori:
    • Minut;
    • Zi;
    • O săptămână;
    • Lună;
    • Sfert;
    • Deceniu;
    • Jumătate de an.

EndPeriod (DateTime (2002, 10, 12, 10, 15, 34), „Săptămâna”)

Rezultat:

13.10.2002 23:59:59

Adăugați la dată

Funcția este destinată adăugării unei anumite valori datei.

Opțiuni:

  • Tipul de mărire. Tastați Șir. Conține una dintre valori:
    • Minut;
    • Zi;
    • O săptămână;
    • Lună;
    • Sfert;
    • Deceniu;
    • Jumătate de an.
  • Valoare - cu cât data ar trebui mărită. Număr tip. Partea fracționată este ignorată.

Adăugați la dată (DateTime (2002, 10, 12, 10, 15, 34), „Luna”, 1)

Rezultat:

12.11.2002 10:15:34

Diferența de dată

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

Opțiuni:

  • Expresie. Tastați Data. Data originală;
  • Expresie. Tastați Data. Data scăzută;
  • Tipul diferenței. Tastați Șir. Conține una dintre valori:
    • Al doilea;
    • Minut;
    • Zi;
    • Lună;
    • Sfert;

DIFERENȚĂ (DATA / ORA (2002, 10, 12, 10, 15, 34), DATA / ORA (2002, 10, 14, 9, 18, 06), „ZI”)

Rezultat:

Substring

Această funcție este concepută pentru a extrage un șir de caractere dintr-un șir.

Opțiuni:

  • Linia. Tastați Șir. Șirul din care se extrage șirul secundar;
  • Poziţie. Număr tip. Poziția caracterului din care începe șirul de caractere care trebuie extras din șir;
  • Lungime. Număr tip. Lungimea șirului secundar de selectat.

SUBSTRAT (Contractori. Adresa, 1, 4)

Lungimea liniei

Funcția este concepută pentru a determina lungimea unui șir.

Parametru:

  • Linia. Tastați Șir. Șirul care trebuie specificat în lungime.

Șir (Accounts.Adress)

An

Această funcție este concepută pentru a extrage un an dintr-o valoare de tipul Datei.

Parametru:

  • Data. Tastați Data. Data la care se determină anul.

AN (data expedierii)

Sfert

Această funcție este destinată extragerii unui sfert de număr dintr-o valoare de tipul Datei. Numărul sfertului este în mod normal în intervalul de la 1 la 4.

Parametru

  • Data. Tastați Data. Data până la care se stabilește trimestrul
TRIMESTRE (Data expedierii)

Lună

Această funcție este destinată extragerii numărului lunii dintr-o valoare de tipul Datei. Numărul lunii este în mod normal cuprins între 1 și 12.

  • Data. Tastați Data. Data până la care se determină luna.
LUNĂ (Data facturii)

Ziua anului

Această funcție este concepută pentru a obține ziua anului dintr-o valoare de tipul Datei. Ziua anului este în mod normal cuprinsă între 1 și 365 (366).

  • Data. Tastați Data. Data până la care se determină ziua anului.
ZIUA ANULUI (Data facturii)

Zi

Această funcție este destinată să obțină ziua lunii dintr-o valoare de tipul Datei. Ziua lunii este în mod normal în intervalul 1-31.

  • Data. Tastați Data. Data până la care se determină ziua lunii.
ZI (Data facturii)

O săptămână

Această funcție este concepută pentru a obține numărul săptămânii al anului dintr-o valoare de tipul Datei. Săptămânile anului sunt numerotate începând cu 1.

  • Data. Tastați Data. Data la care se determină numerele săptămânii.
SĂPTĂMÂNĂ (Data facturii)

Zi a săptămânii

Această funcție este destinată să obțină ziua săptămânii dintr-o valoare de tipul Datei. Ziua săptămânii este în mod normal între 1 (luni) și 7 (duminică).

  • Data. Tastați Data. Data până la care se determină ziua săptămânii.
ZIUA SĂPTĂMÂNII (Data facturii)

Ora

Această funcție este concepută pentru a obține ora din zi dintr-o valoare de tipul Datei. Ora zilei variază de la 0 la 23.

  • Data. Tastați Data. Data la care se determină ora zilei.
ORA (Data expedierii)

Minut

Această funcție este destinată să obțină minutul unei ore dintr-o valoare de tipul Datei. Minutul orei variază de la 0 la 59.

  • Data. Tastați Data. Data la care se determină minutul orei.
MINUT (Data facturii)

Al doilea

Această funcție este destinată obținerii secundei minutului dintr-o valoare de tipul Datei. Al doilea dintr-un minut variază de la 0 la 59.

  • Data. Tastați Data. Data la care se determină secundele minutului.
A DOUA (Data facturii)

Expres

Această funcție este concepută pentru a extrage un tip dintr-o expresie care poate conține un tip complex. În cazul în care expresia conține un alt tip decât tipul cerut, va fi returnată o valoare NULL.

Opțiuni:

  • Expresia de convertit;
  • Indicarea tipului. Tastați Șir. Conține un șir de tip. De exemplu, „Număr”, „Șir” etc. În plus față de tipurile primitive, acest șir poate conține numele tabelului. În acest caz, se va încerca exprimarea unei referințe la tabelul specificat.

Express (Data.Props1, "Number (10.3)")

Da Nul

Această funcție returnează valoarea celui de-al doilea parametru dacă valoarea primului parametru este NULL.

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

Da NULL (Suma (Sales.SumTurnover), 0)

Funcții comune ale modulului

O expresie a motorului de compoziție a datelor poate conține apeluri către funcții ale modulelor de configurare comune globale. Nu este necesară o sintaxă suplimentară pentru a apela astfel de funcții.

În acest exemplu, funcția „Numele abreviate” va fi apelată din modulul de configurare generală.

Rețineți că utilizarea funcțiilor modulelor comune este permisă numai atunci când este specificat parametrul corespunzător al procesorului de compoziție a datelor.

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