Fushat e llogaritura në SKD 1s 8.2. Gjuha e shprehjes së sistemit të përbërjes së të dhënave (1Cv8)

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", "First", "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

Një nga mjetet më të përshtatshme dhe unike të zhvillimit në 1C është sistemi i përbërjes së të dhënave (DCS). Pak sisteme informacioni lejojnë zhvilluesit të krijojnë raporte pa shkruar kod. Ky mekanizëm u zhvillua për të thjeshtuar dhe përshpejtuar zhvillimin e formularëve të raportimit dhe për t'u dhënë më shumë mundësi përdoruesve në punën me të dhënat dalëse. Kjo e fundit vlerësohet shumë nga përdoruesit e avancuar, të cilët falë kësaj mund të personalizojnë në mënyrë të pavarur raportin sipas nevojave të tyre, pa pritur veprimet e zhvilluesve.

Krijimi i një raporti në 1C përmes SKD

Procesi i zhvillimit të një raporti duke përdorur ACS mund të ndahet në fazat e mëposhtme:

  1. Krijimi i një kërkese. Ju mund të shkruani një kërkesë me dorë ose të bëni pa kod duke përdorur një ndërfaqe të përshtatshme;
  2. Vendosja e raportit. Zgjidhni fushat, totalet, grupimet, parametrat, hartimin e raportit;
  3. Pas kësaj, gjithçka që duhet të bëjmë është të lidhim raportin që rezulton me konfigurimin në çdo mënyrë të disponueshme.

Pavarësisht aftësisë së përdoruesve për të personalizuar raportet në sistemin e kontrollit të aksesit, ato duhet të krijohen përmes konfiguruesit.

Le të shohim një shembull të krijimit të një raporti të jashtëm në një sistem të kontrollit të aksesit:


Tani shkojmë në 1C, hapim raportin tonë për t'u siguruar që veprimet e ndërmarra janë të sakta. Të gjitha të dhënat pasqyrohen, grupimet mund të shemben dhe zgjerohen. Siç mund ta shihni, sistemi i kontrollit të hyrjes ju lejon të merrni raporte të plota pa shkruar kodin, me përjashtim të kërkesave jo standarde. Duke marrë parasysh se shumica e raporteve kanë një strukturë të ngjashme, njohja e sistemit të kontrollit të aksesit do të zvogëlojë ndjeshëm kohën për zhvillimin e këtyre objekteve.

Ky mekanizëm është bërë shumë i popullarizuar për shkak të mbështetjes së tij për aftësitë e gjera të raportimit. Për më tepër, jo vetëm zhvilluesit, por edhe përdoruesit e zakonshëm mund t'i përdorin ato.

Aftësitë ACS

Ka situata kur kemi bërë një raport, dhe më pas vjen një përdorues dhe kërkon të bëjë një modifikim të vogël. Për shembull, në vend të emrave të produkteve, shfaqni numrat e artikujve. SKD lejon përdoruesit të bëjnë modifikime të tilla në mënyrë të pavarur duke përdorur butonin "Më shumë" - "Ndrysho opsionin...".


Dritarja që hapet është e ngjashme me dritaren e cilësimeve në raport në konfigurues dhe gjithashtu ka funksione të ngjashme. Për të zgjidhur detyrën, përdoruesi duhet të shkojë në skedën "Fushat" dhe të ndryshojë fushën "Nomenklatura". Kjo fushë redaktimi hapet duke klikuar dy herë dhe butoni "Zgjidh..." bëhet i disponueshëm.


Dritarja që hapet na jep mundësinë të zgjedhim çdo vlerë që do të shfaqet në fushën “Nomenklatura”. Disa fusha kanë një shenjë plus në të majtë - zhvilluesi ka vendosur lidhje në këto fusha, që do të thotë se ne mund të shohim detajet e tyre. Ne hapim "Nomenklaturën" dhe shohim artikullin që na nevojitet. Zgjidhni atë dhe zgjidhni atë.


Dritarja për ndryshimin e opsioneve të raportit përmban shumë funksione të dobishme të sistemit të përbërjes së të dhënave. Për shembull, përdoruesi mund të ndryshojë në mënyrë të pavarur rendin e grupimeve, të shtojë përzgjedhje ose të aplikojë dizajn të kushtëzuar. Ne përfundojmë redaktimin dhe krijojmë një raport - siç mund ta shihni, i gjithë gama e produkteve shfaqet tani në formën e artikujve.


