Gjuha e shprehjes së sistemit të përbërjes së të dhënave (1Cv8). Funksionet e gjuhës shprehëse të sistemit të përbërjes së të dhënave 1s SKD llogaritur fushat e funksioneve

CalculateExpressionështë një funksion mjaft i vështirë ACS për t'u kuptuar, dhe shembujt e aplikimit në informacionin e referencës janë mjaft të pakta. Ky artikull diskuton shembuj që me siguri do të jenë të dobishëm për çdo zhvillues:

  1. totali kumulativ në grupim;
  2. totali kumulativ në një skedë tërthore;
  3. marrja e vlerës së mëparshme;
  4. Prodhimi PM në një linjë.

1. Marrja e një treguesi në bazë akruale

Le të marrim sasinë e mallrave si një total kumulativ në nivel grupimi. Për ta bërë këtë, krijoni një fushë të llogaritur (shih Figurën 1).
Në skedën "Burimet", vendosni funksionin për fushën e llogaritur:
CalculateExpression("Suma(Quajtja e sasisë)", "First", "Current")
i cili do të përmbledhë numrin e produkteve nga rekordi i parë në atë aktual (shih Figurën 2).

Nëse sasia totale kumulative e një artikulli duhet të merret në nivelin e regjistrimeve të detajuara, atëherë ne vendosim funksionin CalculateExpression për fushën e llogaritur në skedën "Fushat e llogaritura" (shih Figurën 3).
Në varësi të nivelit të marrjes së totalit kumulativ, ne krijojmë një grupim (shih Figurën 4): në nivelin e burimeve - grupimi sipas mallrave, në nivelin e telekomandimit - grupimi i të dhënave të detajuara.
Figura 4. Raportoni grupimet me totale kumulative

2. Marrja e vlerës së treguesit nga rreshti i mëparshëm

Le të marrim kursin e këmbimit për datën dhe datën e mëparshme. Për ta bërë këtë, krijoni një fushë të llogaritur dhe shkruani shprehjen e mëposhtme në fushën e shprehjes (shih Figurën 5):
CalculateExpression ("Rritja", "Previous", "Previous")
e cila do të marrë vlerën e mëparshme të kursit të këmbimit për rreshtin aktual, parametri i fundit i funksionit kufizon marrjen e të dhënave.
Meqenëse po punojmë në nivelin e regjistrimeve të detajuara, menjëherë shkojmë te skedari "Cilësimet" dhe krijojmë një grupim - regjistrime të detajuara.

3. Marrja e një treguesi si një total kumulativ në një skedë të kryqëzuar

Le të marrim sasinë e mallrave në bazë akruale sipas periudhës. Për ta bërë këtë, krijoni një fushë të llogaritur (shih Figurën 1). Në skedën "Burimet", ne specifikojmë shprehjen e mëposhtme për fushën e llogaritur (shih Figurën 6):
CalculateExpression("Suma(SasiaTurnover)", "Periudha", "I pari", "Aktual")
i cili në nivel grupimi do të llogarisë sasinë e mallrave në intervalin nga rreshti i parë në atë aktual në kuadër të periudhës për çdo artikull.
Në skedën "Cilësimet", krijoni një tabelë me grupim sipas artikullit në një rresht dhe grupim sipas pikës në një kolonë (shih Figurën 7).

4. Dalja e të dhënave tabelare në një rresht

Metodat për shfaqjen e të dhënave tabelare në një rresht, duke përfshirë metodën duke përdorur funksionin CalculateExpression, diskutohen në artikull

Diagrami i paraqitjes së të dhënave (1C SKD)- një projektues i përshtatshëm për krijimin e raporteve komplekse në produktet softuerike 1C: Enterprise që kontribuojnë në zhvillimin dhe gjurmimin e automatizimit të prodhimit, duke i lejuar ato të bëhen sa më fleksibël dhe të bukur në një kohë minimale. Një avantazh shtesë i Skemës së Përbërjes së të Dhënave (1C SKD) është gjenerimi automatik i një formulari raporti të kontrolluar, dhe me zhvillimin e mëtejshëm të kësaj fushe, është një faktor i rëndësishëm kur zgjedh një metodë për zhvillimin e një raporti. Por për shkak të kompleksitetit të strukturës së Skemës së Përbërjes së të Dhënave (1C SKD) dhe numrit të madh të cilësimeve, shpesh çon në zhvillim më të gjatë të raportit sesa përmes "projektuesit të formularit të daljes". Prandaj, një programues 1C duhet të kuptojë të gjitha ndërlikimet e Skemës së Përbërjes së të Dhënave (1C DCS) në mënyrë që të përshpejtojë më tej kohën e zhvillimit për gjenerimin e raporteve.

Le të shohim tre skedat e para të Skemës së Përbërjes së të Dhënave (1C SKD) - grupi i të dhënave, lidhjet e grupit të të dhënave dhe fushat e llogaritura.

Të dhënat e vendosura në 1C SKD

Grupi i të dhënave përfshin aftësinë për të krijuar tre objekte - një pyetje, një objekt dhe një bashkim, le të hedhim një vështrim më të afërt në secilën prej tyre:

Ky është një pyetje e rregullt që krijohet duke përdorur butonin Query Builder. Nëse është vendosur flamuri Autofill, atëherë të gjitha detajet e zgjedhura do të përfshihen automatikisht në fushat e grupit të të dhënave. Është gjithashtu e mundur të personalizohet plotësimi i fushave në kërkesë në skedën Përbërja e të dhënave, ku ka tre skeda:

Tabelat, këtu zgjidhen tabelat që do të marrin pjesë në gjenerimin e raportit, zakonisht zgjidhen të dhënat e paracaktuara, pasi në skedën Tabelat dhe Fushat tashmë kemi përzgjedhur dokumentet, drejtoritë, regjistrat që na duhen...

Fushat, këtu zgjedhim ato objekte që duhet të përfshihen në raport, flamuri i fëmijëve tregon nëse do të ketë elementë fëmijë të aksesueshëm për objektin apo jo, është logjike që për vargun, të dhënat numerike dhe të ngjashme nuk do të jetë e mundur të vendoset flamuri të vërtetë.

Kushtet, këtu zgjedhim ato objekte që mund të përdoren në kushte në sistemin e kontrollit të aksesit.

Një pjesë e punës është bërë në skemën e përbërjes së të dhënave, dhe një pjesë e saj është bërë në mënyrë programore; le të shohim një shembull të thjeshtë:

Së pari, ne do të krijojmë një diagram të paraqitjes për paraqitjen e të dhënave të dokumentit dhe do ta quajmë atë SKD (për shembull: 1C SKD), në të krijojmë një objekt të grupit të të dhënave, pastaj plotësojmë fushat, për shembull, kemi një dokument me një pjesë tabelare të mallit me detaje - nomenklaturë, sasi dhe çmim.

Le të shtojmë tre fusha dhe të plotësojmë secilën kolonë me emrin e detajeve, kolonat e mbetura do të plotësohen automatikisht:

Le të krijojmë një buton në formularin e dokumentit dhe të përshkruajmë mekanizmin e funksionimit në forma të kontrolluara:

&OnClient

Printimi i procedurës()

