Secțiuni de site
Alegerea editorului:
- Cum să descărcați și să configurați un asistent inteligent pentru un dispozitiv Android
- Opțiuni „Peste tot acasă” și „Peste tot acasă, Rusia” MTS - descriere, cost, cum să vă conectați
- Cum să recuperați sau să resetați o parolă de utilizator Windows
- Cum să eliminați complet Programul Avast pentru a elimina Avast
- Aplicație mobilă Aliexpress
- Dispunerea tastaturii QWERTY și AZERTY Versiuni speciale ale tastaturii Dvorak
- Insula Sao Vicente Insula Sao Vicente
- Regulile pe care le încălcăm Este în regulă să-ți pui coatele pe masă?
- Care unități flash USB sunt cele mai fiabile și mai rapide?
- Conectarea unui laptop la un televizor prin cablu USB pentru conectarea unui laptop la un televizor VGA
Publicitate
Diagrama de prezentare a datelor (1C SKD). Exemple de utilizare a funcției SKD - calculați expresia 1s 8 expresia câmpurilor calculate SKD |
Utilizarea corectă a unei scheme de compunere a datelor (DCS) vă permite să:
Dar nu toți dezvoltatorii profită la maximum de capacitățile schemei, deoarece nu toate setările sale sunt evidente și intuitive. În special, mulți oameni știu că în 1C SKD există câmpuri calculate, cu toate acestea, nu înțeleg pe deplin scopul utilizării lor și metodele de lucru cu acestea. Ce este un câmp calculatÎn cele mai multe cazuri, sursa de date din diagrama de aspect este o interogare. În principiu, în cadrul interogării în sine puteți utiliza deja diverse formule, construcții și expresii. Apare o întrebare firească: de ce avem nevoie de funcționalitate duplicat? Faptul este că sistemul de control al accesului este ceva mai mult decât afișarea rezultatului unei interogări, iar acest lucru este clar vizibil din formularul de creare a diagramei (Fig. 1). Câmpurile calculate vă permit să efectuați anumite acțiuni cu setul de date generat:
Să trecem prin această listă. Matrice de valori într-o singură celulăSă simulăm o situație în care este necesar să primim toate numerele documentului de chitanță pentru o contraparte într-o celulă separată: Astfel, am creat un câmp suplimentar de calcul în schema noastră; După cum puteți vedea din exemplul de mai sus, nu există dificultăți în adăugarea și procesarea câmpurilor calculate. Am folosit două funcții: Array() și ConnectRows(). Câteva cuvinte despre acesta din urmă. Pe lângă primul parametru care indică identificatorul matricei, valori sau valoare, în el pot fi setate încă doi:
Accesarea funcțiilor de export ale unui modul comunFuncțiile unui modul comun pot acționa ca o sursă de date pentru completarea unui câmp calculat. Câteva puncte importante:
Ca exemplu de utilizare, vom lua aceeași cerere de documente de primire și o vom afișa într-o coloană separată. Nu vom descrie cererea în sine, să trecem direct la câmpurile calculate: Astfel, vedem că aproape orice procesor de date poate fi inițializat din sistemul de control al accesului, ceea ce extinde semnificativ posibilitățile de utilizare a schemei. Dispunerea expresiilor de limbajDestul de des, în munca unui dezvoltator, apare o situație când este necesar să se afișeze rezultatul divizării în câmpul ACS:
Pentru a evita probleme, în aceste cazuri este indicat să introduceți un test de împărțire cu 0 în câmpul calculat. Acest lucru se poate face folosind construcția „Alege Când….Atunci… În caz contrar… Încheiere”. La final, câteva cuvinte despre funcția destul de nouă CalculateExpression(). Cu ajutorul acestuia, în special, puteți calcula abaterile de cost între liniile curente și anterioare, soldul cumulat etc. Să presupunem că puteți obține Suma documentului din linia anterioară a solicitării noastre specificând valoarea Calculate Expression ("Suma documentului", "Suma anterioară") în câmpul "Expresie". Una dintre cele mai importante domenii ale software-ului de afaceri este raportarea. Soarta unei afaceri poate depinde (și nu într-un sens figurat!) de cât de ușor este să personalizați un raport existent la nevoile în schimbare ale afacerii (și ale legislației) sau să creați unul nou, fie că este un raport pentru biroul fiscal sau o diagramă a dependenței cererii de bunuri de sezon și de alți factori . Un sistem de raportare puternic și flexibil care facilitează extragerea datelor necesare din sistem, prezentarea lor într-o formă ușor de înțeles, permițând utilizatorului final să reconfigureze un raport standard pentru a vedea datele într-o lumină nouă - acesta este idealul pe care fiecare sistemul de afaceri ar trebui să depună eforturi pentru. În platforma 1C:Enterprise, un mecanism numit „Sistemul de compunere a datelor” (abreviat ca DCS) este responsabil pentru generarea de rapoarte. În acest articol vom încerca să oferim o scurtă descriere a ideii și arhitecturii mecanismului ACS și a capacităților acestuia.
Puțină istorieÎn prima versiune a platformei 1C:Enterprise 8, versiunea 8.0, rapoartele au fost făcute astfel:
Una dintre ideile care au stat la baza sistemului de control al accesului a fost flexibilitatea și personalizarea rapoartelor, care era accesibilă atât dezvoltatorului, cât și utilizatorului final. În mod ideal, aș dori să ofer utilizatorului final acces la același set de instrumente de proiectare a rapoartelor ca și dezvoltatorului. Ar fi logic să se creeze un singur set de instrumente disponibile pentru toată lumea. Ei bine, deoarece instrumentele necesită participarea utilizatorului final, înseamnă că utilizarea programării în ele ar trebui redusă la minimum (cel mai bine este să o eliminați complet), iar setările vizuale ar trebui utilizate la maximum. Enunțarea problemeiSarcina în fața echipei de dezvoltare a fost să creeze un sistem de raportare bazat nu pe un algoritmic (adică prin scrierea codului), ci pe o abordare declarativă a creării de rapoarte. Și credem că problema a fost rezolvată cu succes. Din experiența noastră, aproximativ 80% din raportarea necesară poate fi implementată folosind ACS fără o singură linie de cod (cu excepția scrierii formulelor pentru câmpurile calculate), mai ales prin setări vizuale.Dezvoltarea primei versiuni a SDS a durat aproximativ 5 persoane-ani. Două limbiExistă două limbi implicate în crearea rapoartelor. Unul este un limbaj de interogare folosit pentru a prelua date. Al doilea este limbajul de expresie al compoziției datelor, conceput pentru a scrie expresii utilizate în diferite părți ale sistemului, de exemplu, în setările de compoziție a datelor, pentru a descrie expresiile câmpurilor utilizator.Limbajul de interogareLimbajul de interogare se bazează pe SQL și este ușor de învățat pentru cei care cunosc SQL. Exemplu de cerere:Este ușor să vezi analogii secțiunilor standard pentru interogările SQL - SELECT, FROM, GROUP BY, ORDER BY. În același timp, limbajul de interogare conține un număr semnificativ de extensii menite să reflecte specificul problemelor financiare și economice și să minimizeze efortul necesar pentru a dezvolta soluții aplicative:
Există, de asemenea, extensii speciale de limbaj de interogare pentru sistemele de control al accesului. Extinderea se realizează folosind instrucțiuni sintactice speciale incluse în acolade și plasate direct în corpul cererii. Folosind extensii, dezvoltatorul stabilește ce operațiuni va putea efectua utilizatorul final atunci când personaliza raportul. De exemplu:
Limbajul de exprimare al compoziției datelorLimbajul de expresie al compoziției datelor este conceput pentru a scrie expresii utilizate, în special, pentru a descrie expresii de câmp personalizate. SKD vă permite să definiți câmpuri personalizate într-un raport folosind fie propriile expresii, fie seturi de opțiuni cu condiții pentru selectarea lor (analog cu CASE în SQL). Câmpurile personalizate sunt similare cu câmpurile calculate. Ele pot fi setate atât în configurator, cât și în modul 1C:Enterprise, dar funcțiile modulelor comune nu pot fi utilizate în expresii de câmp personalizate. Prin urmare, câmpurile personalizate sunt destinate utilizatorului mai degrabă decât dezvoltatorului.Exemplu: Procesul de creare a unui raport privind sistemul de control al accesuluiCând creăm un raport, trebuie să creăm un aspect care să determine modul în care datele vor fi afișate în raport. Puteți crea un aspect bazat pe o diagramă de aspect de date. O diagramă de aspect al datelor descrie esența datelor care sunt furnizate raportului (de unde să obțineți datele și cum puteți controla aspectul acestora). Schema de compunere a datelor este baza pe care pot fi generate tot felul de rapoarte. Schema de compunere a datelor poate conține:
De exemplu, puteți adăuga o interogare ca set de date la schema de compunere a datelor și puteți apela constructorul de interogare, care vă permite să creați grafic o interogare de complexitate arbitrară: Rezultatul lansării designerului de interogări va fi textul interogării (în limbajul de interogare 1C:Enterprise). Acest text poate fi ajustat manual dacă este necesar: Pot exista mai multe seturi de date într-o schemă de aspect de date, seturile de date pot fi legate în aspect în orice mod, pot fi adăugate câmpuri calculate, pot fi specificați parametrii de raport etc. Merită menționată o caracteristică interesantă a mecanismului de interogare din 1C:Enterprise. Interogările sunt traduse în cele din urmă într-un dialect al SQL specific SGBD-ului cu care funcționează direct aplicația. În general, încercăm să folosim la maximum capacitățile serverelor DBMS (suntem limitați de faptul că folosim doar acele capabilități care sunt disponibile simultan în toate DBMS-urile suportate de platforma 1C:Enterprise - MS SQL, Oracle, IBM DB2 , PostgreSQL). Astfel, la nivel de interogare în câmpurile calculate, putem folosi doar acele funcții care sunt traduse în SQL. Dar la nivelul schemei de compunere a datelor, putem deja adăuga câmpuri personalizate și folosi funcții în ele în limbajul de dezvoltare 1C încorporat (inclusiv cele scrise de noi), ceea ce extinde foarte mult capacitățile rapoartelor. Din punct de vedere tehnic, arată așa - tot ce poate fi tradus în SQL este tradus în SQL, interogarea este executată la nivel DBMS, rezultatele interogării sunt plasate în memoria serverului de aplicații 1C și SKD calculează pentru fiecare înregistrare valorile de câmpuri calculate ale căror formule sunt scrise în limbajul 1C.
Puteți adăuga un număr arbitrar de tabele și diagrame la raport:
Folosind SKD, utilizatorul poate adăuga selecții complexe la raport (care vor fi adăugate la cerere în locurile potrivite), design condiționat (permițând formatarea diferită a câmpurilor afișate - cu font, culoare etc., în funcție de valorile acestora). ) și multe altele. Procesul de construire și generare a unui raport poate fi descris pe scurt după cum urmează:
Încercăm să minimizăm cantitatea de date de raport transferate de la server la aplicația client. La afișarea datelor într-un document foaie de calcul, la deschiderea unui document foaie de calcul, transferăm de pe server doar acele linii pe care utilizatorul le vede la începutul documentului. Pe măsură ce utilizatorul se deplasează de-a lungul liniilor documentului, datele lipsă sunt descărcate de pe server la client. Setări personalizateToate instrumentele ACS sunt disponibile atât pentru dezvoltator, cât și pentru utilizatorul final. Dar practica a arătat că utilizatorul final este adesea intimidat de abundența capabilităților instrumentului. Mai mult, în cele mai multe cazuri, utilizatorul final nu are nevoie de toată puterea setărilor - este suficient pentru el să aibă acces rapid la setarea unuia sau doi parametri de raport (de exemplu, perioada și contrapartea). Pornind de la o anumită versiune a platformei, dezvoltatorul de rapoarte are posibilitatea de a marca ce setări de raport sunt disponibile utilizatorului. Acest lucru se face utilizând caseta de selectare „Includeți în setările utilizatorului”. De asemenea, setările raportului au acum un indicator „Mod de afișare”, care ia una dintre cele trei valori:
Planuri de dezvoltareUna dintre domeniile noastre prioritare în dezvoltarea sistemelor de control al accesului este simplificarea setărilor utilizatorilor. Experiența noastră arată că pentru unii utilizatori finali, lucrul cu setările utilizatorului este încă o activitate majoră. Luăm în considerare acest lucru și lucrăm în această direcție. În consecință, va deveni, de asemenea, mai ușor pentru dezvoltatori să lucreze cu sisteme de control al accesului, deoarece Noi, ca și înainte, dorim să oferim un singur instrument pentru crearea rapoartelor atât pentru dezvoltator, cât și pentru utilizatorul final.Conectați-vă la site ca student Conectați-vă ca student pentru a accesa materialele școlare Sistemul de compunere a datelor 1C 8.3 pentru începători: numărarea rezultatelor (resurse) Scopul acestei lecții va fi:
Creați un nou raportCa și în lecțiile anterioare, deschidem baza de date " Delicatese„în configurator și creați un nou raport prin meniu” Fişier"->"Nou...": tip document - raport extern: În formularul de configurare a raportului, scrieți numele „ Lecția 3" și apăsați butonul " Diagrama de compoziție a datelor deschise": Lăsați numele implicit al schemei și faceți clic pe butonul „ Gata": Adăugarea unei cereri prin constructorPe fila " Setul de date" click verde semnul plus și selectați „ Adăugați un set de date - Interogare": În loc să scriem manual textul solicitării, îl rulăm din nou constructor de interogare: Pe „fila” Mesele„trageți masa” Mâncare" de la prima coloană la a doua: Selectați din tabel " Mâncare„câmpurile pe care le vom solicita. Pentru a face acest lucru, trageți și plasați câmpurile” Nume", "Gust", "Culoare" Și " Conținut caloric" de la a doua coloană la a treia: A ieșit așa: Apăsați butonul " Bine" - textul cererii a fost generat automat: Crearea setărilor de prezentare a raportuluiAccesați fila " Setări" și faceți clic pe bagheta magică a suna designer de setări: Selectați tipul de raport " Listă..." și apăsați butonul " Următorul": Trageți din coloana din stânga la dreapta câmpurile care vor fi afișate în listă și faceți clic pe „ Următorul": Trageți din coloana din stânga în câmpul din dreapta " Culoare"- se va întâmpla gruparea rândurile din raport. Faceți clic pe " Bine": Și iată rezultatul muncii designerului. Ierarhia raportului nostru:
Salvați raportul (buton dischetă) Și fără a se închide Vom deschide imediat configuratorul în modul utilizator. A ieșit așa: Schimbarea ordinii coloanelorDar haideți hai sa schimbam ordinea coloane (săgeți în sus și în jos), astfel încât să arate ca figura de mai jos: Să salvăm raportul și să-l deschidem din nou în modul utilizator: Grozav, e mult mai bine. Să rezumam conținutul de caloriiAr fi bine să rezumăm conținutul caloric al alimentelor pe grupe. Pentru a vedea suma conținutului de calorii al tuturor produselor, să zicem, alb sau galben. Sau aflați conținutul total de calorii al tuturor produselor din baza de date. În acest scop, există un mecanism de calcul al resurselor. Accesați fila " Resurse"și trageți câmpul" Conținut caloric„(vom rezuma) din coloana din stânga la dreapta. În acest caz, în câmp, selectați expresia din lista derulantă " Cantitate (calorii)", deoarece totalul va fi suma tuturor elementelor incluse în total: Salvăm și generăm un raport: Acum avem rezultate pentru fiecare dintre grupuri și pentru raportul în ansamblu. Să rezumam (medie) în termeni de caloriiAcum să-l facem să apară într-o altă coloană medie conținutul caloric al produselor pe grupuri și în raport în ansamblu. Nu puteți atinge coloana „Calorii” existentă - totalul este deja afișat în ea, deci să creăm un alt câmp, care va fi o copie exactă a câmpului „Calorie”. Pentru a crea un astfel de câmp „virtual”, vom folosi mecanismul câmpuri calculate. Accesați fila " Câmpuri calculate" și apăsați verde semnul plus: In coloana " Calea datelor„Noi scriem numele noului câmp ( perfect, fara spatii). Să se numească „ Conținut caloric mediu", iar în coloana " Expresie„Noi scriem numele unui câmp existent pe baza căruia se va calcula noul câmp. Scriem acolo” Conținut caloric„. Coloană” Titlu" va fi completat automat. Am adăugat un câmp nou (" Conținut caloric mediu"), dar nu va apărea în raport de la sine - trebuie să apelați din nou designer de setări("bagheta magică") sau adăugați acest câmp manual. Hai să o facem doilea mod. Pentru a face acest lucru, accesați fila " Setări", selectați " Raport„(la urma urmei, dorim să adăugăm câmpul în întregime la raport), selectați fila din partea de jos” Câmpurile selectate"și trageți câmpul" Conținut caloric mediu„din coloana din stânga la dreapta: A ieșit așa: Salvăm și generăm un raport: Câmpul a apărut și vedem că valorile sale sunt valorile câmpului „Calorie”. Mare! Pentru a face acest lucru, vom folosi din nou mecanismul deja familiar resurse(rezumat). Accesați fila " Resurse"și trageți câmpul" Conținut caloric mediu„din coloana din stânga la dreapta: Mai mult, în coloana „ Expresie"alege" Medie (Medie de calorii)": Salvăm și generăm un raport: Vedem că pentru grupuri, adică pentru fiecare culoare, și pentru raport în ansamblu, valoarea medie a fost calculată absolut corect. Dar ei sunt prezenți intrări suplimentare pentru produse individuale (nu grupuri) pe care aș dori să le elimin din raport. Știți de ce au apărut (valori nu pe grup)? Pentru că atunci când am adăugat câmpul " Conținut caloric mediu„în setările raportului, la pasul doi am selectat întregul raport iar acest câmp nou a ajuns în elementul " Detaliat înregistrări". Să reparăm eroarea. Pentru a face acest lucru, reveniți la fila " Setări", selectați " Intrări detaliate" mai întâi de sus (pasul 2) și apoi " Intrări detaliate„de jos (pasul 3), mergi la marcaj” Selectat câmpuri" și vom vedea în coloana din dreapta elementul " Auto". Elementul " Auto" - acesta nu este un singur câmp. Acestea sunt mai multe câmpuri care se încadrează aici automat pe baza setărilor de nivel superior. Pentru a vedea care sunt aceste câmpuri, faceți clic pe elementul " Auto" corect butonul și selectați " Extinde": Elementul " Auto" extins în următoarele câmpuri: Și aici este domeniul nostru" Conținut caloric mediu"care a venit aici din punct de vedere" Raport" când l-am târât acolo. Doar hai sa scoatem bifați caseta de lângă acest câmp pentru a elimina rezultatul acestuia. CalculateExpression este o funcție ACS destul de dificil de înțeles, iar exemplele de aplicare în informațiile de referință sunt destul de rare. Acest articol discută exemple care vor fi cu siguranță utile oricărui dezvoltator:
1. Obținerea unui indicator pe bază de angajamenteSă obținem cantitatea de bunuri ca total cumulat la nivel de grupare. Pentru a face acest lucru, creați un câmp calculat (vezi Figura 1).În fila „Resurse”, setați funcția pentru câmpul calculat: CalculateExpression(„Suma(CantitateCifra de afaceri)”, „Primul”, „Actual”) care va însuma numărul de produse din prima înregistrare la cea actuală (vezi Figura 2). Dacă cantitatea totală cumulată a unui articol trebuie să fie obținută la nivelul înregistrărilor detaliate, atunci setăm funcția CalculateExpression pentru câmpul calculat în fila „Câmpuri calculate” (vezi Figura 3). În funcție de nivelul de obținere a totalului cumulat, creăm o grupare (vezi Figura 4): la nivel de resurse - grupare pe mărfuri, la nivel de telecomandă - grupare de înregistrări detaliate.
2. Obținerea valorii indicatorului din rândul anteriorSă obținem cursul de schimb pentru data și data anterioară. Pentru a face acest lucru, creați un câmp calculat și scrieți următoarea expresie în câmpul de expresie (vezi Figura 5):CalculateExpression(„Rata”, „Anterior”, „Anterior”) care va lua valoarea anterioară a cursului de schimb pentru rândul curent, ultimul parametru al funcției limitează primirea datelor. Deoarece lucrăm la nivelul înregistrărilor detaliate, mergem imediat la fila „Setări” și creăm o grupare - înregistrări detaliate. 3. Obținerea unui indicator ca total cumulat într-un tabel încrucișatSă obținem cantitatea de bunuri pe bază de angajamente pe perioadă. Pentru a face acest lucru, creați un câmp calculat (vezi Figura 1). În fila „Resurse”, specificăm următoarea expresie pentru câmpul calculat (vezi Figura 6):CalculateExpression(„Suma(CantitateCifra de afaceri)”, „Perioada”, „Primul”, „Actual”) care la nivelul grupării va calcula cantitatea de mărfuri în intervalul de la primul rând până la cel curent în contextul perioadei pentru fiecare articol. În fila „Setări”, creați un tabel cu gruparea după element pe rând și gruparea după perioadă într-o coloană (vezi Figura 7). 4. Ieșirea datelor tabelare într-o singură linieMetodele de afișare a datelor tabelare într-o singură linie, inclusiv metoda care utilizează funcția CalculateExpression, sunt discutate în articol1. Calculați (Evaluare)- are scopul de a evalua o expresie în contextul unei grupări. Funcția este utilizată pentru compatibilitatea cu versiunile anterioare ale platformei. Se recomandă utilizarea funcției CalculateExpression în schimb. Sintaxă: Parametri:
Sintaxă: Parametri:
Obținerea raportului dintre suma pentru câmpul „Vânzări.Sumă Cifra de afaceri” a unei înregistrări de grupare și valoarea aceluiași câmp în întregul aspect: Sum(Vânzări.Suma Cifra de afaceri) / CalculateExpression(„Suma(Vânzări.Suma Cifra de afaceri)”, „Total”). Acest exemplu calculează valoarea ierarhiei curente: Note: 3. Evaluați expresia cu matrice de grup (EvalExpression cu matrice de grup) - funcția returnează un tablou, fiecare element al căruia conține rezultatul calculării unei expresii pentru grupare după câmpul specificat. Sintaxă: Parametri:
Maximum(CalculateExpressionWithGroupArray("Suma(Suma Cifra de afaceri)", "Contraparte"));
4. Calculați expresia cu GroupValueTable (EvalExpressionWithGroupValueTable) - funcţia returnează un tabel de valori, fiecare element conţinând rezultatul calculării unei expresii pentru grupare după câmpul specificat. Sintaxă: Parametri:
CalculateExpressionWithGroupValueTable(„Contul CA contraparte, Suma(Suma Cifra de afaceri) AS SalesVolume”, „Contul”) Rezultatul acestei funcții va fi un tabel de valori cu coloanele Contraparte și Volum vânzări, care va conține contrapartidele cu volumele lor de vânzări. 5. Nivel - funcția este concepută pentru a obține nivelul curent de înregistrare. Sintaxă: Exemplu: 6. SequenceNumber - obțineți următorul număr de serie. Sintaxă: Exemplu: 7. SequenceNumberInGrouping - returnează următorul număr de secvență din gruparea curentă. Exemplu: 8. Format - obțineți un șir formatat al valorii transmise. Sintaxă: Parametri:
Format(Facturi. Sumă document, „NPV=2”) 9. BeginOfPeriod Sintaxă: Parametri:
StartPeriod(DateTime(2002, 10, 12, 10, 15, 34), „Month”) Rezultat: 10/01/2002 0:00:00 10. EndOfPeriod - funcția este concepută pentru a selecta o anumită dată dintr-o dată dată. Sintaxă: Parametri:
EndPeriod(DateTime(2002, 10, 12, 10, 15, 34), „Săptămâna”) Rezultat: 13.10.2002 23:59:59 11. AddKDate (DateAdd) - funcția este concepută pentru a adăuga o anumită valoare datei. Sintaxă: Parametri:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), „Lună”, 1) Rezultat: 12.11.2002 10:15:34 12.DataDiferenta - funcția este concepută pentru a obține diferența dintre două date. Sintaxă: Parametri:
DATEDIFERENCE(DATETIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), „DAY”) Rezultat: 2 13. Subșir - această funcție este concepută pentru a extrage un subșir dintr-un șir. Sintaxă: Parametri:
SUBSTRING(Conturi.Adresă, 1, 4) 14. StringLength - funcția este concepută pentru a determina lungimea unui șir. Sintaxă: Parametru:
Linie(Contrapărți.Adresă) 15. Anul- această funcție este concepută pentru a extrage anul dintr-o valoare de tip Date. Sintaxă: Parametru:
AN (Cheltuieli.Data) 16. Sfert - această funcție este concepută pentru a extrage numărul trimestrului dintr-o valoare de tip Date. Numărul sfertului variază în mod normal de la 1 la 4. Sintaxă: Parametru:
QUARTER(Cheltuieli.Data) 17. Luna - această funcție este concepută pentru a extrage numărul lunii dintr-o valoare de tip Date. Numărul lunii variază în mod normal de la 1 la 12. Sintaxă: Parametru:
MONTH(Cheltuială.Data) 18. Ziua anului (DayOfYear) - această funcție este concepută pentru a obține ziua anului dintr-o valoare de tip Date. Ziua anului variază în mod normal între 1 și 365 (366). Sintaxă: Parametru:
DAYYEAR(ExpenseAccount.Date) 19. Ziua- această funcție este concepută pentru a obține ziua lunii dintr-o valoare de tip Date. Ziua lunii variază în mod normal între 1 și 31. Sintaxă: Parametru:
ZI (Cheltuieli.Data) 20. Săptămâna - această funcție este concepută pentru a obține numărul săptămânii din an dintr-o valoare de tip Date. Săptămânile anului sunt numerotate începând de la 1. Sintaxă: Parametru:
SĂPTĂMÂNĂ(Cheltuieli.Data) 21. Ziua săptămânii - această funcție este concepută pentru a obține ziua săptămânii dintr-o valoare de tip Date. Ziua normală a săptămânii variază de la 1 (luni) la 7 (duminică). Sintaxă: Parametru:
ZIUA SĂPTĂMÂNII (Cheltuieli.Data) 22. Ora- această funcție este concepută pentru a obține ora din zi dintr-o valoare de tip Date. Ora zilei variază de la 0 la 23. Sintaxă: Parametru:
HOUR(Cheltuială.Data) 23. Minutul - această funcție este concepută pentru a obține minutul orei dintr-o valoare de tip Date. Minutul orei variază de la 0 la 59. Sintaxă: Parametru:
MINUT(Cheltuieli.Data) 24. În al doilea rând - această funcție este concepută pentru a obține secunda dintr-un minut dintr-o valoare de tip Date. Secunda dintr-un minut variază de la 0 la 59. Sintaxă: Parametru:
SECOND(Cheltuieli.Data) 25. Turnat - această funcție este concepută pentru a extrage un tip dintr-o expresie care poate conține un tip compus. Dacă expresia conține un alt tip decât cel cerut, va fi returnat NULL. Sintaxă: Parametri:
Express(Data.Props1, „Număr(10,3)”) 26. IsNull (IsNull) - această funcție returnează valoarea celui de-al doilea parametru dacă valoarea primului parametru este NULL. În caz contrar, va fi returnată valoarea primului parametru. Sintaxă: Parametri:
YesNULL(Suma(Vânzări.Sumă Cifra de afaceri), 0) 27.ACos- calculează arc cosinus în radiani. Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametri:
Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametru:
Sintaxă: Parametri:
Sintaxă: Parametru:
O expresie de motor de compoziție de date poate conține apeluri la funcții ale modulelor de configurare comune globale. Nu este necesară nicio sintaxă suplimentară pentru a apela astfel de funcții. Exemplu: În acest exemplu, funcția „AbreviatedName” va fi apelată din modulul de configurare generală. 41. Resentiment - această funcție returnează o reprezentare șir a valorii transmise a unui tip non-primitiv. Pentru valorile de tip primitiv, returnează valoarea în sine. <Пустое значение>". Exemplu: 42. Snur - această funcție convertește valoarea transmisă într-un șir. Dacă o matrice sau un tabel de valori este folosit ca parametru, funcția returnează un șir care conține o reprezentare șir a tuturor elementelor matricei, separate prin caracterele „;”. Dacă orice element are o reprezentare șir goală, atunci șirul "<Пустое значение>". Exemplu: 43. ValueIsFilled Pentru valorile NULL, Undefined returnează întotdeauna False. Exemplu: 44. LevelInGroup - această funcție obține nivelul curent de înregistrare în raport cu gruparea. Poate fi folosit pentru a obține nivelul de imbricare al unei înregistrări într-o grupare ierarhică. Exemplu: 45. ValueType Sintaxă: Parametru:
|
Popular:
Nou
- Opțiuni „Peste tot acasă” și „Peste tot acasă, Rusia” MTS - descriere, cost, cum să vă conectați
- Cum să recuperați sau să resetați o parolă de utilizator Windows
- Cum să eliminați complet Programul Avast pentru a elimina Avast
- Aplicație mobilă Aliexpress
- Dispunerea tastaturii QWERTY și AZERTY Versiuni speciale ale tastaturii Dvorak
- Insula Sao Vicente Insula Sao Vicente
- Regulile pe care le încălcăm Este în regulă să-ți pui coatele pe masă?
- Care unități flash USB sunt cele mai fiabile și mai rapide?
- Conectarea unui laptop la un televizor prin cablu USB pentru conectarea unui laptop la un televizor VGA
- Schimbarea interfeței Steam - de la imagini simple la întreaga prezentare pe ecran Design nou steam