Mekanizmi SKD 1C:Enterprise 8.3 gjithashtu ka funksionalitet të zgjeruar për zhvilluesit. Gjatë zhvillimit të raportit, ne përdorëm vetëm 2 skeda - "Grupet e të dhënave" dhe "Cilësimet", por ka shumë të tjera në ACS. Për të përdorur të gjitha funksionet e sistemit të përbërjes së të dhënave, duhet të kuptoni se për çfarë shërben secila nga skedat:

  1. Grupet e të dhënave – të gjitha pyetjet e përfshira në gjenerimin e raportit janë renditur këtu;
  2. Lidhjet e grupeve të të dhënave – përdoren për të krijuar lidhje ndërmjet pyetjeve të ndryshme nga skeda e parë;
  3. Fushat e llogaritura – një listë e fushave të shtuara jo nga pyetja. Më shpesh përdoret në rastet kur, bazuar në vlerat e disa fushave, duhet të merrni 1 vlerë nga kërkesa;
  4. Burimet. Në 1C, ky është emri për fushat për të cilat duhet të dini rezultatet. Burimet mbështesin operacione të ndryshme aritmetike - shuma, sasia, maksimumi dhe të tjera;
  5. Opsione. Ato përdoren nëse për të gjeneruar një raport është e nevojshme që përdoruesi të fusë të dhëna të caktuara - datë, ndarje ose nomenklaturë, për shembull;
  6. Layouts. Projektuar për rastet kur përdoruesit duan të shohin një raport të dizajnuar në mënyrë unike. Ju mund të krijoni një vend të veçantë për nënshkrime ose një pjesë të re kryesore të raportit - e gjithë kjo mund të bëhet këtu;
  7. Diagramet e mbivendosur. Ato nevojiten kur raporti juaj duhet të përmbajë të dhëna nga raporte të tjera;
  8. Cilësimet. Seksioni deklaron fushat që do të shfaqen, grupimet dhe konfiguron pamjen e raportit.


Numri i mundësive të përfshira në mekanizmin ACS nga zhvilluesit është i madh, por shumë prej tyre përdoren jashtëzakonisht rrallë. Edhe programuesit me përvojë 1C mund të mos përdorin disa funksione pas vitesh pune. Për të filluar punën me sukses në sistemin e kontrollit të aksesit, mjafton të njihni konceptet bazë dhe cilësimet e përdorura shpesh. Në raste të rralla, dokumentacioni do të vijë në shpëtim.

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 - raport 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 paracaktuar të skemës dhe klikoni " Gati":

Shtimi i një kërkese përmes konstruktorit

në skedën " Kompleti 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 (shigjeta 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 faqeshënuesi" 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.

Ne shqyrtuam në disa detaje cilësimet e raporteve të zbatuara në bazë të sistemit të kontrollit të aksesit. Tani le të shohim cilësimet më delikate dhe të detajuara për opsionet e raportit. Dritarja për cilësimet "të avancuara" të opsionit të raportit thirret me komandën "Më shumë" - "Të tjera" - "Ndrysho opsionin e raportit".

Dritarja për ndryshimin e versionit të raportit është e ndarë në dy pjesë:

1. Struktura e raportit.

2. Raporto cilësimet.


Seksioni i strukturës së opsioneve të raportit është i ngjashëm me skedën "Struktura" të cilësimeve standarde të raportit. Qëllimi dhe konfigurimi i grupimeve diskutohet në detaje në Pjesën 1 të artikullit.

Tabela e strukturës së variantit të raportit, përveç kolonës aktuale me grupime, përmban disa kolona shtesë:

Seksioni i cilësimeve të opsioneve të raportit i jep përdoruesit mundësi të shumta për të konfiguruar raportin për t'iu përshtatur nevojave të tyre. Pothuajse përkon plotësisht me cilësimet standarde të raportit të diskutuara në Pjesën 1. Le të shohim të gjitha skedat e seksionit dhe të vërejmë ndryshimet.

Seksioni i cilësimeve përbëhet nga skedat e mëposhtme:

1. Parametrat. Përmban parametrat ACS në dispozicion të përdoruesit.

