Shtimi i një raporti të jashtëm në bazën e të dhënave. Shtimi i një raporti të jashtëm në bazën e të dhënave Si të krijoni një raport të jashtëm në tutorial 8.3

Ata thonë se emri 1C fillimisht nënkuptonte shprehjen "një sekondë", d.m.th. programet duhet të prodhojnë raporte shpejt, "në një sekondë". Shpejtësia e raporteve është shumë e rëndësishme, por është edhe më e rëndësishme që raportet të japin informacionin e saktë - ne do ta kuptojmë këtë duke përdorur shembullin e krijimit të një raporti të thjeshtë në 1C 8.3 bazuar në konfigurimin e Trade Management 10.3. Për të krijuar raporte të sakta, është e dëshirueshme (madje rekomandohet fuqimisht) të jeni në gjendje të konfiguroni 1C dhe të jeni në gjendje të programoni pak në gjuhën e brendshme dhe gjuhën e pyetjeve të 1C, megjithëse, nga ana tjetër, krijimi i raporteve është një mundësi e shkëlqyer për të filluar zotërimin e këtyre aftësive.

Ky përshkrim është edukativ për të kuptuar parimet themelore të krijimit të raporteve 1C

Si të krijoni një raport në 1C 8.3

Për të krijuar një raport, duhet të hapni 1C në modalitetin e konfiguruesit; për ta bërë këtë, në dritaren e nisjes 1C, zgjidhni bazën e të dhënave të dëshiruar në listë dhe klikoni butonin Konfiguruesi:

Në vetë konfiguruesin, shkoni te menyja File dhe zgjidhni New:


Në menynë që shfaqet, zgjidhni Raporti i jashtëm dhe klikoni OK:


Pas kësaj, do të hapet një dritare e re raporti. Në fushën Emri, shkruani emrin e raportit; ai duhet të jetë pa hapësira ose karaktere të veçanta:


Si të bëni një raport duke përdorur një plan urbanistik

Kjo metodë kërkon më së shumti aftësi programimi në 1C, por këtu nuk do të analizojmë mekanizmat për marrjen dhe përpunimin e të dhënave, do të bëjmë një raport të thjeshtë për të kuptuar mekanizmin e nisjes së raportit dhe shfaqjes së formularit të raportit në ekran:

Në dritaren e raportit (që hapet kur krijoni një raport), në listën e poshtme, vendosni kursorin në artikullin Layouts dhe, kur klikoni me të djathtën, klikoni Shto në menynë që shfaqet:


Në projektuesin e paraqitjes që hapet, mund të specifikoni emrin e paraqitjes, Dokumenti i fletëllogaritjes duhet të zgjidhet si lloj i paraqitjes dhe më pas klikoni butonin Finish në projektues:


Kjo do të hapë një dritare paraqitjeje që i ngjan një flete Excel:


Në këtë paraqitje, ju duhet të krijoni zona - grupe rreshtash ose kolonash që programi do t'i përdorë si shabllone, të futni në to të dhënat e marra nga baza e të dhënave dhe t'i shfaqni këto shabllone në ekran, duke bashkuar kështu një raport nga këto pjesë.

Le të krijojmë një raport që shfaq një listë artikujsh. Për ta bërë këtë, ne do të krijojmë dy zona të paraqitjes: kokën e raportit dhe rreshtin e artikullit.

Për të krijuar një zonë të kokës, kliko me të majtën në kokën e linjës (ku tregohet numri i rreshtit) për të zgjedhur rreshtin si kjo (e gjithë rreshti duhet të zgjidhet me një klikim në kokë):


Pas kësaj, shkoni te menyja Tabela e menusë kryesore, shkoni te nënmenyja Emrat dhe klikoni në artikullin Cakto emrin:


Programi do t'ju kërkojë të specifikoni emrin e zonës, emri gjithashtu nuk duhet të përmbajë hapësira ose karaktere të veçanta, pas kësaj klikoni OK, duhet të duket kështu:


Tani në zonën e krijuar duhet të futni tekstin që do të shfaqet në raport dhe ta formatoni atë. Për ta bërë këtë, futni tekstin në qelizën e parë, për shembull, "Lista e artikujve". Puna me qeliza është e ngjashme me Excel.

Për të formatuar tekstin në një qelizë, kliko me të djathtën mbi qelizë dhe kliko në Vetitë. Dritarja e vetive të qelizës do të hapet në të djathtë. Duke lëvizur poshtë përmbajtjen e dritares, gjeni fushën Font dhe klikoni në butonin "...":


Në dritaren që hapet, në seksionin Style, kontrolloni kutinë Bold dhe klikoni OK:


Paraqitja duhet të duket si kjo:


Në të njëjtën mënyrë, ne krijojmë zonën e linjës së artikullit, por nuk e theksojmë atë me shkronja të zeza:


Në zonën e linjës duhet të tregoni se Emri është një parametër, d.m.th. se emri i vërtetë i artikullit do të zëvendësohet aty gjatë nxjerrjes së raportit. Për ta bërë këtë, hapni vetitë e qelizës me emrin dhe në vetitë në fushën Filling, zgjidhni vlerën Opsioni, kjo përfundon konfigurimin e paraqitjes:


Ne kthehemi në dritaren kryesore të raportit dhe në listën e poshtme, kliko me të djathtën mbi artikullin Forms dhe kliko Shto:


Në projektuesin e formularit të raportit që hapet, klikoni butonin Finish, do të hapet forma e raportit, klikoni dy herë në butonin Generate:


Si rezultat, dritarja e vetive të butonit do të hapet në anën e djathtë të ekranit; në fushën e Veprimit, klikoni në xham zmadhues:


Pas kësaj, do të hapet një modul formulari në të cilin duhet të programoni gjenerimin e një raporti:


Së pari, zëvendësoni tekstin e zgjedhur me kodin e programit të mëposhtëm:

//krijoni një dokument spreadsheet që do të mbushet me pjesë të raportit dhe do të shfaqet në ekran
TabDocument = TabularDocument i ri;
//më pas, marrim paraqitjen që u krijua gjatë krijimit të raportit
Layout = GetLayout("Layout");
//tani duhet të shfaqim kokën e raportit, për këtë marrim zonën e kokës nga faqosja dhe e shfaqim atë në një dokument spreadsheet
AreaHeader = Layout.GetArea("Header");
TabDocument.Output(AreaHeader);
//duke përdorur një pyetje marrim një përzgjedhje të emrave të artikujve që duhet të shfaqen në raport
Kërkesë = Kërkesë e re;
Kërkesë.Text = "
|ZGJEDHJE
| Emri
|NGA
| Drejtoria.Nomenklatura
|";
//merrni zonën e linjës së artikullit nga faqosja - ne do t'i qasemi asaj në një lak për të shfaqur çdo artikull
AreaString = Layout.GetArea("String");
//përpunoni çdo emër nga përzgjedhja që rezulton në një lak
Zgjidh = Query.Run().Select();
Ndërsa Select.Next() Loop
//për të shfaqur rreshtin tjetër, duhet të specifikoni emrin tjetër në parametrin e zonës (ne konfiguruam vetë parametrin kur krijonim paraqitjen)
AreaString.Parameters.Name = Përzgjedhja.Emri;
//parametri është plotësuar, tani mund të shfaqni vargun
TabDocument.Output(AreaString);
Cikli i Fundit;
//dokumenti i tabelës është krijuar, tani e shfaqim atë në ekran
TabDocument.Show ("Lista e artikujve");

Kur teksti kopjohet në modulin e formës, rreshtat që fillojnë me një prerje të dyfishtë "//" do të theksohen me të gjelbër - këto janë komente që përshkruajnë se çfarë bën çdo rresht kodi:


Le të përmbledhim se cilat rreshta të kodit të programit nevojiten për të gjeneruar një raport:

  1. Është e nevojshme të krijohet një dokument spreadsheet që do të mbushet me pjesë të raportit dhe do të shfaqet në ekran; kjo bëhet me rreshtin "TabDocument = New TabularDocument;"
  2. Ne duhet të marrim paraqitjen e raportit, prej saj do të marrim strukturën e raportit në pjesë (zona), kjo bëhet me rreshtin "Layout = GetLayout("Layout")"
  3. Për të shfaqur secilën nga zonat, ju duhet ta merrni atë nga faqosja dhe ta nxirrni atë në një dokument spreadsheet, kjo bëhet me rreshtat "Zona e kokës = Layout.GetArea("Header")" dhe "TabDocument.Output(HeaderArea) "
  4. Nëse duhet të plotësoni parametra që bëhen të njohur vetëm kur programi ekzekutohet, atëherë para se të shfaqni zonën që duhet të plotësoni parametra të tillë, kjo bëhet me rreshtin "AreaString.Parameters.Name = Selection.Name"
  5. Dhe vetëm kur dokumenti i tabelës është i mbushur me të gjitha pjesët e nevojshme të raportit, ai shfaqet në ekran, kjo bëhet me rreshtin "TabDocument.Show("Lista e artikujve")"

Dhe tani mund të kontrolloni funksionimin e raportit - hapni 1C në modalitetin e ndërmarrjes (butoni 1C: Ndërmarrja në dritaren e nisjes 1C). Në menunë kryesore, shkoni te menyja e skedarit, klikoni Hap:


Gjeni dhe hapni skedarin e raportit të ruajtur. Në formën që hapet, klikoni butonin Generate:


dhe marrim një listë të nomenklaturës:


Kjo është vetëm një mënyrë për të krijuar raporte në 1C. Në artikujt e mëposhtëm do të shohim të tjerët.

Nevoja për të personalizuar raportet e jashtme mund të lindë në rastet e ndryshimeve të menjëhershme në formularët përkatës të raportimit. Në fund të fundit, organet qeveritare që miratojnë formularët përkatës nuk e marrin gjithmonë parasysh faktin që subjekteve afariste u duhet kohë për të përgatitur formularin e raportimit. Autori - S.A. Kharitonov.

Në konfigurimet standarde për 1C: Enterprise 8, të prodhuara nga 1C, formularët e rregulluar të raportimit përfshihen në konfigurime dhe lëshohen së bashku me publikimet e konfigurimit. Sidoqoftë, kur lind nevoja - për shembull, një botim i ri i formularit të raportimit hyn në fuqi - kompania 1C lëshon formularë të tillë raportimi në formën e raporteve të jashtme "1C: Ndërmarrja 8" (skedarë me shtesën *.erf).

Përdorimi i raporteve të jashtme është një zgjidhje e përkohshme që duhet të përdoret vetëm derisa të lëshohet një version i konfigurimit në të cilin do të ndërtohen ndryshimet e nevojshme. Prandaj, vendosen disa kufizime në përdorimin e raporteve të jashtme:

  • kur lëshoni një raport të jashtëm, specifikohet se me cilin version të konfigurimit mund të përdoret;
  • raporti i jashtëm nuk është i garantuar të mbështesë versionet e mëparshme të konfigurimit;
  • kur një përdorues është duke punuar me një konfigurim, nuk mund të përdoret më shumë se një version i një raporti të jashtëm;
  • hapja e një formulari raporti kërkon një kohë më të gjatë në krahasim me një raport të zbatuar si një objekt konfigurimi;
  • ngarkimi i të dhënave të raportit në formë elektronike është shumë më i ngadalshëm, etj.

Një listë e raporteve të jashtme të lëshuara për një version specifik të konfigurimit mund të shihet në faqen e konfigurimit të faqes së mbështetjes së përdoruesit 1C:Enterprise 8 në www.users.v8.1c.ru (në seksionin Informacion falas duhet të klikoni në numrin e interesit në kolonën me numrat e versionit) ose në formular Përditëso informacionin(thirret me buton Përditëso informacionin uniforma e ekipit të lartë ), nëse shërbimi i rregulluar i alarmit të raportimit është i aktivizuar në bazën e informacionit.