OurReport = PrintOnServer(); //thirrni funksionin në server

Raporti ynë.Tregoni(); //shfaq raportin e krijuar

Fundi i procedurës

&Në server

Funksioni PrintOnServer()

DocumentObject = FormAttributeValue(“Objekt”);

//ne vendosim pjesën tabelare Products në një strukturë me emrin ProductsSKD në të njëjtën mënyrë siç kemi treguar në vetë SKD emrin e objektit që përmban të dhënat

DataSet = Struktura e re;

DataSet.Insert(“ProductsSKD”, DocumentObject.Products);

//ne marrim paraqitjen tonë dhe vendosim cilësimet e paracaktuara në mënyrë që të gjitha cilësimet e daljes së raportit të merren nga paraqitja jonë

OurLayout = DocumentObject.GetLayout(“SKD”);

Settings = OurLayout.DefaultSettings;

//krijoni një plan urbanistik të të dhënave me cilësimet tona

LayoutLinker = newDataLayoutLayoutLinker;

LayoutLayout = LayoutComposer.Execute(OurLayout, Settings);

//kryeni përbërjen e të dhënave me grupin tonë të të dhënave

DataCompositionProcessor = newDataCompositionProcessor;

DataCompositionProcessor.Initialize(LayoutLayout, DataSet);

//Ne krijojmë një dokument spreadsheet dhe shfaqim raportin tonë në të

ReportDocument = TabularDocument i ri;

OutputProcessor = Processor i ri OutputProcessorDataCompositionResultInTabularDocument;

OutputProcessor.SetDocument(ReportDocument);

OutputProcessor.Output(DataCompositionProcessor);

Raporti i Dokumentit të Kthimit;

Funksioni i Fundit

Nëse dëshironi, mund të merrni zona të çdo paraqitjeje tjetër dhe gjithashtu t'i shfaqni ato në këtë raport, për shembull, ne kemi një plan urbanistik standard për gjenerimin e një urdhërpagese dhe titulli është krijuar shumë mirë në të, atëherë, në mënyrë që të mos bëni punë e panevojshme, së pari do të marrim paraqitjen, do të shfaqim kokën, më pas do të gjenerojmë dhe shfaqim raportin tonë në sistemin e kontrollit të hyrjes.

RRETH unifikimin

Ne mund të vendosim pyetjet dhe objektet tona në të, por ndryshe nga një lidhje, ajo thjesht shton tabela me njëra-tjetrën, domethënë nëse lidhim dy tabela identike, do të përfundojmë me një, dhe kur kombinohet, do të dyfishohet, le të shohim në një shembull të thjeshtë:

Kemi tabela:

Pas komunikimit do të marrim:

Dhe kur kombinohen:

Le të shohim tani plotësimin e kolonave në grupet e të dhënave (do të kapërcejmë disa, pasi ato lidhen me skeda të tjera; do t'u kthehemi atyre në artikujt e ardhshëm):

- fushë, tregoni emrin e përgjithshëm të atributit;

­­- rrugë, tregoni emrin e detajeve me të cilat do ta kontaktojmë në sistemin e kontrollit të hyrjes, për shembull, në Fushat e llogaritura;

- titullin, tregoni emrin e atributit që do të shfaqet në raport;

- kufizimi i fushës, tregoni disponueshmërinë e këtij kushti;

- kufizim i detajeve, ne tregojmë disponueshmërinë e elementeve të fëmijëve, është e rëndësishme që nëse tregohet disponueshmëria e detajeve, atëherë vetë fusha do të jetë e disponueshme, ndoshta kjo mekanikë do të ndryshohet në botimet e ardhshme;

- shprehja me të cilën llogaritet paraqitja e fushës, është i përshtatshëm për t'u përdorur kur duhet të ndryshojmë pak daljen e detajeve, për shembull, na duhet pas emrit nomenklaturë u shfaq aksioneve, ku ndodhet, më pas plotësoni: Artikull + “është në magazinë” + Magazinë. E përsëris që qasja në detaje kryhet përmes emrit të treguar në kolonë rrugë;

- renditja e shprehjes, një mekanizëm i përshtatshëm për vendosjen e renditjes së raporteve, ku kushti mund të vendoset manualisht, ngjashëm me pikën e mëparshme, por siç tregon praktika, ky mekanizëm shpesh nuk funksionon siç do të donim, dhe ju këshilloj të përdorni renditjen standarde;

- lloji i vlerës, tregon llojin e vlerës së atributit; kjo duhet të plotësohet nëse përdorni fushën e mëposhtme;

- vlerat e disponueshme, funksionon vetëm kur është plot lloji i vlerës, hapni formularin dhe në kolonë Kuptimi tregojmë elementin që duhet ndryshuar, sipas llojit, mund të jetë objekte të paracaktuara ose numerike, për shembull, detajet kanë vlera të thjeshta, në prezantimi Ne tregojmë se në çfarë duhet të ndryshojmë, një shembull i një lloji Boolean:

- dekor– Cilësimet standarde të formatit të fushës, të ngjashme me cilësimet në format e menaxhuara, ju lejojnë të personalizoni më saktë dhe më bukur daljen e detajeve të caktuara.

Lidhjet e grupit të të dhënave në 1C SKD

Këtu është instaluar vetëm majtas bashkohu, në një parim të ngjashëm me lidhjet në kërkesa, në burimi i komunikimit specifikoni tabelën kryesore për lidhjen, në marrës shtesë. NË burimi i shprehjes Dhe marrës shprehjeje Ne tregojmë detajet me të cilat do të bëhet komunikimi. Ne do t'i shikojmë kolonat e mbetura në më shumë detaje kur të shohim skedën. Opsione. Nëse nuk ka lidhje shtesë me parametrat, atëherë rekomandohet të bëni lidhjen në kërkesë, kjo do të shpejtojë raportin.

Përdorimi i duhur i një skeme të përbërjes së të dhënave (DCS) ju lejon të:

  • të zvogëlojë ndjeshëm kohën e nevojshme për të zhvilluar një raport;
  • eliminoni nevojën për të krijuar një mbajtës të formës së menaxhuar;
  • merrni një rezultat të bukur me mundësinë e personalizimit shtesë nga përdoruesi.

Por jo të gjithë zhvilluesit shfrytëzojnë maksimalisht aftësitë e skemës, pasi jo të gjitha cilësimet e saj janë të dukshme dhe intuitive. Në veçanti, shumë njerëz e dinë se në 1C SKD ka fusha të llogaritura, megjithatë, ata nuk e kuptojnë plotësisht fushën e përdorimit të tyre dhe metodat e punës me to.

Çfarë është një fushë e llogaritur

Në shumicën e rasteve, burimi i të dhënave në diagramin e paraqitjes është një pyetje. Në parim, brenda vetë pyetjes tashmë mund të përdorni formula, ndërtime dhe shprehje të ndryshme. Shtrohet një pyetje e natyrshme: pse na nevojitet funksionaliteti i kopjuar?

Fakti është se sistemi i kontrollit të aksesit është diçka më shumë sesa thjesht shfaqja e rezultatit të një pyetjeje, dhe kjo duket qartë nga forma e krijimit të diagramit (Fig. 1).

Fushat e llogaritura ju lejojnë të kryeni veprime të caktuara me grupin e të dhënave të krijuara:

  • Nxjerr një grup të dhënash të marra nga një kërkesë në një qelizë specifike, duke kombinuar disa rreshta në një;
  • Qasja në funksionet e eksportit të modulit të përgjithshëm;
  • Ekzekutoni shprehjet e ndryshme të disponueshme për gjuhën e paraqitjes dhe përdorni funksionet speciale EvaluateExpression.

Le të kalojmë nëpër këtë listë.

Grup vlerash në një qelizë

Le të simulojmë një situatë ku është e nevojshme të merrni të gjithë numrat e dokumentit të marrjes për një palë në një qelizë të veçantë:


Kështu, ne kemi krijuar një fushë llogaritëse shtesë në skemën tonë;


Siç mund ta shihni nga shembulli i mësipërm, nuk ka vështirësi në shtimin dhe përpunimin e fushave të llogaritura. Ne përdorëm dy funksione: Array() dhe ConnectRows().

Disa fjalë për këtë të fundit. Përveç parametrit të parë që tregon identifikuesin e grupit, vlerave ose vlerës, dy të tjera mund të vendosen në të:

  1. Ndarësi i elementeve - tregon se cili karakter do të ndajë një element të grupit ose një rresht të tabelës së vlerave nga një tjetër (në rastin tonë, ne e hoqëm këtë parametër dhe një ndërprerje rreshti u caktua si parazgjedhje);
  2. Ndarësi i kolonave - një karakter që përdoret për të ndarë kolonat e një tabele vlerash (pikëpresje përdoret si parazgjedhje).

Qasja në funksionet e eksportit të një moduli të përbashkët

Funksionet e një moduli të përbashkët mund të veprojnë si një burim të dhënash për plotësimin e një fushe të llogaritur.

Disa pika të rëndësishme:

  • Funksioni duhet të jetë i eksportueshëm;
  • Nëse një funksion ndodhet në një modul të përbashkët me grupin e atributeve "Global", ai thirret drejtpërdrejt me emër, përndryshe funksioni duhet të thirret sipas skemës "Emri i modulit të përbashkët". "Emri i funksionit që do të thirret."

Si shembull përdorimi, ne do të marrim të njëjtën kërkesë për dokumentet e marrjes dhe do ta shfaqim atë në një kolonë të veçantë. Ne nuk do ta përshkruajmë vetë kërkesën; le të kalojmë drejtpërdrejt në fushat e llogaritura:


Kështu, shohim se pothuajse çdo procesor i të dhënave mund të inicializohet nga sistemi i kontrollit të aksesit, gjë që zgjeron ndjeshëm mundësitë e përdorimit të skemës.

Paraqitja e shprehjeve gjuhësore

Shumë shpesh në punën e një zhvilluesi lind një situatë kur është e nevojshme të shfaqet rezultati i ndarjes në fushën ACS:

  1. Llogaritni koston mesatare të artikullit;
  2. Të gjitha llojet e interesave;
  3. Llogaritjet e fitimeve mesatare, etj.

Për të shmangur problemet, në këto raste këshillohet që në fushën e llogaritur të futet një test për pjesëtimin me 0.

Kjo mund të bëhet duke përdorur konstruksionin “Zgjedhja kur….Pastaj… Ndryshe… Fund”.

Në fund, disa fjalë për funksionin mjaft të ri CalculateExpression(). Me ndihmën e tij, në veçanti, ju mund të llogaritni devijimet në kosto midis linjave aktuale dhe të mëparshme, bilancit kumulativ, etj.

Le të themi se mund të merrni shumën e dokumentit nga rreshti i mëparshëm i kërkesës sonë duke specifikuar vlerën Llogaritni shprehjen ("Shuma e dokumentit", "Shuma e mëparshme") në fushën "Shprehje".

1. Llogarit (Eval)- synon të vlerësojë një shprehje në kontekstin e disa grupimeve. Funksioni përdoret për përputhshmëri me versionet e mëparshme të platformës. Në vend të kësaj, rekomandohet të përdorni funksionin CalculateExpression.

Sintaksë:
Llogaritja (shprehja, grupimi, lloji i llogaritjes)

Opsione :

  • Shprehje(Linjë). Përmban një shprehje të llogaritur;
  • Grupimi(Linjë). Përmban emrin e grupimit në kontekstin e të cilit duhet të vlerësohet shprehja. Nëse një varg bosh përdoret si emër grupimi, llogaritja do të kryhet në kontekstin e grupimit aktual. Nëse vargu GrandTotal përdoret si emër i grupit, llogaritja do të kryhet në kontekstin e totalit të përgjithshëm. Përndryshe, llogaritja do të kryhet në kontekstin e grupit mëmë me të njëjtin emër.
    Për shembull:
    Shuma (Sales.SumTurnover) / Llogarit ("Sum(Sales.SumTurnover)", "Total").
    Në këtë shembull, rezultati do të jetë raporti i shumës për fushën "Sales.AmountTurnover" të rekordit të grupimit me shumën e së njëjtës fushë në të gjithë paraqitjen.
  • Lloji i llogaritjes(Linjë). Nëse ky parametër vendoset në "TotalTotal", shprehja do të llogaritet për të gjitha regjistrimet e grupimit. Nëse vlera e parametrit është "Grupimi", vlerat do të llogariten për rekordin aktual të grupit të grupit.
2. Vlerësimi i shprehjes (EvalExpression) - synon të vlerësojë një shprehje në kontekstin e disa grupimeve. Funksioni merr parasysh përzgjedhjen e grupimeve, por nuk merr parasysh zgjedhjet hierarkike. Funksioni nuk mund të zbatohet për një grupim në përzgjedhjen e grupit të atij grupimi.

Sintaksë:
CalculateExpression (Shprehja, Grupimi, Lloji i Llogaritjes, Fillimi, Fundi, Renditja, Renditja Hierarkike, Përpunimi i Vlerave të RenditjesIdentike)

Opsione :

  • Shprehje(Linjë). Përmban një shprehje të llogaritur;
  • Grupimi(Linjë). Përmban emrin e grupimit në kontekstin e të cilit duhet të vlerësohet shprehja. Nëse një varg bosh përdoret si emër grupimi, llogaritja do të kryhet në kontekstin e grupimit aktual. Nëse vargu GrandTotal përdoret si emër i grupit, llogaritja do të kryhet në kontekstin e totalit të përgjithshëm. Përndryshe, llogaritja do të kryhet në kontekstin e grupimit mëmë me atë emër;
  • Lloji i llogaritjes(Linjë). Nëse ky parametër vendoset në "TotalTotal", shprehja do të llogaritet për të gjitha regjistrimet e grupimit. Nëse vlera e parametrit është "Grupimi", vlerat do të llogariten për rekordin aktual të grupit të grupit. Nëse parametri është vendosur në "Grupimi jo i burimeve", atëherë kur llogaritet funksioni për një regjistrim grupor sipas burimit, shprehja do të vlerësohet për regjistrimin e grupit të parë të grupimit origjinal. Kur vlerësohet funksioni CalculateExpression me vlerën "GroupingNonResource" për regjistrimet e grupit që nuk janë grupime sipas burimeve, funksioni vlerësohet në të njëjtën mënyrë siç do të vlerësohej me vlerën e parametrit "Grouping". Ndërtuesi i paraqitjes së përbërjes së të dhënave, kur gjeneron një paraqitje të përbërjes së të dhënave kur nxjerr një fushë - një burim me të cilin kryhet grupimi, në paraqitje, nxjerr në paraqitje një shprehje të llogaritur duke përdorur funksionin CalculateExpression me parametrin e specifikuar "GroupingNon-Resource". Për burimet e tjera të grupuara sipas burimeve, shprehjet normale të burimeve kthehen. Nëse parametri vendoset në "Hierarki", atëherë shprehja duhet të vlerësohet për regjistrimin hierarkik prind, nëse ka një të tillë, dhe për të gjithë grupimin, nëse nuk ka rekord hierarkik prind. Ndërtuesi i faqosjes, kur gjeneron një shprehje për % në fushën e Grupit të Hierarkisë, gjeneron një shprehje që përmban lidhjen e shprehjes së burimit me funksionin CalculateExpression për shprehjen e burimit që llogaritet për grupimin aktual me llojin e llogaritjes Hierarki.
  • Filloni. Tregon se nga cili regjistrim duhet të fillojë fragmenti, në të cilin duhet të llogariten funksionet e shprehjes agregate dhe nga cili rekord të merren vlerat e fushës jashtë funksioneve agregate. Një varg që përmban një nga:
    • "e para" Është e nevojshme të merret rekordi i parë i grupimit. Pas fjalës në kllapa, mund të specifikoni një shprehje, rezultati i së cilës do të përdoret si kompensim që nga fillimi i grupimit. Vlera që rezulton duhet të jetë një numër i plotë më i madh se zero. Për shembull, First(3) – marrja e rekordit të tretë nga fillimi i grupimit. Nëse rekordi i parë është jashtë grupimit, atëherë konsiderohet se nuk ka regjistrime. Për shembull, nëse ka 3 regjistrime, dhe ju dëshironi të merrni First(4), atëherë konsiderohet se nuk ka të dhëna.
    • "E fundit" Ju duhet të merrni rekordin e fundit të grupimit. Pas fjalës në kllapa, mund të specifikoni një shprehje, rezultati i së cilës do të përdoret si një kompensim nga fundi i grupimit. Vlera që rezulton duhet të jetë një numër i plotë më i madh se zero. Për shembull, Last(3) – marrja e rekordit të tretë nga fundi i grupit. Nëse rekordi i fundit është jashtë grupimit, atëherë konsiderohet se nuk ka të dhëna. Për shembull, nëse ka 3 regjistrime, dhe ju dëshironi të merrni Last(4), atëherë konsiderohet se nuk ka regjistrime.
    • "E mëparshme" Ju duhet të merrni rekordin e mëparshëm të grupimit. Pas fjalës në kllapa, mund të specifikoni një shprehje, rezultati i së cilës do të përdoret si një zhvendosje nga rekordi aktual i grupimit. Për shembull, Previous(2) – duke marrë të mëparshmen nga rekordi i mëparshëm. Nëse rekordi i mëparshëm është jashtë grupimit (për shembull, rekordi i dytë i grupimit kërkon marrjen e Previous(3)), atëherë merret rekordi i parë i grupimit. Kur merrni rekordin e mëparshëm për totalin e grupimit, fitohet rekordi i parë.
    • "Tjetër" Ju duhet të merrni rekordin tjetër të grupimit. Pas fjalës në kllapa, mund të specifikoni një shprehje, rezultati i së cilës do të përdoret si një zhvendosje përpara nga hyrja aktuale e grupimit. Për shembull, Next(2) – marrja e radhës nga rekordi tjetër. Nëse rekordi i radhës shkon përtej grupimit, atëherë konsiderohet se nuk ka regjistrime. Për shembull, nëse ka 3 hyrje dhe hyrja e tretë merr Next, atëherë konsiderohet se nuk ka hyrje. Kur merret rekordi i radhës për totalin e grupimit, konsiderohet se nuk ka regjistrim.
    • "Aktuale". Ju duhet të merrni rekordin aktual. Kur merret për një total grupimi, merret rekordi i parë.
    • "Vlera kufitare". Nevoja për të marrë një rekord me vlerën e specifikuar. Pas fjalës LimitingValue në kllapa, duhet të tregoni shprehjen me vlerën e së cilës dëshironi të filloni fragmentin, fushën e parë të renditjes. Rekordi i parë vlera e fushës së renditjes së të cilit është më e madhe ose e barabartë me vlerën e specifikuar do të kthehet si rekord. Për shembull, nëse fusha Periudha përdoret si fushë e renditjes dhe ka vlerat 01/01/2010, 02/01/2010, 03/01/2010 dhe dëshironi të merrni LimitingValue(DateTime(2010 , 1, 15)), atëherë do të merret një procesverbal me datën 02/01. 2010.
  • fund. Tregon në cilin regjistrim duhet të vazhdohet fragmenti, në të cilin duhet të llogaritet shprehja e përgjithshme. Një varg që përmban një nga:
    • "e para"
    • "E fundit"
    • "E mëparshme"
    • "Tjetër"
    • "Aktuale".
    • "Vlera kufitare".
  • Renditja. Një varg që rendit shprehjet, të ndara me presje, në drejtimin e të cilave duhet të renditet sekuenca. Nëse nuk specifikohet, atëherë renditja kryhet në të njëjtën mënyrë si për grupimin për të cilin vlerësohet shprehja. Pas çdo shprehjeje, mund të specifikoni fjalën kyçe Ascending, për renditje në rend rritës, Descending, për renditje në rend zbritës, Auto-Ordering, për renditjen e fushave të referencës sipas fushave me të cilat dëshironi të renditni objektin që referohet. Fjala Auto Order mund të përdoret si me fjalën Ascending ashtu edhe me fjalën Descending.
  • Renditja hierarkike. Ngjashëm me renditjen. Përdoret për të organizuar të dhënat hierarkike. Nëse nuk specifikohet, kompozitori i paraqitjes gjeneron renditjen sipas renditjes së specifikuar në parametrin Sort.
  • Përpunimi i të njëjtave vlera të porosisë. Një varg që përmban një nga:
    • "Së bashku" do të thotë se një sekuencë regjistrimesh të renditura përdoret për të përcaktuar regjistrimet e mëparshme dhe të ardhshme;
    • "Në mënyrë të veçantë" do të thotë që të dhënat e mëparshme dhe të ardhshme përcaktohen në bazë të vlerave të shprehjeve të renditjes;
    Për shembull, nëse sekuenca që rezulton renditet sipas datës:
    1. 01 janar 2001 Ivanov M. 10
    2. 02 janar 2001 Petrov S. 20
    3. 02 janar 2001 Sidorov R. 30
    4. 03 janar 2001 Petrov S. 40
    Kur përdorni përpunimin e vlerave identike të rendit "Veç veç", ai i mëparshmi për rekordin 3 do të jetë rekordi 2, dhe kur përdorni "Së bashku" - rekordi 1. Dhe fragmenti për rekordin aktual për rekordin 2 për "Veç veç" do të jetë rekordi 2, dhe për "Together" - regjistrimet 2 dhe 3. Kështu, totali për rekordin aktual për "Veç veç" do të jetë 20, dhe për "Së bashku" - 50. Kur "Together" është specifikuar në Start dhe Parametrat e përfundimit, nuk mund të specifikoni një zhvendosje për pozicionet "E para", "E fundit", "E mëparshme", "Tjetër". Vlera e paracaktuar është "Ndarë".
Shembull:
Marrja e raportit të shumës për fushën "Sales.AmountTurnover" të një rekordi grupimi me shumën e së njëjtës fushë në të gjithë paraqitjen:
Shuma(Sales.SumTurnover) / CalculateExpression("Sum(Sales.SumTurnover)", "Total").

Ky shembull llogarit vlerën e hierarkisë aktuale:
Zgjedhja
Kur Niveli () > 0
Pastaj EvaluateExpression ("Referenca", "Hierarkia")
Përndryshe Null
fund

Shënime:
Funksioni merr parasysh përzgjedhjen e grupimeve, por nuk merr parasysh zgjedhjet hierarkike. Funksioni nuk mund të zbatohet për një grupim në përzgjedhjen e grupit të atij grupimi. Për shembull, në zgjedhjen e grupimit të Nomenklaturës, nuk mund të përdorni shprehjen CalculateExpression("Sum(SumTurnover)", "TotalTotal") > 1000 . Por një shprehje e tillë mund të përdoret në përzgjedhjen hierarkike. Nëse rekordi i fundit i paraprin regjistrimit të fillimit, atëherë konsiderohet se nuk ka të dhëna për llogaritjen e të dhënave të detajuara dhe llogaritjen e funksioneve agregate. Kur llogaritni shprehjet e intervalit për një total total (parametri i grupimit është vendosur në "GrossTotal"), supozohet se nuk ka të dhëna për llogaritjen e të dhënave të detajuara dhe llogaritjen e funksioneve të përgjithshme. Kur gjeneron një shprehje për funksionin CalculateExpression, kompozitori i paraqitjes, nëse shprehja e renditjes përmban fusha që nuk mund të përdoren në grupim, zëvendëson funksionin CalculateExpression me NULL.

3. Vlerësimi i shprehjes me grup grupi (EvalExpression me grup grupi) - funksioni kthen një grup, secili element i të cilit përmban rezultatin e llogaritjes së një shprehjeje për grupim sipas fushës së specifikuar.

Sintaksë:
CalculateExpressionWithGroupArray (shprehje, shprehje në fushë grupi, SelectRecords, SelectGroups)

Opsione :

  • Shprehje(String) - shprehja që do të vlerësohet. Për shembull, "Shuma(ShumaTurnover)";
  • FieldExpressionsGroups
  • Përzgjedhja e Rekordeve
  • Përzgjedhja e grupimeve- përzgjedhja e aplikuar për të dhënat e grupit. Për shembull: "Shuma (Shuma e qarkullimit) > &Parameter1".
Shembull:
Maksimumi(CalculateExpressionWithGroupArray("Shuma(ShumaTurnover)", "Kontraparta"));


Ndërtuesi i paraqitjes, kur gjeneron shprehje për të shfaqur një fushë të personalizuar, shprehja e së cilës përmban vetëm funksionin CalculateArrayWithGroup, gjeneron shprehjen dalëse në atë mënyrë që të dhënat e shfaqjes dhe të dhënat të renditen.
Për shembull, për një fushë të personalizuar me shprehjen:
CalculateExpressionWithGroupArray("Shuma(ShumaTurnover)", "Counterparty")
Ndërtuesi i paraqitjes do të gjenerojë shprehjen e mëposhtme për dalje:
ConnectRows(Array(Order(CalculateExpressionWithGroupingValueTable("Shiko(Suma(DataSet.AmountTurnover)), Amount(DataSet.AmountTurnover)", "DataSet.Account"), "2"))

4. Llogaritni shprehjen me GroupValueTable (EvalExpressionWithGroupValueTable) - funksioni kthen një tabelë vlerash, çdo element i së cilës përmban rezultatin e llogaritjes së një shprehjeje për grupim sipas fushës së specifikuar.

Sintaksë:
CalculateExpressionWithGroupValueTable (shprehje, shprehje në fushë grupi, përzgjedhje rekorde, përzgjedhje grupi)

Opsione :

  • Shprehje(String) - shprehja që do të vlerësohet. Një rresht mund të përmbajë shprehje të shumta të ndara me presje. Pas çdo shprehjeje mund të ketë një fjalë kyçe opsionale AS dhe emrin e kolonës së tabelës së vlerave. Për shembull: "Kontraparta, shuma (Shuma e qarkullimit) si vëllimi i shitjeve."
  • FieldExpressionsGroups- shprehjet e fushave të grupimit, të ndara me presje. Për shembull, "Kundërpartia, Partia";
  • Përzgjedhja e Rekordeve- një shprehje e aplikuar për të dhënat e detajeve. Për shembull, "Flamuri i Fshirjes = False". Nëse ky parametër përdor një funksion agregat, do të ndodhë një gabim gjatë kompozimit të të dhënave;
  • Përzgjedhja e grupimeve- përzgjedhja e aplikuar për të dhënat e grupit. Për shembull: "Shuma (Shuma e qarkullimit) > &Parameter1".
Shembull:
Llogaritni shprehjen me tabelën e grupimit të vlerave ("Llogaria AS kundërpalë, shuma (qarkullimi i shumës) AS vëllimi i shitjeve", "Llogaria")

Rezultati i këtij funksioni do të jetë një tabelë vlerash me kolonat Kundërpartia dhe Vëllimi i Shitjeve, të cilat do të përmbajnë palët me vëllimet e tyre të shitjeve.
Kompozitori i paraqitjes, kur gjeneron një paraqitje, i konverton parametrat e funksionit në fushat e paraqitjes së përbërjes së të dhënave. Për shembull, fusha Account do të konvertohet në DataSet.Account.
Për shembull, një fushë e personalizuar me shprehjen:
CalculateExpressionWithGroupValueTable ("Llogaria, Shuma(ShumaTurnover)", "Llogaria")
Ndërtuesi i paraqitjes do të gjenerojë shprehjen e mëposhtme për dalje:
ConnectRows(GetPart(Order(CalculateExpressionWithGroupValueTable("DataSet.Account, DataSet.AccountPrepresentation, Sum(DataSet.AmountTurnover), View(DataSet.AmountTurnover), "DataSet.OrderingFieldSetA". ), "2, 4"))

5. Niveli - funksioni është krijuar për të marrë nivelin aktual të regjistrimit.

Sintaksë:
Niveli ()

Shembull:
Niveli ()

6. Numri i Sekuencës - merrni numrin serial të radhës.

Sintaksë:
NumberByOrder()

Shembull:
NumberByOrder()

7. SequenceNumberInGrouping - kthen numrin vijues të radhës në grupimin aktual.

Shembull:
NumberByOrderInGroup()

8. Formati - merrni një varg të formatuar të vlerës së kaluar.

Sintaksë:
Format (Vlera, FormatString)

Opsione :

  • Kuptimi- shprehja që duhet të formatohet;
  • FormatString- vargu i formatit është vendosur në përputhje me vargun e formatit 1C: Enterprise.
Shembull:
Formati (Faturat e konsumueshme. Shuma e dokumentit, "NPV=2")

9. Fillimi i Periudhës

Sintaksë:
Periudha e fillimit (data, lloji i periudhës)

Opsione :

  • datë(Data e). Data e specifikuar;
  • Lloji i periudhës
Shembull:
Periudha e fillimit (DataKoha (2002, 10, 12, 10, 15, 34), "Muaji")
Rezultati: 10/01/2002 0:00:00

10. Fundi i Periudhës - funksioni është krijuar për të zgjedhur një datë specifike nga një datë e caktuar.

Sintaksë:
Periudha e Fundit (Data, Lloji i Periudhës)

Opsione :

  • datë(Data e). Data e specifikuar;
  • Lloji i periudhës(Linjë). Përmban një nga vlerat e mëposhtme: Minuta; Ora; Dita; Nje jave; Muaj; tremujori; Viti; Dekada; Gjysëm viti.
Shembull:
Periudha e Fundit (DataKoha (2002, 10, 12, 10, 15, 34), "Java")
Rezultati: 10/13/2002 23:59:59

11. AddKDate (DateAdd) - funksioni është krijuar për të shtuar një vlerë të caktuar në datë.

Sintaksë:
AddToDate (Shprehja, Lloji i Rritjes, Madhësia)

Opsione :

  • Shprehje(Data e). Data origjinale;
  • Lloji Zmadhimi(Linjë). Përmban një nga vlerat e mëposhtme: Minuta; Ora; Dita; Nje jave; Muaj; tremujori; Viti; Dekada; Gjysëm viti.
  • Madhësia(Numri). Për sa duhet të rritet data, pjesa e pjesshme shpërfillet.
Shembull:
AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Month", 1)
Rezultati: 11/12/2002 10:15:34

12. Diferenca e datës - funksioni është krijuar për të marrë diferencën midis dy datave.

Sintaksë:
DifferenceDate (Shprehja 1, Shprehja 2, Lloji i Diferencës)

Opsione :

  • Shprehja 1(Data e). Data e zbritur;
  • Shprehja 2(Data e). Data origjinale;
  • Diferenca e Llojit(Linjë). Përmban një nga vlerat: E dyta; Minuta; Ora; Dita; Muaj; tremujori; viti.
Shembull:
DATEDIFERENCE(DATATIME(2002, 10, 12, 10, 15, 34),
DATETIME (2002, 10, 14, 9, 18, 06), "DITA")
Rezultati: 2

13. Nënvarg - ky funksion është krijuar për të nxjerrë një nënvarg nga një varg.

Sintaksë:
Nënstring (vargu, pozicioni, gjatësia)

Opsione :

  • Linjë(Linjë). Vargu nga i cili nxirret nënvargu;
  • Pozicioni(Numri). Pozicioni i karakterit nga i cili fillon nënvargu që do të nxirret nga vargu;
  • Gjatësia(Numri). Gjatësia e nënvargut të caktuar.
Shembull:
SUBSTRING (Llogaritë. Adresa, 1, 4)

14. Gjatësia e vargut - funksioni është krijuar për të përcaktuar gjatësinë e një vargu.

Sintaksë:
Gjatësia e vargut (vargu)

Parametri:

  • Linjë(Linjë). Një varg gjatësia e të cilit është specifikuar.
Shembull:
Linja (Adresa e kundërpalëve)

15. Viti- ky funksion është krijuar për të nxjerrë vitin nga një vlerë e tipit Date.

Sintaksë:
Viti (Data)

Parametri:

  • datë(Data e). Data me të cilën përcaktohet viti.
Shembull:
YEAR (Shpenzime. Data)

16. Tremujori - ky funksion është krijuar për të nxjerrë numrin e tremujorit nga një vlerë e tipit Data. Numri i tremujorit normalisht varion nga 1 në 4.

Sintaksë:
tremujori (data)

Parametri:

  • datë(Data e). Data në të cilën përcaktohet tremujori
Shembull:
QARTER (Shpenzime. Data)

17. Muaj - ky funksion është krijuar për të nxjerrë numrin e muajit nga një vlerë e tipit Data. Numri i muajit normalisht varion nga 1 në 12.

Sintaksë:
Muaj (Data)

Parametri:

  • datë(Data e). Data me të cilën përcaktohet muaji.
Shembull:
MUAJ (Shpenzime. Data)

18. Dita e Vitit (Dita e Vitit) - ky funksion është krijuar për të marrë ditën e vitit nga një vlerë e tipit Date. Dita e vitit normalisht varion nga 1 në 365 (366).

Sintaksë:
Dita e Vitit (Data)

Parametri:

  • datë(Data e). Data me të cilën përcaktohet dita e vitit.
Shembull:
DAYYEAR (Llogaria e shpenzimeve.Data)

19. Dita- ky funksion është krijuar për të marrë ditën e muajit nga një vlerë e tipit Date. Dita e muajit normalisht varion nga 1 deri në 31.

Sintaksë:
Dita (Data)

Parametri:

  • datë(Data e). Data me të cilën përcaktohet dita e muajit.
Shembull:
DITA (Shpenzime. Data)

20. Javë - ky funksion është krijuar për të marrë numrin e javës së vitit nga një vlerë e tipit Date. Javët e vitit numërohen duke filluar nga 1.

Sintaksë:
Java (Data)

Parametri:

  • datë(Data e). Data në të cilën përcaktohen numrat e javës.
Shembull:
JAVA (Shpenzime. Data)

21. Dita e javës - ky funksion është krijuar për të marrë ditën e javës nga një vlerë e tipit Date. Dita normale e javës varion nga 1 (e hënë) deri në 7 (e diel).

Sintaksë:
Dita e javës (data)

Parametri:

  • datë(Data e). Data me të cilën përcaktohet dita e javës.
Shembull:
DITA E JAVËS (Shpenzimet. Data)

22. Ora- ky funksion është krijuar për të marrë orën e ditës nga një vlerë e tipit Date. Ora e ditës varion nga 0 në 23.

Sintaksë:
Ora (data)

Parametri:

  • datë(Data e). Data me të cilën përcaktohet ora e ditës.
Shembull:
HOUR (Shpenzime. Data)

23. Minuta - ky funksion është krijuar për të marrë minutën e orës nga një vlerë e tipit Date. Minuta e orës varion nga 0 në 59.

Sintaksë:
Minuta (Data)

Parametri:

  • datë(Data e). Data me të cilën përcaktohet minuta e orës.
Shembull:
MINUTE (Shpenzime. Data)

24. Së dyti - ky funksion është krijuar për të marrë sekondën e një minutë nga një vlerë e tipit Date. Sekonda e një minutë varion nga 0 në 59.

Sintaksë:
E dyta (Data)

Parametri:

  • datë(Data e). Data në të cilën përcaktohen sekondat e minutës.
Shembull:
E DYTË (Shpenzime. Data)

25. Cast - ky funksion është krijuar për të nxjerrë një lloj nga një shprehje që mund të përmbajë një lloj të përbërë. Nëse shprehja përmban një lloj tjetër nga lloji i kërkuar, NULL do të kthehet.

Sintaksë:
Express (shprehje, lloji tregues)

Opsione :

  • Shprehje- shprehja që do të konvertohet;
  • Treguesi i llojit(Linjë). Përmban një varg tipi. Për shembull, "Numri", "String", etj. Përveç llojeve primitive, kjo rresht mund të përmbajë emrin e tabelës. Në këtë rast, do të bëhet një përpjekje për të shprehur një referencë në tabelën e specifikuar.
Shembull:
Express(Data.Props1, "Numri(10,3)")

26. IsNull (IsNull) - ky funksion kthen vlerën e parametrit të dytë nëse vlera e parametrit të parë është NULL. Përndryshe, vlera e parametrit të parë do të kthehet.

Sintaksë:
IsNull (Shprehja 1, Shprehja 2)

Opsione :

  • Shprehja 1- vlera që duhet kontrolluar;
  • Shprehja 2- ktheni vlerën nëse Shprehja 1 është NULL.
Shembull:
Po NULL (Shuma (Shitjet. Shuma e qarkullimit), 0)

27.ACos- njehson kosinusin e harkut në radianë.

Sintaksë:
ACos (shprehje)

Parametri:

  • Shprehje(Numri). Vlera e kosinusit (në rangun -1 ... 1) me të cilën përcaktohet këndi.
28.ASin- njehson harkun në radianë.

Sintaksë:
ASin (shprehje)

Parametri:

  • Shprehje(Numri). Vlera e sinusit (në rangun -1 ... 1) me të cilën përcaktohet këndi.
29.ATan- njehson arktangjentin në radiane.

Sintaksë:
ATan (shprehje)

Parametri:

  • Shprehje(Numri). Vlera tangjente me të cilën përcaktohet këndi.
30.Kos- njehson kosinusin.

Sintaksë:
Cos (shprehje)

Parametri:

  • Shprehje
31. Shka- ngritja e numrit e në një fuqi.

Sintaksë:
Exp (shprehje)

Parametri:

  • Shprehje(Numri). Kuptimi i gradës.
32.Log- njehson logaritmin natyror.

Sintaksë:
Regjistri (shprehje)

Parametri:

  • Shprehje
33.Log10- njehson logaritmin e X në bazën 10.

Sintaksë:
Ditari 10 (shprehje)

Parametri:

  • Shprehje(Numri). Numri origjinal është më i madh se 0.
34. Pow- eksponencë.

Sintaksë:
Pow (bazë, tregues)

Opsione :

  • Baza(Numri). Baza e funksionimit të eksponentimit.
  • Indeksi(Numri). Eksponent.
35. Mëkati- njehson sinusin.

Sintaksë:
Mëkati (shprehje)

Parametri:

  • Shprehje(Numri). Specifikuar në radianë.
36. Sqrt- njehson rrënjën katrore.

Sintaksë:
Sqrt (shprehje)

Parametri:

  • Shprehje(Numri). Numër jo negativ.
37. Tani- njehson tangjenten.

Sintaksë:
Tan (shprehje)

Parametri:

  • Shprehje(Numri). Vlera e sinusit me të cilën përcaktohet këndi.
38. Rrumbullakët- rrumbullakos numrin origjinal në thellësinë e kërkuar të bitit. Mënyra e rrumbullakosjes është standarde (1.5 si 2).

Sintaksë:
Env (shprehje, thellësi bit)

Opsione :

  • Shprehje(Numri). Numri origjinal;
  • Bit thellësi(Numri). Numri i numrave dhjetorë për t'u rrumbullakosur.
39. Int- pret pjesën thyesore të një numri.

Sintaksë:
Objekti (shprehje)

Parametri:

  • Shprehje(Numri). Një numër thyesor.
40. Funksionet e moduleve të zakonshme

Një shprehje e motorit të përbërjes së të dhënave mund të përmbajë thirrje për funksionet e moduleve të konfigurimit të përbashkët global. Asnjë sintaksë shtesë nuk kërkohet për të thirrur funksione të tilla.

Shembull:
Emri i shkurtuar (Dokumentet.Lidhja, Dokumentet.Data, Dokumentet.Numri)

Në këtë shembull, funksioni "AbbreviatedName" do të thirret nga moduli i konfigurimit të përgjithshëm.
Vini re se përdorimi i funksioneve të zakonshme të modulit lejohet vetëm nëse specifikohet parametri i duhur i procesorit të përbërjes së të dhënave.
Për më tepër, funksionet e moduleve të zakonshme nuk mund të përdoren në shprehjet e fushës me porosi.

41. Kundërshtim - ky funksion kthen një paraqitje të vargut të vlerës së kaluar të një tipi jo primitiv. Për vlerat e një lloji primitiv, kthen vetë vlerën.

<Пустое значение>".

Shembull:
Prezantimi (Kundërpartia)

42. Varg - ky funksion konverton vlerën e kaluar në një varg.

Nëse një grup ose një tabelë vlerash përdoret si parametër, funksioni kthen një varg që përmban një përfaqësim të vargut të të gjithë elementëve të grupit, të ndarë me karakteret ";". Nëse ndonjë element ka një paraqitje boshe të vargut, atëherë vargu "<Пустое значение>".

Shembull:
Rreshti (Data e Shitjes)

43. VleraËshtë e Plotësuar

Për vlerat NULL, Undefined gjithmonë kthen False.
Për vlerat Boolean, ajo gjithmonë kthen True.
Për llojet e tjera, kthen True nëse vlera ndryshon nga vlera e paracaktuar për llojin e dhënë.

Shembull:
Vlera e Plotësuar (Data e Dorëzimit)

44. LevelInGroup - ky funksion merr nivelin aktual të regjistrimit në lidhje me grupimin.

Mund të përdoret për të marrë nivelin e foleve të një rekord në një grupim hierarkik.

Shembull:
LevelInGroup()

45. Lloji i vlerës

Sintaksë:
Lloji i vlerës (shprehje)

Parametri:

  • Shprehje(Linjë). Lloji i vlerës së vargut.
Rikthen një vlerë të llojit Lloji që përmban llojin e vlerës së parametrit të funksionit.

Hyni në sit si student

Identifikohu si student për të aksesuar materialet shkollore

Sistemi i përbërjes së të dhënave 1C 8.3 për fillestarët: numërimi i rezultateve (burimet)

Qëllimi i këtij mësimi do të jetë:

  • Shkruani një raport që shfaq një listë të produkteve (Direktoria e ushqimit), përmbajtjen e tyre kalorike dhe shijen.
  • Grupimi i produkteve sipas ngjyrës.
  • Mësoni rreth përmbledhjes (burimeve) dhe fushave të llogaritura.

Krijo një raport të ri

Si në mësimet e mëparshme, ne hapim bazën e të dhënave " Deli"në konfigurues dhe krijoni një raport të ri përmes menysë" Skedari"->"I ri...":

Lloji i dokumentit - raporti i jashtëm:

Në formularin e konfigurimit të raportit, shkruani emrin " Mësimi 3"dhe shtypni butonin" Hap diagramin e përbërjes së të dhënave":

Lini emrin e parazgjedhur të skemës dhe klikoni " Gati":

Shtimi i një kërkese përmes konstruktorit

në skedën " Seti i të dhënave"kliko jeshile shenjë plus dhe zgjidhni " Shto grup të dhënash - Pyetje":

Në vend që ta shkruajmë tekstin e kërkesës me dorë, ne e ekzekutojmë përsëri konstruktori i pyetjeve:

në "skedën" Tabelat"zvarrit tryezën" Ushqimi"nga kolona e parë në të dytën:

Zgjidhni nga tabela " Ushqimi"fushat që do të kërkojmë. Për ta bërë këtë, tërhiqni dhe lëshoni fushat" Emri", "Shije", "Ngjyrë"Dhe" Përmbajtja e kalorive" nga kolona e dytë në të tretën:

Doli kështu:

Shtyp butonin " Ne rregull" - teksti i kërkesës u krijua automatikisht:

Krijimi i cilësimeve të prezantimit të raportit

Shkoni te skeda " Cilësimet" dhe klikoni mbi shkop magjik, per te thirrur projektuesi i cilësimeve:

Zgjidhni llojin e raportit " Listë..." dhe shtypni butonin " Me tutje":

Zvarritni nga kolona e majtë në të djathtë fushat që do të shfaqen në listë dhe klikoni " Me tutje":

Zvarritni nga kolona e majtë në fushën e djathtë " Ngjyrë" - do te ndodhe grupimi rreshtave në raport. Kliko " Ne rregull":

Dhe këtu është rezultati i punës së stilistit. Hierarkia e raportit tonë:

  • raportin në tërësi
  • grupimi "Ngjyra"
  • shënime të detajuara - rreshta me emrat e ushqimeve

Ruaj raportin (butoni disketë) Dhe pa u mbyllur Ne do të hapim menjëherë konfiguruesin në modalitetin e përdoruesit. Doli kështu:

Ndryshimi i renditjes së kolonave

Por le të le të ndryshojmë rendin kolona (shigjetat lart dhe poshtë) në mënyrë që të duket si figura më poshtë:

Le ta ruajmë raportin dhe ta hapim përsëri në modalitetin e përdoruesit:

E shkëlqyeshme, kjo është shumë më mirë.

Le të përmbledhim përmbajtjen e kalorive

Do të ishte mirë të përmblidhnit përmbajtjen kalorike të ushqimeve sipas grupeve. Për të parë shumën e përmbajtjes kalorike të të gjitha produkteve, të themi, të bardhë ose të verdhë. Ose zbuloni përmbajtjen totale të kalorive të të gjitha produkteve në bazën e të dhënave.

Për këtë qëllim, ekziston një mekanizëm për llogaritjen e burimeve.

Shkoni te skeda " Burimet"dhe tërhiqni fushën" Përmbajtja e kalorive"(do ta përmbledhim) nga kolona e majtë në të djathtë.

Në këtë rast, në fushë, zgjidhni shprehjen nga lista rënëse " Sasia (Kalori)", pasi totali do të jetë shuma e të gjithë elementëve të përfshirë në total:

Ne ruajmë dhe gjenerojmë një raport:

Tani kemi rezultate për secilin nga grupet dhe për raportin në tërësi.

Le ta përmbledhim (mesatare) për sa i përket kalorive

Tani le ta bëjmë atë të shfaqet në një kolonë tjetër mesatare përmbajtja kalorike e produkteve sipas grupeve dhe në raport në tërësi.

Ju nuk mund të prekni kolonën ekzistuese "Kalori" - totali është shfaqur tashmë në të, kështu që le të krijojmë një fushë tjetër, e cila do të jetë një kopje e saktë e fushës "Kalori".

Për të krijuar një fushë të tillë "virtuale", ne do të përdorim mekanizmin fushat e llogaritura.

Shkoni te skeda " Fushat e llogaritura" dhe shtypni jeshile shenjë plus:

Në një kolonë " Rruga e të dhënave"Ne shkruajmë emrin e fushës së re ( pa probleme, pa hapësira). Le të quhet " Përmbajtja mesatare e kalorive", dhe në kolonën " Shprehje"Ne shkruajmë emrin e një fushe ekzistuese në bazë të së cilës do të llogaritet fusha e re. Ne shkruajmë atje " Përmbajtja e kalorive". Kolona" Drejtimi" do të plotësohet automatikisht.

Ne kemi shtuar një fushë të re (" Përmbajtja mesatare e kalorive"), por nuk do të shfaqet në raport në vetvete - duhet të telefononi përsëri projektuesi i cilësimeve("shkopi magjik") ose shtoni këtë fushë me dorë.

Le ta bejme e dyta mënyrë. Për ta bërë këtë, shkoni te skeda " Cilësimet", zgjidhni " Raportoni"(në fund të fundit, ne duam të shtojmë fushën në tërësi në raport), zgjidhni skedën në fund" Fushat e zgjedhura"dhe tërhiqni fushën" Përmbajtja mesatare e kalorive"nga kolona e majtë në të djathtë:

Doli kështu:

Ne ruajmë dhe gjenerojmë një raport:

Fusha është shfaqur dhe shohim se vlerat e saj janë vlerat e fushës "Calorie". E shkëlqyeshme!

Për ta bërë këtë, ne do të përdorim përsëri mekanizmin tashmë të njohur për ne burimet(duke përmbledhur). Shkoni te skeda " Burimet"dhe tërhiqni fushën" Përmbajtja mesatare e kalorive"nga kolona e majtë në të djathtë:

Për më tepër, në kolonën " Shprehje"zgjidh" Mesatare (Kalori mesatare)":

Ne ruajmë dhe gjenerojmë një raport:

Shohim që për grupet, domethënë për secilën ngjyrë, dhe për raportin në tërësi, vlera mesatare është llogaritur absolutisht saktë. Por ata janë të pranishëm hyrje shtesë për produkte individuale (jo grupe) që do të doja të hiqja nga raporti.

A e dini pse u shfaqën (vlerat jo sipas grupit)? Sepse kur shtuam fushën " Përmbajtja mesatare e kalorive"në cilësimet e raportit, në hapin e dytë që kemi zgjedhur të gjithë raportin dhe kjo fushë e re përfundoi në elementin " I detajuar rekorde".

Le të rregullojmë gabimin. Për ta bërë këtë, kthehu te skeda " Cilësimet", zgjidhni " Regjistrimet e detajuara"Së pari nga lart (hapi 2) dhe më pas" Regjistrimet e detajuara"nga poshtë (hapi 3), shkoni te faqerojtësi" Zgjedhur fusha"dhe ne do të shohim në kolonën e tij të djathtë elementin" Auto".

Elementi " Auto" - kjo nuk është një fushë. Këto janë disa fusha që bien këtu automatikisht bazuar në cilësimet e nivelit më të lartë.

Për të parë se cilat janë këto fusha, klikoni në elementin " Auto" drejtë butonin dhe zgjidhni " Zgjero":

Elementi " Auto" u zgjerua në fushat e mëposhtme:

Dhe këtu është fusha jonë" Përmbajtja mesatare e kalorive"që erdhi këtu nga pika" Raportoni"Kur e tërhoqëm zvarrë atje. Vetëm le të heqim kontrolloni kutinë pranë kësaj fushe për të hequr daljen e saj.

Publikime mbi temën