Parametri ACS është një vlerë e përdorur për të marrë të dhënat e raportit. Kjo mund të jetë një vlerë kushti për zgjedhjen ose kontrollimin e të dhënave, si dhe një vlerë ndihmëse.


Tabela e parametrave paraqitet në formatin "Parameter" - "Vlera". Nëse është e nevojshme, mund të ndryshoni vlerat e parametrave. Klikimi i butonit "Cilësimet e personalizuara të elementit" hap cilësimet e personalizuara të elementit.


Në këtë dritare, ju mund të zgjidhni nëse elementi do të përfshihet në cilësimet e përdoruesit (d.m.th., i dukshëm për përdoruesin kur vendosni një raport), të vendosni mënyrën e prezantimit dhe modifikimit të elementit (qasje e shpejtë në kokën e raportit, normale në cilësimet e raportit dhe të paarritshme).

Karakteristikat e artikullit të cilësimeve të personalizuara kanë gjithashtu fusha të grupueshme, kufij, zgjedhje dhe elemente të paraqitjes së kushtëzuar.

2. Fushat e personalizuara. Përmban fusha që gjenerohen nga vetë përdoruesi bazuar në të dhënat e përzgjedhura nga raporti.


Përdoruesi mund të shtojë dy lloje fushash:

  • Fusha e re e përzgjedhjes...
  • Fusha e re e shprehjes...

Fushat e përzgjedhjes ju lejojnë të llogaritni një vlerë bazuar në një kusht të caktuar. Dritarja e redaktimit të fushës së përzgjedhjes përmban një titull të fushës dhe një tabelë në të cilën specifikohet zgjedhja, vlera dhe prezantimi i fushës. Përzgjedhja është një kusht, në varësi të cilës do të zëvendësohet vlera e dëshiruar.


Për shembull, le të llogarisim një vlerësim të numrit të shitjeve. Ne do të supozojmë se nëse shiten më pak se 10 njësi të një produkti, ne kemi shitur pak, dhe nëse më shumë se 10 njësi, kemi shitur shumë. Për ta bërë këtë, ne do të vendosim 2 vlera për fushën e llogaritur: e para do të jetë me zgjedhjen "Numri i mallrave më pak se ose i barabartë me "10"", i dyti me përzgjedhjen "Numri i mallrave më i madh se "10". ””.

Fushat e shprehjes ju lejojnë të llogaritni një vlerë duke përdorur algoritme arbitrare. Ata mund të përdorin funksionet e gjuhës së pyetjes dhe të gjuhës së integruar të programimit 1C. Dritarja e redaktimit të fushës së shprehjes përmban dy fusha për shprehjet e shënimeve të detajuara dhe përmbledhëse. Regjistrimet totale janë grupime të konfiguruara në zonën "Struktura e raportit" ato duhet të përdorin funksione të përgjithshme ("Suma", "Minimum", "Maximum", "Sasia").

Për shembull, le të llogarisim përqindjen mesatare të zbritjes. Përqindja mesatare e zbritjes llogaritet duke përdorur formulën: [Shuma e shitjeve pa zbritje] - [Shuma e shitjeve me zbritje] / [Shuma e shitjeve pa zbritje]. Është e rëndësishme të mbani mend se shuma e shitjeve pa zbritje mund të jetë zero, kështu që ne përdorim operatorin SELECT për të kontrolluar. Ne marrim shprehjet e mëposhtme:

· Për shënime të hollësishme:

Zgjedhja

Kur [Shuma e shitjes pa zbritje] = 0

Pastaj 0

Përndryshe [Shuma e shitjes pa zbritje] - [Shuma e shitjeve me zbritje] / [Shuma e shitjeve pa zbritje]

fund

· Për të dhënat përmbledhëse:

Zgjedhja

Kur shuma ([Shuma e shitjeve pa zbritje]) = 0

Pastaj 0

Përndryshe shuma ([Shuma e shitjeve pa zbritje]) - Shuma ([Shuma e shitjeve me zbritje]) / Shuma ([Shuma e shitjeve pa zbritje])

fund

Siç u përmend më herët, në shprehjen e të dhënave totale ne përdorim funksionin agregat "Sum".