Në të njëjtën formë, mund të klikoni mbi emrin e raportit të jashtëm për ta shkarkuar atë në kompjuterin tuaj.

Si rregull, raportet shpërndahen në formën e një arkivi RAR. Për të punuar me një raport të jashtëm, arkivi duhet të zbërthehet.

Arkivi, së bashku me skedarin e raportit të jashtëm, përmban një skedar teksti që përshkruan qëllimin e raportit dhe mënyrën e lidhjes së tij.

Nëse një raport i jashtëm synon të zëvendësojë një raport të rregulluar që ekziston tashmë në konfigurim, ai mund të lidhet me bazën e informacionit thjesht duke hapur raportin në modalitetin 1C: Enterprise (menuja Skedari - Hap).

Kur të hapet, do t'ju bëhet një pyetje Regjistroni një raport të jashtëm të rregulluar në bazën e informacionit? Pas përgjigjes po raporti i jashtëm do të regjistrohet në infobazë dhe do të hapet menjëherë për të krijuar një raport të ri.

Nëse përgjigjeni Nr, raporti nuk do të regjistrohet, por gjithashtu do të hapet për të krijuar një raport të ri. Do të jetë e mundur të kryhen të gjitha veprimet me një raport të tillë - krijimi, mbushja, printimi - por raporti i krijuar nuk mund të ruhet në bazën e informacionit.

Nëse raporti i jashtëm është një lloj i ri i raportit të rregulluar, raporti nuk do të mund të regjistrohet automatikisht në bazën e informacionit: kjo mënyrë duhet të aktivizohet manualisht. Udhëzimet e lidhjes janë gjithashtu të disponueshme në skedarin e tekstit që gjendet në arkivin e marrë nga faqja e internetit 1C.

Për të përdorur një raport të jashtëm, përdoruesi duhet të tregojë se për këtë raport të rregulluar, nuk do të përdoret një objekt konfigurimi i brendshëm, por një raport i jashtëm.

Për të regjistruar një raport të jashtëm si një lloj i ri i raporteve të rregulluara në drejtori Raportet e rregulluara e nevojshme (shih Fig. 1):

1) shkoni te grupi i drejtorive në të cilin do të vendoset lloji i ri i raportit;
2) krijoni një artikull të ri drejtorie duke klikuar butonin Shtoni në panelin e sipërm të komandës së formularit të drejtorisë;
3) në formën e një elementi drejtorie, plotësoni emrin që do të lëshohet në drejtori Raportet e rregulluara dhe në listën e llojeve të raportit të formularit Raportimi rregullator dhe financiar. Këshillohet gjithashtu të plotësoni një përshkrim të llojit të raportit;
4) kaloni Përdorni vendoseni në skedar dhe specifikoni se cili skedar duhet të përdoret si një raport i jashtëm. Pas shtypjes së butonit Ne rregull në dialogun e hapur të skedarit, emri i plotë i këtij raporti të jashtëm do të tregohet në fushën e skedarit të formularit të elementit të fjalorit.

Oriz. 1. Regjistroni një raport të jashtëm

Pas shtypjes së butonit Shkruani raporti i jashtëm ruhet në infobazën, pas së cilës emri i plotë i skedarit të jashtëm zëvendësohet me tekst Raporti është ngarkuar në IB.

E njëjta gjë ndodh kur shtypni një buton Ne rregull, ndërsa forma e elementit të drejtorisë Raportet e rregulluara mbyllet.

Për ato elemente të drejtorisë për të cilat përdoren raporte të jashtme, rreshti (i jashtëm) shtohet në formën e listës së drejtorive pas emrit të raportit.

Pasi raporti i jashtëm të ngarkohet në bazën e informacionit, vetë skedari i raportit të jashtëm nuk është më i nevojshëm dhe mund të fshihet.

Puna me një raport të rregulluar që përdor një raport të jashtëm nuk ndryshon nga puna me një objekt konfigurimi, përveç "përgjigjes së ngadaltë" kur hapet dhe kur shkarkon të dhënat e raportimit në formë elektronike.

Si shenjë e një raporti të jashtëm, një mbishkrim i kuq informacioni shfaqet në anën e djathtë të panelit të komandës së sipërme Raport i jashtëm.

Mund të riktheheni në përdorimin e objektit të konfigurimit "të brendshëm" në çdo kohë. Për ta bërë këtë, në formën e një elementi drejtorie për raportin e rregulluar të kërkuar, duhet të zgjidhni çelësin Përdorni për të pozicionuar nje objekt dhe ruani elementin e drejtorisë.

Vetë raporti i jashtëm nuk fshihet nga infobaza, kështu që është i mundur edhe veprimi i kundërt. Për të fshirë një raport nga baza e informacionit, duhet të bëni sa më poshtë:

1) në drejtori Raportet e rregulluara gjeni një raport të rregulluar për të cilin është lidhur një raport i jashtëm - një raport i tillë do të ketë një rresht (të jashtëm) të shtuar pas emrit të raportit;
2) hapni elementin e drejtorisë për redaktim me butonin Ndryshoni elementin aktual;
3) në fushën e përzgjedhjes së raportit të jashtëm, klikoni butonin X (E qartë). Pasi e shtypni tekstin Raporti është ngarkuar në IBështë pastruar, kjo është një shenjë se raporti do të fshihet nga infobaza;
4) mbyllni formularin e artikullit të drejtorisë duke klikuar butonin Ne rregull.

Raporti fshihet gjatë ruajtjes së artikullit të drejtorisë.

Nëse është e nevojshme, raporti i ngarkuar në bazën e informacionit mund të ruhet në një skedar në disk. Për ta bërë këtë, në formën e një elementi drejtorie Raportet e rregulluara ju duhet të klikoni në lidhjen me tekst Ngarko raportin e jashtëm në skedar. Do të hapet një dialog standard i ruajtjes së skedarit. Si parazgjedhje, emri i skedarit është emri i objektit përkatës të konfigurimit.