3. Fushat e grupueshme. Përmban fusha sipas të cilave do të grupohen rezultatet e variantit të raportit. Fushat e grupuara janë konfiguruar veçmas për secilin grupim, por ju mund të vendosni fushat e përgjithshme të grupuara për një opsion raporti nëse zgjidhni rrënjën "Raporto" në pemën e strukturës. Mund të shtoni një fushë nga rezultati i raportit, një fushë të personalizuar ose zgjidhni një fushë automatike, më pas sistemi do t'i zgjedhë fushat automatikisht. Kjo skedë ju lejon gjithashtu të ndryshoni rendin e fushave të grupuara.


4. Fushat. Përmban fushat që do të dalin si rezultat i variantit të raportit. Fushat janë konfiguruar veçmas për secilin grupim, por ju mund të vendosni fusha të përbashkëta për një opsion raporti nëse zgjidhni rrënjën "Raport" në pemën e strukturës. Mund të shtoni një fushë nga rezultati i raportit, një fushë të personalizuar ose zgjidhni një fushë automatike, më pas sistemi do t'i zgjedhë fushat automatikisht. Kjo skedë ju lejon gjithashtu të ndryshoni rendin e fushave.

Fushat mund të grupohen për të theksuar logjikisht çdo pjesë të raportit ose për të specifikuar një rregullim të veçantë të kolonave. Kur shtoni një grup, kolona "Vendndodhja" bëhet aktive dhe ju lejon të zgjidhni një nga opsionet e vendndodhjes:

  • Auto - sistemi vendos automatikisht fushat;
  • Horizontal - fushat janë të pozicionuara horizontalisht;
  • Vertikale - fushat janë rregulluar vertikalisht;
  • Në një kolonë të veçantë - fushat janë të vendosura në kolona të ndryshme;
  • Së bashku - fushat janë të vendosura në një kolonë.


5. Përzgjedhja. Përmban zgjedhje të përdorura në variantin e raportit. Vendosja e përzgjedhjeve u diskutua në detaje në pjesën 1 të këtij artikulli. Filtrat janë konfiguruar veçmas për secilin grupim, por ju mund të vendosni filtra të përgjithshëm për një opsion raporti nëse zgjidhni rrënjën "Raport" në pemën e strukturës.


6. Renditja. Përmban fushat e renditjes të përdorura në variantin e raportit. Vendosja e fushave të renditjes u diskutua në detaje në Pjesën 1 të këtij artikulli. Renditja është konfiguruar veçmas për secilin grupim, por ju mund të vendosni fushat e përgjithshme të renditjes për një opsion raporti nëse zgjidhni rrënjën "Raport" në pemën e strukturës.


7. Regjistrim me kusht. Përmban elemente të kushtëzuara të projektimit të përdorura në variantin e raportit. Vendosja e paraqitjes së kushtëzuar u diskutua në detaje në Pjesën 1 të këtij neni. Pamja e kushtëzuar konfigurohet veçmas për secilin grupim, por mund të vendosni elemente të përgjithshme të paraqitjes së kushtëzuar për një opsion raporti nëse zgjidhni rrënjën "Raport" në pemën e strukturës.


8. Cilësimet shtesë. Përmban cilësime shtesë të projektimit të raportit. Ju lejon të zgjidhni pamjen e përgjithshme të raportit, vendndodhjen e fushave, grupimet, detajet, burimet, totalet, të vendosni cilësimet e grafikut, të kontrolloni shfaqjen e titullit, parametrat dhe përzgjedhjen, të përcaktoni pozicionin e burimeve dhe të rregulloni kokën dhe grupimin kolonat e versionit të raportit.


Si përfundim, dëshiroj të vërej se cilësimet e raportit jo vetëm që mund të ruhen si opsion raporti, por edhe të ngarkohen në një skedar (menyja "Më shumë" - "Ruaj cilësimet"). Për të shkarkuar, duhet të zgjidhni "Load settings" dhe të zgjidhni skedarin e ruajtur. Kështu, ne mund të transferojmë cilësimet e variantit të raportit midis bazave të të dhënave të ndryshme që kanë të njëjtin konfigurim.


Bazuar në këtë, mund të përmbledhim se përdoruesi jo vetëm që mund të personalizojë në mënyrë të pavarur raportin për t'iu përshtatur nevojave të tij, por gjithashtu të ruajë cilësimet e tij dhe t'i përdorë ato në të ardhmen nëse është e nevojshme.

Gjuha e shprehjes së sistemit të përbërjes së të dhënave

Gjuha e shprehjes së sistemit të përbërjes së të dhënave është krijuar për të shkruar shprehjet e përdorura në pjesë të ndryshme të sistemit.

Shprehjet përdoren në nënsistemet e mëposhtme:

  • diagrami i paraqitjes së të dhënave - për të përshkruar fushat e llogaritura, fushat totale, shprehjet e lidhjes, etj.;
  • cilësimet e paraqitjes së të dhënave - për të përshkruar shprehjet e fushës me porosi;
  • data layout layout - për përshkrimin e shprehjeve për lidhjen e grupeve të të dhënave, përshkrimin e parametrave të paraqitjes, etj.

Literale

Shprehja mund të përmbajë fjalë për fjalë. Llojet e mëposhtme të literaleve janë të mundshme:

  • Linjë;
  • Numri;
  • Data e;
  • Boolean.

Linjë

Një varg literal shkruhet me karaktere "", për shembull:

"String fjalë për fjalë"

Nëse keni nevojë të përdorni karakterin "" brenda një vargu literal, duhet të përdorni dy karaktere të tilla.

Për shembull:

"Literal ""në thonjëza"""

Numri

Numri shkruhet pa hapësira, në format dhjetor. Pjesa e pjesshme ndahet duke përdorur simbolin "." Për shembull:

10.5 200

datë

Një fjalë për fjalë datë shkruhet duke përdorur fjalë për fjalë kyçe DATETIME. Pas kësaj fjale kyçe, viti, muaji, dita, orët, minutat, sekondat renditen në kllapa, të ndara me presje. Specifikimi i kohës nuk kërkohet.

Për shembull:

DATETIME(1975, 1, 06) – 6 janar 1975 DATETIME(2006, 12, 2, 23, 56, 57) – 2 dhjetor 2006, 23 orë 56 minuta 57 sekonda, 23 orë 56 minuta 57 sekonda

Boolean

Vlerat Boolean mund të shkruhen duke përdorur fjalë për fjalë True (True), False (False).

Kuptimi

Për të specifikuar literale të llojeve të tjera (numërime të sistemit, të dhëna të paracaktuara), përdoret fjala kyçe Vlera, e ndjekur nga emri i fjalëpërfjalës në kllapa.

Vlera (Lloji i llogarisë. Aktiv)

Veprimet në numra

Unar -

Ky operacion synon të ndryshojë shenjën e një numri në atë të kundërt. Për shembull:

Shitjet.Sasia

Unary +

Ky operacion nuk kryen asnjë veprim në numër. Për shembull:

Shitjet.Sasia

Binar -

Ky operacion synon të llogarisë diferencën e dy numrave. Për shembull:

RemainingsAndTurnovers.InitialRemaining – RemainingsAndTurnovers.FinalRemainingsRemainingsAndTurnovers.InitialRemaining - 100 400 – 357

Binar +

Ky operacion është krijuar për të llogaritur shumën e dy numrave. Për shembull:

RemainingsAndTurnover.InitialRemaining + RemainingAndTurnover.Turnover ResiduesAndTurnover.InitialRemaining + 100 400 + 357

Puna

Ky operacion është krijuar për të llogaritur prodhimin e dy numrave. Për shembull:

Nomenklatura.Çmimi * 1.2 2 * 3.14

Divizioni

Ky operacion është krijuar për të marrë rezultatin e pjesëtimit të një operand me një tjetër. Për shembull:

Nomenklatura.Çmimi / 1.2 2 / 3.14

Pjesa e mbetur e ndarjes

Ky operacion është krijuar për të marrë pjesën e mbetur kur një operand ndahet me një tjetër. Për shembull:

Nomenklatura Cmimi % 1,2 2 % 3,14

Operacionet e vargut

Lidhja (binare +)

Ky operacion është krijuar për të lidhur dy vargje. Për shembull:

Nomenklatura.Neni + “: ”+ Nomenklatura.Emri

si

Ky operacion kontrollon nëse vargu përputhet me modelin e kaluar.

Vlera e operatorit LIKE është TRUE nëse vlera<Выражения>plotëson modelin, dhe FALSE përndryshe.