Është e rëndësishme të theksohet se në një sesion përdoruesi me një infobazë nuk mund të përdorni më shumë se një version të një raporti të jashtëm: për shembull, nëse përdoruesi tashmë po punon me një raport të rregulluar, i cili është një raport i jashtëm, dhe e ka ngarkuar atë në drejtoria Raportet e rregulluara një version tjetër i këtij raporti të jashtëm (për shembull, me plotësimin automatik të shtuar), për të përdorur këtë version të raportit, ai duhet të përfundojë sesionin e tij në modalitetin 1C:Enterprise dhe më pas të fillojë menjëherë një sesion të ri.

Në shembullin tonë, raporti tregon prodhimin e produkteve dhe shërbimeve sipas divizioneve, grupeve të produkteve dhe sipas muajve.

Këtu është faqja kryesore e raportit:

Kjo faqe thirret nga konfiguruesi në menynë Skedar – I ri – Raport i jashtëm.

Fillimisht shtojmë një grup të dhënash (DataSet1). Në dritaren "Query", mund ta shtypni vetë, ta krijoni duke përdorur Ndërtuesin e pyetjeve ose ta ngarkoni nga një skedar. Mënyra më e përshtatshme është përdorimi i konstruktorit të pyetjeve. Lexoni se si funksionon konstruktori.

Gjithçka që ju nevojitet plotësohet automatikisht, por disa gjëra duhet të rregullohen.