Personazhet e mëposhtëm në<Строке_шаблона>kanë një kuptim të ndryshëm nga një personazh tjetër në rresht:

  • % - përqindje: një sekuencë që përmban zero ose më shumë karaktere arbitrare;
  • _ - nënvizon: një karakter arbitrar;
  • […] - një ose më shumë karaktere në kllapa katrore: një karakter, cilido nga ato të listuara brenda kllapave katrore. Numërimi mund të përmbajë vargje, për shembull a-z, që do të thotë një karakter arbitrar i përfshirë në interval, duke përfshirë skajet e diapazonit;
  • [^...] - në kllapa katrore një ikonë mohimi e ndjekur nga një ose më shumë karaktere: çdo karakter përveç atyre të listuara pas ikonës së mohimit;

Çdo simbol tjetër nënkupton vetveten dhe nuk mbart ndonjë ngarkesë shtesë. Nëse një nga personazhet e listuar duhet të shkruhet si vetvetja, atëherë duhet të paraprihet nga<Спецсимвол>, e specifikuar pas fjalës kyçe SPECIAL CHARACTER (ESCAPE).

Për shembull, shabllon

“%ABV[abvg]\_abv%” KARAKTER I VEÇANTË “\”

nënkupton një nënvarg që përbëhet nga një sekuencë karakteresh: shkronja A; shkronjat B; shkronjat B; një shifër; një nga shkronjat a, b, c ose d; nënvizoj; shkronjat a; shkronjat b; letra v. Për më tepër, kjo sekuencë mund të vendoset duke filluar nga një pozicion arbitrar në linjë.

Operacionet Krahasuese

Të barabartë

Ky operacion është krijuar për të krahasuar dy operandë për barazi. Për shembull:

Sales.Counterparty = Sales.NomenclatureFurnizuesi Kryesor

Jo të barabartë

Ky operacion është krijuar për të krahasuar dy operandë për pabarazi. Për shembull:

Shitjet.Kundërpartia<>Shitjet.Nomenklatura Furnizuesi Kryesor

Më pak

Ky operacion është krijuar për të kontrolluar nëse operandi i parë është më i vogël se i dyti. Për shembull:

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

Më shumë

Ky operacion është krijuar për të kontrolluar nëse operandi i parë është më i madh se i dyti. Për shembull:

SalesCurrent.Sum > SalesPast.Sum

Më pak ose e barabartë

Ky operacion është krijuar për të kontrolluar nëse operandi i parë është më i vogël ose i barabartë me i dyti. Për shembull:

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

Më shumë ose e barabartë

Ky operacion është krijuar për të kontrolluar nëse operandi i parë është më i madh ose i barabartë me të dytin. Për shembull:

SalesCurrent.Sasia >= SalesPast.Shuma

Operacioni B

Ky operacion kontrollon praninë e një vlere në listën e kaluar të vlerave. Rezultati i operacionit do të jetë True nëse gjendet vlera, ose False ndryshe. Për shembull:

Artikulli B (&Produkti1, &Produkti2)

Operacioni i kontrollit të pranisë së një vlere në një grup të dhënash

Operacioni kontrollon praninë e një vlere në grupin e specifikuar të të dhënave. Të dhënat e vërtetimit duhet të përmbajë një fushë. Për shembull:

Shitjet kundër palëve

Operacioni i kontrollit të një vlere për NULL

Ky operacion kthen True nëse vlera është NULL. Për shembull:

Shitjet.Kundërpala ËSHTË NULL

Operacioni i kontrollit të një vlere për pabarazinë NULL

Ky operacion kthen True nëse vlera nuk është NULL. Për shembull:

Shitjet NUK ËSHTË NULL

Operacionet logjike

Operacionet logjike pranojnë shprehje të tipit Boolean si operandë.

Operacioni JO

Operacioni NOT kthen True nëse operandi i tij është False dhe False nëse operandi i tij është True. Për shembull:

NOT Document.Marrës = Dokument.Dërguesi

Operacioni I

Operacioni AND kthen True nëse të dy operandët janë True, dhe False nëse njëri prej operandëve është False. Për shembull:

Dokumenti. Marrësi = Dokumenti. Dërguesi DHE Dokumenti. Marrësi = &Kundërpala

OSE operacion

Operacioni OR kthen True nëse njëri prej operandëve është True, dhe False nëse të dy operandët janë False. Për shembull:

Dokumenti. Marrësi = Dokumenti. Dërguesi OSE Dokumenti. Marrësi = &Kundërpala

Funksionet agregate

Funksionet agregate kryejnë disa veprime në një grup të dhënash.

Shuma

Funksioni agregat Sum llogarit shumën e vlerave të shprehjeve që i kalohen atij si një argument për të gjitha regjistrimet e detajeve. Për shembull:

Shuma (Shitjet. Shuma e qarkullimit)

sasi

Funksioni Count llogarit numrin e vlerave të ndryshme nga NULL. Për shembull:

Sasia (Shitjet. Kundërpartia)

Numri i të ndryshmeve

Ky funksion llogarit numrin e vlerave të dallueshme. Për shembull:

Sasia (Shitje të ndryshme. Kundërpartia)

Maksimumi

Funksioni merr vlerën maksimale. Për shembull:

Maksimumi (E mbetur. Sasia)

Minimumi

Funksioni merr vlerën minimale. Për shembull:

Minimumi (E mbetur. Sasia)

Mesatare

Funksioni merr mesataren e vlerave jo-NULL. Për shembull:

Mesatare (E mbetur. Sasia)

Operacione të tjera

Operacioni SELECT

Operacioni Select synon të zgjedhë një nga disa vlera kur plotësohen disa kushte. Për shembull:

Zgjidhni Kur Shuma > 1000 Pastaj Shuma Përndryshe 0 Fund

Rregulla për krahasimin e dy vlerave

Nëse llojet e vlerave që krahasohen janë të ndryshme nga njëra-tjetra, atëherë marrëdhëniet midis vlerave përcaktohen në bazë të përparësisë së llojeve:

  • NULL (më e ulëta);
  • Boolean;
  • Numri;
  • Data e;
  • Linjë;
  • Llojet e referencës

Marrëdhëniet midis llojeve të ndryshme të referencës përcaktohen bazuar në numrat e referencës së tabelave që korrespondojnë me një lloj të caktuar.

Nëse llojet e të dhënave janë të njëjta, atëherë vlerat krahasohen sipas rregullave të mëposhtme:

  • për tipin Boolean vlera TRUE është më e madhe se vlera FALSE;
  • lloji i numrit ka rregullat e zakonshme të krahasimit për numrat;
  • për llojin Date, datat e mëparshme janë më të vogla se ato të mëvonshme;
  • për llojin String - krahasimi i vargjeve në përputhje me karakteristikat kombëtare të përcaktuara të bazës së të dhënave;
  • Llojet e referencës krahasohen në bazë të vlerave të tyre (numri rekord, etj.).

Duke punuar me Vlerën NULL

Çdo operacion në të cilin një nga operandët është NULL do të prodhojë një rezultat NULL.

Ka përjashtime:

  • Operacioni AND do të kthejë NULL vetëm nëse asnjë nga operandët nuk është False;
  • Operacioni OR do të kthejë NULL vetëm nëse asnjë nga operandët e tij nuk është i vërtetë.

Prioritetet e operimit

Operacionet kanë prioritetet e mëposhtme (rreshti i parë ka prioritetin më të ulët):

  • B, ËSHTË NULL, NUK ËSHTË NULL;
  • =, <>, <=, <, >=, >;
  • Binare +, Binare – ;
  • *, /, %;
  • Unary +, Unary -.

Funksionet e gjuhës së shprehjes së sistemit të përbërjes së të dhënave

Llogaritni

Funksioni Calculate është krijuar për të llogaritur një shprehje në kontekstin e një grupimi të caktuar. Funksioni ka parametrat e mëposhtëm:

  • Shprehje. Lloji String. Përmban një shprehje të llogaritur;
  • Grupimi. Lloji String. 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.

Niveli

Funksioni është krijuar për të marrë nivelin aktual të regjistrimit.

Niveli ()

NumriNorder

Merrni numrin vijues të radhës.

NumberByOrder()

NumberInOrderInGrouping

Rikthen numrin rendor të radhës në grupimin aktual.

NumberByOrderInGroup()

Formati

Merrni një varg të formatuar të vlerës së kaluar.

Vargu i formatit është vendosur në përputhje me vargun e formatit 1C: Enterprise.

Opsione:

  • Kuptimi;
  • Formatoni vargun.

Formati (Faturat e konsumueshme. Shuma e dokumentit, "NPV=2")

Fillimi i periudhës

Opsione:

    • Minuta;
    • Dita;
    • Nje jave;
    • Muaj;
    • tremujori;
    • Dekada;
    • Gjysëm viti.