Për shembull, titujt e kolonave (kutia e kontrollit "Sasia" në figurën e mësipërme ju lejon të vendosni çdo tekst titulli për këtë fushë), mund të vendosni formatin e daljes së të dhënave (shihni "Format" në rreshtin "Sasia". Formati mund të modifikohet për çdo lloj të dhënash - vargje, data, numra.

Në skedën Burimet, zgjidhni vetë burimet dhe konfiguroni shfaqjen e rezultateve për to:

Skeda Parametrat përmban gjithçka që ndryshon përmbajtjen e raportit (për shembull, periudhën për të cilën do të zgjidhen të dhënat). Plotësohet automatikisht në bazë të parametrave të kërkesës (shih faqen e parë). Duke përdorur kutitë e kontrollit, mund të rregulloni dukshmërinë dhe disponueshmërinë e këtyre parametrave, të vendosni vlerën fillestare, etj.:

Merrni 267 mësime video në 1C falas:

Dhe së fundi, Cilësimet. Këtu vizatohet pamja e raportit - kolonat, rreshtat, pozicioni i tyre në raport me njëri-tjetrin, grupimet, etj. Butoni "Open Settings Designer" do t'ju ndihmojë të rregulloni linjat dhe kolonat në rendin e dëshiruar. Butoni "Cilësimet e elementeve të personalizuara" do t'ju lejojë të shfaqni parametrat në kokën e raportit:

Kushtojini vëmendje kolonës Periudha.PjesëtData.EmriMonth. Si të shfaqni emrin e muajit në kokën e kolonës? Këtu del.

Nga rruga, është ky cilësim që ju lejon të shfaqni të dhëna për disa periudha në të njëjtën kohë në kolonat e raportit ngjitur:

Një skedë tjetër e rëndësishme është Fushat e Zgjedhura. Nëse është bosh, raporti nuk do të gjenerohet. Zakonisht plotësohet automatikisht duke klikuar butonin "Hap Settings Designer":

Në fakt, kjo është gjithçka që ju nevojitet nga minimumi i kërkuar. Si rezultat, ne do të kemi një raport që duket si ky:

Le të shqyrtojmë krijimin e një raporti të jashtëm në 1C 8 pa përdorur një sistem të përbërjes së të dhënave. Për të krijuar një raport të jashtëm, ne do të përdorim konfigurimin e Kontabilitetit 2.0, të dhënat fillestare: "Shkruani një raport për llogarinë e kontabilitetit 62 në të cilin qarkullimi për periudhën e specifikuar do të shfaqet në kontekst. Kundërpalët Dhe Kontratat e palëve.

1. Krijo një raport

Para së gjithash, le të krijojmë një skedar raporti të jashtëm; për ta bërë këtë, le të shkojmë te 1s 8 në modalitetin Konfiguruesi, le të shkojmë në menu Skedar -> E re, ose klikoni në ikonën dokument i ri.

Zgjidhni artikullin nga lista Raport i jashtëm. Pas krijimit të raportit të jashtëm, jepini një Emër (për shembull Raporti më i thjeshtë) dhe ruajeni në disk. Do të shtojmë edhe dy detaje: Fillimi i periudhës Dhe Fundi i Periudhës lloji datë, do të na duhen për të kufizuar intervalin kohor për marrjen e mostrave të të dhënave kur gjenerojmë një raport.

2. Krijoni një paraqitje të jashtme të raportit

Për të gjeneruar një raport në 1C 8, ju nevojitet një plan urbanistik, ky është një shabllon për shfaqjen e të dhënave në të cilin janë vendosur të gjithë parametrat e nevojshëm, vizatohen tabelat, etj. Le të shtojmë një plan urbanistik të ri; për ta bërë këtë, zgjidhni artikullin në pemën e meta të dhënave të raportit Paraqitjet dhe shtypni butonin Shtoni, kur krijoni, zgjidhni llojin për paraqitjen dokumenti i tabelës.

Paraqitja jonë do të ketë 4 zona:

  • Header - në këtë zonë do të shfaqim emrin e raportit, periudhën për të cilën është krijuar dhe kokën e tabelës;
  • Të dhënat e palës tjetër - në këtë zonë do të shfaqim të dhënat për palën në një tabelë;
  • Marrëveshja e të dhënave kundërpalës - në këtë fushë ne do të shfaqim të dhënat për marrëveshjen e palës tjetër në një tabelë;
  • Fundi - në këtë zonë do të shfaqim vlerat totale për të gjithë raportin për fushat e të ardhurave dhe shpenzimeve.

Le të fillojmë krijimin e zonave të paraqitjes. Për të krijuar një zonë në paraqitjen, zgjidhni numrin e kërkuar të rreshtave dhe klikoni Tabela e menusë -> Emrat -> Cakto emrin(Ose Ctrl + Shift + N). Për rajonin Një kapak Le të shkruajmë emrin e raportit: Qarkullimi 62 akuza, vizatoni duke përdorur mjetin kufijtë kreu i raportit, dhe gjithashtu vendosni parametrat Fillimi i periudhës Dhe Fundi i Periudhës. Duke përdorur parametrat, mund të shfaqni të dhënat e nevojshme në raport; ne do të merremi me këtë në fazën tjetër të zhvillimit, përkatësisht kur shkruajmë kodin e raportit. Për të krijuar një parametër në paraqitjen, zgjidhni qelizën e dëshiruar, shkruani emrin e parametrit në të (pa hapësira), kliko me të djathtën mbi të, zgjidhni artikullin në menunë që hapet Vetitë. Në vetitë e qelizës në skedë Paraqitja zgjidhni mbushjen Parametri.

Pas kësaj, emri i parametrit në qelizë do të mbyllet në kllapa këndore ("<>“). Si rezultat, zona Një kapak duhet të duket kështu:

Në zonë DataCounterparty ne do të krijojmë parametra për shfaqjen e emrit të palës tjetër, si dhe për të ardhurat dhe shpenzimet për llogarinë 62, duke përdorur mjetin kufijtë Le ta dizajnojmë zonën si një rresht tavoline.

Në zonë Marrëveshja e të dhënave kundërpalës Le të krijojmë parametra për paraqitjen e emrit të kontratës, si dhe për të ardhurat dhe shpenzimet për llogarinë 62, duke përdorur mjetin Borders do të projektojmë zonën si një rresht tabele. Le të bëjmë një indent të vogël përpara parametrit Marrëveshja e kundërpalës(kjo mund të bëhet duke ndarë dhe bashkuar qelizat. Klikoni me të djathtën në qelizë -> Shkrihet ose Qelizë e ndarë), është e nevojshme në mënyrë që raporti të shohë se linja për kontratën është më e ulët në hierarki sesa linja për palën tjetër.

Në zonë Bodrum Le të krijojmë parametra për totalin e të ardhurave dhe shpenzimeve.

Si rezultat, duhet të marrim një plan urbanistik si ky:

3. Krijoni një formular raporti

Për të shfaqur të dhënat, vendosni periudhën e formimit dhe butonin Forma raporti ynë do të kërkojë një formular. Për të krijuar një formular, gjeni artikullin në pemën e meta të dhënave të raportit të jashtëm Format dhe shtypni butonin Shtoni. Në faqen e parë të hartuesit të formularit, nuk keni nevojë të bëni asnjë ndryshim, thjesht duhet të klikoni butonin Me tutje.

Në faqen tjetër të projektuesit, zgjidhni të dy detajet e disponueshme( Fillimi i periudhës, Fundi i Periudhës) për vendosjen në formular.

Si rezultat, ne do të marrim këtë formë:

Por ne nuk jemi të kënaqur me të në këtë formë; le të bëjmë disa ndryshime në të:

  • Le të tërhiqni butonin Forma nga paneli i poshtëm i raportit në krye (kjo do të jetë më e përshtatshme për përdoruesin);
  • Shtrijeni formën vertikalisht dhe horizontalisht;
  • Le të rregullojmë fushat Fillimi i periudhës Dhe Fundi i Periudhës horizontalisht;
  • Le të shtojmë një element kontrolli të fushës së dokumentit të fletëllogaritjes në formular (raporti ynë do të shfaqet në të), i japim një emër TabDoc;
  • Le të krijojmë një buton të përzgjedhjes së periudhës (kur klikohet, do të shfaqet një dialog me një zgjedhje të përshtatshme të periudhës së dëshiruar). Ne nuk do të shkruajmë ende kodin e programit për të, kështu që thjesht do të vendosim butonin pranë fushave të pikës.

Si rezultat, forma jonë do të duket si kjo:

4. Programimi

Pas krijimit të formularit të raportit, le të fillojmë programimin. Së pari, le të krijojmë një procedurë për shfaqjen e një dialogu të përzgjedhjes së periudhës (ne kemi krijuar tashmë një buton për këtë në fazën e mëparshme). Klikoni me të djathtën mbi butonin dhe zgjidhni artikullin e menysë Vetitë, në vetitë e butonit shkoni te skeda Ngjarjet, ku duke përdorur butonin me një ikonë zmadhuese do të krijojmë një procedurë Butoni 1 Shtypni në modulin e formës.

Mund të kaloni ndërmjet formularit dhe modulit të tij duke përdorur skedat në fund të formularit

Për të thirrur formularin e përzgjedhjes së periudhës, ne do të përdorim procedurën standarde Kontabiliteti 2.0 nga një modul i përbashkët Puna me Dialogët - HandlerPeriodSettingPress, duhet t'i kaloni detajet e raportit si parametra Fillimi i periudhës Dhe Fundi i Periudhës.

Procedura Butoni 1 Shtyp (Element) Puna me Dialogët.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Fundi i procedurës

Tani le të kalojmë në shkrimin e kodit që do të gjenerojë dhe shfaqë raportin tonë. Moduli i formularit tashmë ka një procedurë ButtonGenerateShtyp, i cili do të ekzekutohet kur të shtypet butoni Forma, këtu do të shkruajmë kodin tonë. Le të fillojmë duke inicializuar variablat e nevojshëm. Para së gjithash, le të krijojmë një variabël për fushat e dokumentit të tabelave në të cilën do të nxjerrim të dhëna, kjo nuk është e nevojshme, thjesht regjistrimi i thirrjeve në të do të bëhet më i shkurtër, që do të thotë se kodi i programit do të jetë më i kuptueshëm për lexim.

TabDoc = FormElements.TabDoc;

Le të marrim paraqitjen e raportit të jashtëm duke përdorur funksionin GetLayout (<ИмяМакета>) , do të kalojmë emrin e paraqitjes si parametër dhe nëse ekziston një paraqitje e tillë, funksioni do ta gjejë atë.

Layout = GetLayout("Layout" );

Pasi të merret faqosja, le të krijojmë variabla për secilën nga zonat e saj, të përdorim metodën e paraqitjes për këtë GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Header" ); AreaDataAccount = Layout.GetArea( "Të dhënat e kontraktorit"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

Le të pastrojmë fushën e dokumentit të tabelës. Kjo është e nevojshme në mënyrë që sa herë që gjenerohet një raport i ri, të dhënat e vjetra të fshihen.

TabDoc.Clear();

Tani që inicializimi i variablave ka përfunduar, le të kalojmë në plotësimin dhe shfaqjen e zonave të paraqitjes një nga një. Le të fillojmë me kokën. Nëse ju kujtohet, ne krijuam dy parametra në këtë zonë Fillimi i periudhës Dhe Fundi i Periudhës, do të kalojmë aty vlerat e periudhës së gjenerimit të raportit, për këtë do të përdorim pronën Opsione zonat e paraqitjes.

AreaHeader.Parameters.PeriodStart = Fillimi Period; AreaHeader.Parameters.EndPeriod = FundPeriod;

Nuk ka më veprime me zonën Një kapak Prodhuesi nuk është i nevojshëm, kështu që ne do ta shfaqim fushën e tij në një dokument fletëllogaritëse.

TabDoc.Output(AreaHead);

Më pas, ne do të shkruajmë një pyetje në bazën e të dhënave, me të cilën do të marrim qarkullimin e llogarisë 62 nga regjistri kontabël Vetë-mbështetës. Le të përcaktojmë një ndryshore në të cilën do të vendoset kërkesa jonë.

Kërkesë = Kërkesë e re;

Para se të fillojmë të shkruajmë tekstin e kërkesës, le t'i kalojmë atij parametrat e nevojshëm. Meqenëse po shkruajmë një kërkesë për një faturë 62 kontabilitetit, atëherë para së gjithash do të krijojmë një parametër për të

Kërko.

Është gjithashtu e nevojshme të kalohet periudha e gjenerimit të raportit në kërkesë. Mos harroni se ne kemi detaje të veçanta të raportit për periudhën e gjenerimit dhe i kalojmë ato si parametra.

Request.SetParameter ("Fillimi i periudhës", Fillimi i periudhës); Request.SetParameter ("Fundi i periudhës", Fundi i periudhës);

Le të fillojmë të shkruajmë tekstin e pyetjes, ne do ta bëjmë këtë duke përdorur projektuesin e pyetjes. Në shumë mësime ata shkruajnë se ju duhet të jeni në gjendje të shkruani një pyetje si me dorë ashtu edhe duke përdorur një konstruktor, por në praktikë nuk është kështu. Në detyrat me të cilat përballet vazhdimisht një programues 1C, përparësia është të shkruajë shpejt dhe me efikasitet kodin, dhe kur shkruani një pyetje në bazën e të dhënave me dorë, kjo është pothuajse e pamundur të arrihet; do të shpenzoni shumë kohë të çmuar duke riprodhuar saktë të gjitha strukturat e pyetjeve dhe gjetja e gabimeve shkrimore që keni bërë kur shkruani, etj. Prandaj, mos e humbni kohën duke u përpjekur të shkruani pyetje manualisht, por përdorni konstruktorin e pyetjeve. Kjo do të kursejë kohën tuaj dhe do t'ju lejojë të shkruani pyetje komplekse pa shumë përpjekje. Për të filluar shkrimin e tekstit të kërkesës, le të shkruajmë në kod:

Kërkesë.Text = "" ;

Pas kësaj, vendosni kursorin midis thonjëzave, klikoni me të djathtën dhe zgjidhni Konstruktor kërkesë. Dritarja e projektuesit të pyetjeve do të hapet.

Tani duhet të zgjedhim tabelën e bazës së të dhënave 1C 8. Na duhet një tabelë virtuale Revolucionet regjistri kontabël Vetë-mbështetës. Le ta gjejmë atë në anën e majtë të dritares së projektuesit

Le ta zhvendosim atë në zonë Tabelat dhe le të fillojmë të plotësojmë parametrat. Për të gjitha tabelat e pyetjeve virtuale ekziston një grup i veçantë parametrash që ju lejojnë të zgjidhni të dhënat e nevojshme nga tabela kryesore (në rastin tonë, tabela kryesore Regjistri i Kontabilitetit Vetë-mbështetës). Le të hapim dritaren e parametrave të tabelës virtuale.

Le të plotësojmë parametrat për periudhën që i kaluam kërkesës. Për të përdorur një parametër në tekstin e kërkesës, duhet të shkruani simbolin përpara emrit të tij ampersand (&)

Mbetet për të plotësuar kushtin për llogarinë e kontabilitetit. Kontabiliteti. Për ta bërë këtë, gjeni rreshtin në parametrat e tabelës virtuale Gjendja e Llogarisë dhe ne do të shkruajmë atje

Llogaria NË HIERARKI (&Llogaria62)

Ju gjithashtu mund të përdorni konstruktorin e kushteve duke klikuar në butonin me tre pika.

Nuk ka nevojë të vendosni më kushte në tabelën virtuale, kështu që le të klikojmë butonin Ne rregull në dritaren e parametrave të tabelës virtuale. Më pas, duhet të zgjedhim fushat që na duhen nga tabela Vetëmbështetës.Qarkullim(domethënë: Kundërpala, Marrëveshja e kundërpalës, Të ardhurat dhe Shpenzimet). Për të parë listën e fushave të disponueshme në tabelën që kemi zgjedhur, klikoni simbolin “+” pranë emrit të tij. Pas kësaj, tërhiqni fushat e kërkuara në zonën më të djathtë të projektuesit të pyetjeve, e cila quhet: Fushat. Nëse hapim skemën e llogarive, do ta shohim atë për llogarinë 62 analitika në Për palën tjetër kjo është Subconto1, dhe nga Marrëveshja e kundërpalës - Subconto2.

Prandaj, nga fushat e tabelës virtuale zgjedhim Nënkonto1 Dhe Nënkonto2. Duke qenë se kemi nevojë për të ardhura dhe shpenzime sipas shumës, zgjedhim edhe fushat Shuma QarkullimDt Dhe Shuma QarkullimKt

Le të plotësojmë pseudonimet e fushave që kemi zgjedhur; për ta bërë këtë, shkoni te skeda Sindikatat/Personatet dhe vendosni emrat e kërkuar të fushave.

Meqenëse në raportin tonë të dhënat do të shfaqen në mënyrë hierarkike (Kontraparta është në nivelin e parë dhe të gjitha kontratat e saj janë në të dytin), ne do të konfigurojmë shfaqjen e të dhënave në hierarki duke përdorur Totalet. Le të shkojmë te skeda në projektues Rezultatet. Zvarriteni në fushat e grupimit në mënyrë sekuenciale Kundërpartia Dhe Marrëveshja e kundërpalës, dhe në finale Duke ardhur Dhe Konsumi.

Kjo përfundon punën në konstruktorin e pyetjeve, klikoni butonin Ne rregull dhe shohim që teksti i kërkesës sonë shfaqet në kodin e programit.

Query.Text = "ZGJEDH | Turnover vetë-mbështetës.Subconto1 AS kundërparti, | Vetë-mbështetës Turnover.Subconto2 AS Marrëveshja e kundërpartisë, | Qarkullim vetë-mbështetës. Sasia e qarkullimitDt AS Faturë, | Qarkullim i Vetëmbështetës.ShumaQyrjeKt AS Shpenzim|NGA | Regjistri i Kontabilitetit Vetëkontabiliteti Qarkullimet (&Fillimi i Periudhës, &Fundi i Periudhës, Llogaria NË HIERARKI (&Llogaria 62),) SI Vetëkontabilitet Qarkullimi|REZULTATET | AMOUNT(Të ardhurat), | SHAMJA(Shpenzime) |PO | Kundërpartia, | Marrëveshja e kundërpartisë";

Pasi të kemi përfunduar me shkrimin e kërkesës, le të fillojmë të plotësojmë zonat DataCounterparty, Marrëveshja e të dhënave Kundërpala Dhe Bodrum. Ne do t'i plotësojmë të gjitha këto zona me të dhënat e marra gjatë ekzekutimit të kërkesës. Meqenëse pyetja jonë përmban grupime( Kundërpartia Dhe Marrëveshja e kundërpalës) zgjidhni të dhënat prej tij si më poshtë:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

Në këtë mënyrë do të marrim regjistrime me totale për të gjitha palët.

Përpara se të kalojmë të dhënat e mostrës duke përdorur një lak, ne inicializojmë variablat e destinuara për llogaritjen e rezultateve të përgjithshme për raportin:

Totali i ardhur = 0; Konsumi total = 0;

Në mënyrë që të dhënat e raportit të shfaqen me një hierarki (dhe rrotullime përgjatë "+"), le të vendosim fillimin e grupimit automatik të rreshtave të dokumentit të tabelës:

TabDoc.StartAutoGroupingRows();

Të gjitha përgatitjet kanë përfunduar, tani le të fillojmë të zvarritim rezultatet e pyetjes. Ne do të kryejmë kalimin duke përdorur një lak Mirupafshim

Ndërsa Zgjidhni Account.Next() Cikli i Fundit Cikli ;

Në fillim të ciklit, rivendosni parametrat Duke ardhur Dhe Konsumi Rajon DataCounterparty. Për çfarë është? Le të imagjinojmë një situatë ku pala tjetër Xhaxhai Vasya, të ardhurat janë 10, dhe shpenzimet janë 5, dhe për palën tjetër Xhaxha Petya nuk ka të ardhura apo shpenzime, në këtë rast, nëse nuk i rivendosim parametrat Duke ardhur Dhe Konsumi, pastaj në linjë sipas palës tjetër Xhaxha Petya do të ketë të ardhura 5 dhe shpenzime 10.

AreaDataAccount.Parametrat.Pranimi = 0; AreaDataAccount.Parametrat.Shpenzimet = 0;

Pas kësaj mbushim zonën DataCounterparty mostër e të dhënave të elementit

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Pas plotësimit të të dhënave, mund të shfaqni zonën në dokumenti i tabelës, Meqenëse po përdorim grupimin automatik të rreshtave, duhet të tregojmë nivelin e rreshtit në grupim (raporti ynë do të ketë dy nivele, për palët i pari për kontratat).

TabDoc.Output(AreaDataAccount,1);

Tani për këtë palë do të bëjmë një përzgjedhje sipas kontratave të saj.

SelectionCounterparty Marrëveshja = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Ne do të kryejmë kalimin duke përdorur një lak Mirupafshim.

Ndërsa SelectionCounterparty Marrëveshja.Next() Loop Cikli i Fundit ;

Në ciklin për marrëveshjet e palëve, le të rivendosim parametrat Duke ardhur Dhe Konsumi, mbushni zonën Kontrata e të dhënave nga kampioni dhe shfaqeni atë në një dokument spreadsheet në nivelin e dytë të regjistrimeve.

AreaDataContract.Parametrat.Pranimi = 0; AreaDataContract.Parametrat.Shpenzimet = 0; PlotësoniPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Gjithashtu në këtë cikël, ne do të shtojmë vlerat aktuale në variablat për llogaritjen e vlerave totale për të ardhurat dhe shpenzimet.

Pranimi Total = Pranimi Total + PërzgjedhjaKundërpartiaMarrëveshje.Pranim; TotalExpense = TotalExpense + Sample Counterparty Marrëveshje.Shpenzime;

Kjo përfundon daljen e të dhënave në zonë DataCounterparty, Marrëveshja e të dhënave Kundërpala përfunduar, ajo që mbetet është të kompletohet grupimi automatik i rreshtave të dokumentit të tabelës.

TabDoc.FinishAutoGroupingRows();

Ciklet e plota përgjegjëse për nxjerrjen e të dhënave në zonë DataCounterparty Dhe Marrëveshja e të dhënave Kundërpala duken kështu:

TabDoc.StartAutoGroupingRows(); Ndërsa SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parametrat.Shpenzimet = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectionCounterparty Marrëveshja = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Ndërsa SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parametrat.Pranimi = 0 ; AreaDataContract.Parametrat.Shpenzimet = 0 ; PlotësoniPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); Pranimi Total = Pranimi Total + PërzgjedhjaKundërpartiaMarrëveshje.Pranim; TotalExpense = TotalExpense + Sample Counterparty Marrëveshje.Shpenzime; Cikli i Fundit ; Cikli i Fundit ; TabDoc.FinishAutoGroupingRows();

Mbetet për të shfaqur të dhënat përfundimtare në zonë Bodrum dhe nxirrni vetë zonën në dokumenti i tabelës.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = Total Consumption; TabDoc.Output(AreaFooter);

Kjo përfundon procesin e shkrimit të një raporti të jashtëm për 1C 8 pa përdorur një sistem të kontrollit të hyrjes. Tani mund të gjenerohet në modalitetin 1C:Enterprise 8 dhe të shtohet në drejtori Përpunimi i jashtëm Mund ta shkarkoni skedarin e raportit të diskutuar në artikull nga .

Shikoni një video për krijimin e një printimi të jashtëm për një aplikacion të menaxhuar:

Raportet 1C 8.3 janë një objekt i veçantë i meta të dhënave të krijuar për të krijuar një prezantim miqësor të përdoruesit të të dhënave nga tabelat e bazës së të dhënave 1C.

Le ta kuptojmë si të konfiguroni raportet, për çfarë nevojiten ato, si ndryshojnë raportet e jashtme nga ato të integruara dhe si ndryshojnë raportet nga përpunimi.

Në mënyrë që të krijoni ose personalizoni një raport, duhet të dini të integruara dhe . Çfarëdo që mund të thuhet, baza për krijimin e pothuajse çdo raporti është pyetja fillestare që merr të dhënat. Ne i përpunojmë këto të dhëna dhe i shfaqim ato në një formë miqësore për përdoruesit.

Raportet janë gjëja kryesore në çdo sistem informacioni, kështu që 1C i kushtoi vëmendje zhvillimit të raporteve dhe krijoi një numër të madh projektuesish dhe mekanizmash për krijimin e tyre.

Le të shohim metodat themelore për krijimin e raporteve

Si të bëni një raport në 1C duke përdorur një plan urbanistik

Krijimi duke përdorur një plan urbanistik është mënyra më rutinë. Megjithatë, ata shpesh i drejtohen asaj nga dëshpërimi, sepse... në këtë metodë, zhvilluesi shkruan plotësisht çdo veprim në kod, që do të thotë se ne mund të bëjmë gjithçka. Mekanizmat e tjerë nuk mund të mburren me këtë.

Por në këtë rast, të gjithë artikujt, menutë dhe "harqet" e tjera do të duhet të futen manualisht, gjë që kërkon shumë punë.

Merrni 267 mësime video në 1C falas:

Krijimi i një raporti duke përdorur dizajnerin e formularit të daljes

Projektuesi i formularit të daljes është një mekanizëm i integruar në platformë që e bën më të lehtë zhvillimin e raportit. Projektuesi është i disponueshëm vetëm për forma të rregullta.

Projektuesit i jepet kërkesa dhe të gjithë parametrat e nevojshëm për raportin e ardhshëm, dhe ai, nga ana tjetër, gjeneron module dhe formularë raporti. Mekanizmi bazohet në një objekt të gjuhës së integruar 1C 8.2 - Ndërtuesi i raporteve.

Krijimi i një raporti duke përdorur Raportin e Përgjithshëm

Raporti universal ka funksionalitet të shkëlqyeshëm, një ndërfaqe të përshtatshme cilësimeve që është e njohur për përdoruesin:

Raportet e bazuara në Sistemin e Përbërjes së të Dhënave

Kjo është metoda më progresive e krijimit të raporteve në 1C, e rekomanduar nga vetë 1C. u shfaq në platformën 1C në versionin 8.1.

SKD ju lejon të krijoni raporte të thjeshta pa një linjë programimi fare, sepse ka një konstruktor shumë fleksibël dhe funksional për krijimin e një skeme të përbërjes së të dhënave:

Në të gjitha konfigurimet e fundit, të gjitha raportet shkruhen duke përdorur një sistem të përbërjes së të dhënave.

Cili është ndryshimi midis raporteve të jashtme dhe atyre të integruara?

Siç është shkruar në dokumentacion - asgjë. Mekanizmi i raportimit të jashtëm u krijua për të korrigjuar raportet gjatë zhvillimit.

I vetmi ndryshim kur zhvilloni një zgjidhje është se nuk mund të përdorni një raport të jashtëm "me emër", ndryshe nga një raport i integruar.

Si ndryshon një raport nga përpunimi?

Në fakt, praktikisht asgjë. Dallimi kryesor është qëllimi i përdorimit të objektit: raportet nevojiten për të shfaqur informacionin, dhe raportet nevojiten për të ndryshuar informacionin.

Dallimet kryesore në vetitë: në raporte, mund të specifikoni skemën bazë të përbërjes së të dhënave (DCS) dhe të specifikoni cilësimet për ruajtjen e parametrave të raportit.