Periudha e fillimit (DataKoha (2002, 10, 12, 10, 15, 34), "Muaji")

Rezultati:

01.10.2002 0:00:00

Fundi i Periudhës

Funksioni është krijuar për të nxjerrë një datë specifike nga një datë e caktuar.

Opsione:

  • Data e. Lloji Data. Data e specifikuar;
  • Lloji i periudhës. Lloji String. Përmban një nga vlerat e mëposhtme:
    • Minuta;
    • Dita;
    • Nje jave;
    • Muaj;
    • tremujori;
    • Dekada;
    • Gjysëm viti.

Periudha e Fundit (DataKoha (2002, 10, 12, 10, 15, 34), "Java")

Rezultati:

13.10.2002 23:59:59

AddToDate

Funksioni është krijuar për të shtuar një vlerë të caktuar në një datë.

Opsione:

  • Lloji i zmadhimit. Lloji String. Përmban një nga vlerat e mëposhtme:
    • Minuta;
    • Dita;
    • Nje jave;
    • Muaj;
    • tremujori;
    • Dekada;
    • Gjysëm viti.
  • Shuma - sa ju duhet për të rritur datën. Lloji Numri. Pjesa e pjesshme shpërfillet.

AddToDate(DateTime(2002, 10, 12, 10, 15, 34), "Month", 1)

Rezultati:

12.11.2002 10:15:34

Dallimi i datës

Funksioni është krijuar për të marrë diferencën midis dy datave.

Opsione:

  • Shprehje. Lloji Data. Data origjinale;
  • Shprehje. Lloji Data. Data e zbritur;
  • Lloji i ndryshimit. Lloji String. Përmban një nga vlerat e mëposhtme:
    • E dyta;
    • Minuta;
    • Dita;
    • Muaj;
    • tremujori;

DATEDIFFERENCE(DATATIME(2002, 10, 12, 10, 15, 34), DATETIME(2002, 10, 14, 9, 18, 06), "DITA")

Rezultati:

Nënstring

Ky funksion është krijuar për të nxjerrë një nënvarg nga një varg.

Opsione:

  • Linjë. Lloji String. Vargu nga i cili nxirret nënvargu;
  • Pozicioni. Lloji Numri. Pozicioni i karakterit nga i cili fillon nënvargu që do të nxirret nga vargu;
  • Gjatësia. Lloji Numri. Gjatësia e nënvargut të alokuar.

SUBSTRING (Llogaritë. Adresa, 1, 4)

Gjatësia e linjës

Funksioni është krijuar për të përcaktuar gjatësinë e një vargu.

Parametri:

  • Linjë. Lloji String. Një varg gjatësia e të cilit është specifikuar.

Linja (Kundërpalët. Adresa)

viti

Ky funksion është krijuar për të nxjerrë vitin nga një vlerë e tipit Date.

Parametri:

  • Data e. Lloji Data. Data me të cilën përcaktohet viti.

YEAR (Shpenzime. Data)

lagje

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.

Parametri

  • Data e. Lloji Data. Data në të cilën përcaktohet tremujori
QARTER (Shpenzime. Data)

Muaj

Ky funksion është krijuar për të nxjerrë numrin e muajit nga një vlerë e tipit Data. Numri i muajit zakonisht varion nga 1 në 12.

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

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

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

Dita

Ky funksion është krijuar për të marrë ditën e muajit nga një vlerë e tipit Date. Dita e muajit zakonisht varion nga 1 deri në 31.

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

Nje jave

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.

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

Ditë të 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).

  • Data e. Lloji Data. Data me të cilën përcaktohet dita e javës.
DITA E JAVËS (Data e faturës së shpenzimeve)

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.

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

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.

  • Data e. Lloji Data. Data me të cilën përcaktohet minuta e orës.
MINUTE (Data e shpenzimeve)

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.

  • Data e. Lloji Data. Data në të cilën përcaktohen sekondat e minutës.
E DYTË (Data e skadimit)

shprehin

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.

Opsione:

  • Shprehja që do të konvertohet;
  • Treguesi i llojit. Lloji String. 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.

Express(Data.Props1, "Numri(10,3)")

Është Null

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.

Po NULL (Shuma (Shitjet. Shuma e qarkullimit), 0)

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.

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.



 

Mund të jetë e dobishme të lexoni: