Si të konfiguroni telefonat inteligjentë dhe PC. Portali informativ

1c 8.3 parametrat e paraqitjes së të dhënave. Krijimi i një raporti të ri

Kujdes! Këtu është një version provë i mësimit, materialet e të cilit mund të mos jenë të plota.

Hyni si student

Identifikohu si student për të hyrë në përmbajtjen e shkollës

1C 8.3 Sistemi i përbërjes së të dhënave për fillestarët: krijimi i një lidhjeje midis grupeve të të dhënave

  • Shkruani një raport që shfaq klientët dhe produktet e tyre të preferuara. Secili klient ka një ngjyrë të preferuar, dhe çdo produkt ka ngjyrën e vet - është në bazë të këtyre ngjyrave që ju duhet të përcaktoni "të preferuarin" e produktit. Për shembull, nëse ngjyra e preferuar e Andreit është e kuqja, atëherë një nga ushqimet e tij të preferuara do të jenë domatet (ato janë të kuqe).
  • Aplikoni dy grupe të dhënash në raport. Grupi i parë janë të dhëna nga tabela e referencës "Klientë". E dyta - të dhëna nga tabela e librit të referencës "Ushqimi".
  • Zbatoni lidhja e këtyre dy grupeve në mënyrë që vetëm produktet e preferuara për secilin nga klientët të mbeten në raport.

Krijimi i një raporti të ri

Hapni bazën e të dhënave "Gastronom" në konfigurues dhe krijoni një raport të ri përmes menysë kryesore:

Lloji i dokumentit - "Raport i jashtëm":

Në formën e një raporti të ri, specifikoni emrin "Mësimi 6" dhe klikoni butonin "Skema e përbërjes së të dhënave të hapura":

Lëreni emrin e paracaktuar të skemës:

Shtimi i të dhënave të parë

Në skemën që hapet, shkoni te skeda "Setet e të dhënave" dhe zgjidhni "Shto të dhënat e të dhënave - pyetje" përmes shenjës së gjelbër plus:

Ne e quajmë konstruktorin e pyetjes:

Specifikoni tabelën "Klientë" dhe fushat që dëshironi të merrni nga pyetja:

Shtimi i një grupi të dhënash të dytë

Shtimi i një grupi të dhënash të dytë:

Zgjidhni atë (DataSet2) dhe thirrni përsëri konstruktorin e pyetjes:

Specifikoni tabelën e librit të referencës "Ushqimi" dhe fushat që dëshironi të merrni nga kërkesa:

Ky është teksti i kërkesës:

Ju lutemi vini re se tani kemi dy grupe të dhënash në raport: DataSet1 dhe DataSet2. Secili ka tekstin dhe të dhënat e veta të kërkesës.

Duke i bërë emrat më përshkrues

Për qartësi, le të riemërtojmë Dataset1 në Clients dhe Dataset2 në Food.

Bëni këtë duke klikuar dy herë në secilin prej grupeve:

Ne mund të përdorim të dhënat e secilit prej grupeve në raportin tonë. Ne do t'i qasemi këtyre të dhënave përmes fushave.

Aktualisht, grupi "Klientë" ka këto fusha: "Emri" dhe "Ngjyra e preferuar", dhe grupi "Ushqimi": "Emri" dhe "Ngjyra".

Shohim që emrat kryqëzohen dhe lehtë mund të ngatërrohemi. Pra, le të ndryshojmë emrat e fushave për të qenë më përshkrues.

Zgjidhni grupin "Klientë" dhe ndryshoni emrat e fushave si kjo:

Pastaj zgjidhni grupin "Ushqim" dhe ndryshoni emrat e fushave si kjo:

Thirrja e konstruktorit të cilësimeve

Më në fund, shkoni te skedari "Cilësimet" dhe shtypni shkopin magjik për të shfaqur konstruktorin e cilësimeve:

Lloji i raportit - "Lista...":

Zgjidhni fushat për raportin nga të dy grupet:

Shihni pse ishte kaq e rëndësishme ndryshimi i emrave të fushave? Në fazën e cilësimeve të përbërjes së të dhënave, ne nuk shohim se nga cilat grupe janë këto fusha. Ne shohim vetëm emrat e tyre.

Kontrollimi i raportit

Ne e ruajmë raportin dhe e gjenerojmë atë në modalitetin e përdoruesit:

Po. Mirë, por jo në të vërtetë. Një i ashtuquajtur bashkim kryq i dy grupeve ka ndodhur (ju duhet të jeni të njohur me këtë nga bashkimet në pyetjet që kemi studiuar në modulet e mëparshme). Çdo regjistrim nga tabela "Klientë" ka një rekord përkatës nga tabela "Ushqimi".

Por nga të gjitha këto regjistrime, ne duhet të lëmë vetëm ato për të cilat fusha "FavoriteCustomerColor" është e barabartë me fushën "FoodColor":

Lidhja e dy grupeve të të dhënave

Për ta bërë këtë, le të lidhim dy grupe të dhënash (Klientë dhe Ushqim) sipas fushave Ngjyra e preferuar e Klientit dhe Ngjyra e Ushqimit.

Shkoni te skeda "Lidhjet e të dhënave" dhe klikoni në butonin plus për të shtuar një lidhje të re:

Vendosni parametrat siç tregohet më poshtë:

Unë do të bëj një shpjegim.

Burimi dhe marrësi i komunikimit. Epo, gjithçka është e qartë këtu. Specifikoni grupin e parë (Klientë) dhe grupin e dytë (Ushqimin) e të dhënave. Dua të tërheq vëmendje të veçantë për faktin se komunikimi do të kryhet sipas parimit bashkimi i jashtëm majtas(e kemi kaluar në temën e kërkesave në modulet e mëparshme). Bazuar në këtë, ju duhet të zgjidhni se cili grup do të jetë burimi dhe cili marrës.

shprehje burimore. Specifikoni këtu një shprehje ose thjesht një fushë nga grupi i të dhënave burimore (ne kemi specifikuar fushën e ngjyrës së preferuar të klientit nga grupi i klientëve këtu).

shprehje marrës. Ne tregojmë këtu një shprehje ose thjesht një fushë nga grupi i të dhënave të marrësit (ne treguam fushën Food Color nga grupi i ushqimit këtu).

Kështu, kjo lidhje do të lërë nga lista e mëparshme vetëm ato rreshta, fusha e të cilëve FavoriteCustomerColor është e barabartë me fushën FoodColor.

Ruani raportin dhe ekzekutoni atë në modalitetin e përdoruesit:

Mirë!

Unë do të bëj një shpjegim për fushën " Gjendja e komunikimit", për të cilën programuesit fillestar aq shpesh rrahin shtizat e tyre.

Kushti i lidhjes është një fushë ndihmëse. Mund të shkruani shprehje atje. që përfshin fusha vetëm nga grupi i të dhënave të specifikuar në burimin e lidhjes.

Në këtë rast, për të gjitha rreshtat nga burimi i lidhjes, kjo shprehje (gjendja e lidhjes) do të kontrollohet para lidhjes. Dhe nëse kjo shprehje është E VËRTETË, atëherë do të bëhet një përpjekje për të lidhur këtë varg me vargjet nga lavazhi i lidhjes. Nëse shprehja është FALSE, nuk do të bëhen përpjekje të tilla.

Një nga mjetet më të përshtatshme dhe unike të zhvillimit në 1C është sistemi i përbërjes së të dhënave (SKD). Në pak sisteme informacioni, zhvilluesit mund 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 për nevojat e tyre pa pritur që zhvilluesit të ndërmarrin veprime.

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

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

  1. Krijo një kërkesë. Ju mund të shkruani një kërkesë me dorë ose të bëni pa kod programi duke përdorur një ndërfaqe të përshtatshme;
  2. Raporto konfigurimin. Përzgjidhen fushat, totalet, grupimet, parametrat, dizajni i raportit;
  3. Pas kësaj, ne vetëm duhet të lidhim raportin që rezulton me konfigurimin në çdo mënyrë të mundshme.

Pavarësisht aftësisë së përdoruesve për të konfiguruar raportet në ACS, ato duhet të krijohen përmes konfiguruesit.

Konsideroni një shembull të krijimit të një raporti të jashtëm për ACS:


Tani shkojmë në 1C, hapim raportin tonë për t'u siguruar që veprimet e ndërmarra janë të sakta. Të dhënat pasqyrohen të gjitha, grupimet mund të shemben dhe zgjerohen. Siç mund ta shihni, ACS ju lejon të merrni raporte të plota pa shkruar kod, përveç kërkesave jo standarde. Duke pasur parasysh se shumica e raporteve kanë një strukturë të ngjashme, njohja e ACS do të reduktojë ndjeshëm kohën për zhvillimin e këtyre objekteve.

Popullariteti i madh i këtij mekanizmi u sigurua nga mbështetja e mundësive të gjera gjatë krijimit të një raporti. Për më tepër, jo vetëm zhvilluesit, por edhe përdoruesit e zakonshëm mund t'i përdorin ato.

Aftësitë SKD

Ka situata kur kemi bërë një raport dhe më pas vjen një përdorues dhe kërkon një rishikim të vogël. Për shembull, në vend të emrave të nomenklaturës, shfaqni artikuj. ACS i lejon përdoruesit të bëjnë përmirësime të tilla vetë 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 vendosi 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.


Dritarja për modifikimin 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ë një përzgjedhje ose të vendosë një dizajn të kushtëzuar. Ne përfundojmë redaktimin dhe gjenerojmë një raport - siç mund ta shihni, i gjithë diapazoni tani shfaqet si artikuj.


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 - "Setet 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ë nevojitet secila prej skedave:

  1. Grupet e të dhënave - të gjitha pyetjet e përfshira në gjenerimin e raportit janë renditur këtu;
  2. Marrëdhëniet me grupin e të dhënave - përdoret për të ndërtuar marrëdhënie midis pyetjeve të ndryshme nga skeda e parë;
  3. Fushat e llogaritura - një listë e fushave të shtuara jo nga pyetja. Përdoret më shpesh në rastet kur, bazuar në vlerat e disa fushave nga kërkesa, duhet të merrni 1 vlerë;
  4. Burimet. Në 1C, ky është emri i fushave për të cilat duhet të dini totalet. 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ë, departamente ose nomenklaturë, për shembull;
  6. Layouts. Projektuar për ato raste kur përdoruesit duan të shohin një raport të dizajnuar në mënyrë unike. Krijoni një vend të veçantë për nënshkrime ose një krye të re të raportit - e gjithë kjo mund të bëhet këtu;
  7. skemat e mbivendosura. Ato nevojiten kur raporti juaj duhet të përmbajë të dhëna nga raporte të tjera;
  8. Cilësimet. Seksioni deklaron fushat e daljes, 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 me kalimin e viteve. Për të filluar punën e suksesshme në ACS, mjafton të njihni konceptet bazë dhe cilësimet e përdorura shpesh. Në raste të rralla, dokumentacioni do të vijë në shpëtim.

Një nga fushat më të rëndësishme të softuerit të biznesit është raportimi. Sa e lehtë është të personalizosh një raport ekzistues me nevojat në ndryshim të biznesit (dhe legjislacionit) ose të bësh një të ri mund të varet (dhe jo në kuptimin figurativ!) Fati i biznesit, nëse është një raport për zyrën e taksave. ose një diagramë të varësisë së kërkesës për mallra nga stina dhe faktorë të tjerë. Një sistem raportimi i fuqishëm dhe fleksibël që e bën të lehtë nxjerrjen e të dhënave të duhura nga sistemi, paraqitjen e tyre në një formë të kuptueshme, duke i lejuar përdoruesit përfundimtar të rikonfigurojë një raport standard për t'i parë të dhënat në një dritë të re - ky është ideali që çdo sistemi i biznesit duhet të përpiqet për.

Në platformën 1C: Enterprise, një mekanizëm i quajtur Sistemi i Përbërjes së të Dhënave (shkurt ACS) është përgjegjës për gjenerimin e raporteve. Në këtë artikull, ne do të përpiqemi të japim një përshkrim të shkurtër të idesë dhe arkitekturës së mekanizmit ACS dhe aftësive të tij.


ACS është një mekanizëm i bazuar në përshkrimin deklarativ të raporteve. ACS është krijuar për të krijuar raporte dhe për të shfaqur informacione që kanë një strukturë komplekse. Nga rruga, përveç zhvillimit të raporteve, mekanizmi ACS përdoret gjithashtu në 1C: Enterprise në një listë dinamike, një mjet për shfaqjen e informacionit të listës me funksionalitet të pasur (shfaqja e listave të sheshta dhe hierarkike, formatimi i rreshtave të kushtëzuar, grupimi, etj.) .

Pak histori

Në versionin e parë të platformës 1C:Enterprise 8, versioni 8.0, raportet u bënë si më poshtë:
  1. Një ose më shumë pyetje janë shkruar në gjuhën e pyetjeve 1C (gjuhë e ngjashme me SQL, më shumë rreth saj më poshtë).
  2. U shkrua kodi që transferoi rezultatet e pyetjeve të ekzekutuara në një dokument ose grafik të tabelës. Kodi mund të bëjë gjithashtu punë që nuk mund të bëhet në një pyetje - për shembull, ai llogarit vlerat duke përdorur gjuhën e integruar 1C.
Qasja është e drejtpërdrejtë, por jo më e përshtatshme - ka një minimum të cilësimeve vizuale, gjithçka duhet të programohet dorë më dorë. Dhe një nga kartat atu në atë kohë të platformës krejtësisht të re 1C:Enterprise 8 ishte minimizimi i sasisë së kodit në zgjidhjen e aplikacionit që duhet të shkruhet manualisht, në veçanti, për shkak të dizajnit vizual. Do të ishte logjike të ndiqni të njëjtën rrugë në mekanizmin e raportimit. Kjo u bë duke zhvilluar një mekanizëm të ri - Sistemi i Përbërjes së të Dhënave.

Një nga idetë që formoi bazën e ACS ishte fleksibiliteti dhe personalizimi i raporteve, i cili është i disponueshëm si për zhvilluesin ashtu edhe për përdoruesin përfundimtar. Në mënyrë ideale, ne do të dëshironim t'i jepnim përdoruesit fundor akses në të njëjtin grup mjetesh për hartimin e raporteve si zhvilluesi. Do të ishte logjike të vihej në dispozicion një grup i vetëm mjetesh për të gjithë. Epo, meqenëse mjetet përfshijnë pjesëmarrjen e përdoruesit përfundimtar, do të thotë që përdorimi i programimit në to duhet të hiqet në minimum (më e mira nga të gjitha, të eliminohet plotësisht), dhe cilësimet vizuale duhet të përdoren në maksimum.

Formulimi i problemit

Detyra para ekipit të zhvillimit ishte kjo - të krijonte një sistem raportimi të bazuar jo në një algoritmi (dmth. përmes shkrimit të kodit), por në një qasje deklarative për krijimin e raporteve. Dhe ne besojmë se problemi është zgjidhur me sukses. Në përvojën tonë, rreth 80% e raportimit të kërkuar mund të zbatohet duke përdorur ACS pa një rresht të vetëm kodi (përveç shkrimit të formulave për fushat e llogaritura), në pjesën më të madhe - përmes cilësimeve vizuale.
Zhvillimi i versionit të parë të ACS zgjati rreth 5 vjet njerëz.

Dy gjuhë

Dy gjuhë janë të përfshira në krijimin e raporteve. Njëra është gjuha e pyetjes e përdorur për të marrë të dhënat. E dyta është gjuha e shprehjes së përbërjes së të dhënave, e krijuar për të shkruar shprehje të përdorura në pjesë të ndryshme të sistemit, për shembull, në cilësimet e përbërjes së të dhënave, për të përshkruar shprehjet e fushës me porosi.

Gjuha e pyetjes

Gjuha e pyetjes bazohet në SQL dhe zotërohet lehtësisht nga ata që e njohin SQL. Shembulli i kërkesës:

Është e lehtë të shikosh analoge të seksioneve standarde të pyetjeve SQL - SELECT, FROM, GROUP BY, ORDER BY.

Në të njëjtën kohë, gjuha e pyetjeve përmban një numër të konsiderueshëm zgjerimesh të fokusuara në pasqyrimin e specifikave të detyrave financiare dhe ekonomike dhe në reduktimin maksimal të përpjekjeve për zhvillimin e zgjidhjeve të aplikuara:

  • Referencimi i fushave përmes një pike. Nëse fushat e një tabele kanë një lloj referimi (ato ruajnë lidhje me objektet e një tabele tjetër), zhvilluesi mund t'u referohet atyre në tekstin e pyetjes përmes ".", ndërsa numri i niveleve të foleve të lidhjeve të tilla nuk kufizohet nga sistemi (për shembull, Urdhri i Klientit. Marrëveshja. Organizimi. Telefoni).
  • Formimi shumëdimensional dhe shumënivelësh i rezultateve. Totalet dhe nëntotalet formohen duke marrë parasysh grupimin dhe hierarkinë, nivelet mund të anashkalohen në një mënyrë arbitrare me përmbledhjen e nëntotaleve, sigurohet ndërtimi i saktë i totaleve sipas dimensioneve kohore.
  • Mbështetje për tabelat virtuale. Tabelat virtuale të ofruara nga sistemi ju lejojnë të merrni të dhëna pothuajse të gatshme për shumicën e detyrave të aplikacionit pa pasur nevojë të shkruani pyetje komplekse. Kështu, një tabelë virtuale mund të sigurojë të dhëna për bilancin e mallrave në kontekstin e periudhave në një moment të caktuar kohor. Në të njëjtën kohë, tabelat virtuale shfrytëzojnë sa më shumë informacionin e ruajtur, për shembull, totalet e llogaritura më parë, etj.
  • Tavolina të përkohshme. Gjuha e pyetjeve ju lejon të përdorni tabela të përkohshme në pyetje. Me ndihmën e tyre, ju mund të përmirësoni performancën e pyetjeve, në disa raste të zvogëloni numrin e bllokimeve dhe ta bëni tekstin e pyetjes më të lehtë për t'u lexuar.
  • kërkesat e grupit. Për punë më të përshtatshme me tabela të përkohshme, gjuha e pyetjes mbështet punën me pyetjet e grupit - kështu, krijimi i një tabele të përkohshme dhe përdorimi i saj vendosen në një pyetje. Një kërkesë grupi është një sekuencë kërkesash të ndara me një pikëpresje (";"). Kërkesat në grup ekzekutohen njëra pas tjetrës. Rezultati i ekzekutimit të një pyetjeje grupi, në varësi të metodës së përdorur, do të jetë ose rezultati i kthyer nga pyetja e fundit e grupit, ose një grup i rezultateve të të gjitha kërkesave të grupit në rendin që ndjekin kërkesat në grup.
  • Marrja e pamjeve të fushës së referencës. Çdo tabelë objekti (në të cilën ruhet një direktori ose dokument) ka një fushë virtuale - "Përfaqësimi". Kjo fushë përmban një paraqitje tekstuale të objektit dhe e bën më të lehtë për projektuesin e raportit. Pra, për një dokument, kjo fushë përmban të gjitha informacionet kryesore - emrin e llojit të dokumentit, numrin dhe datën e tij (për shembull, "Shitje 000000003 nga 07/06/2017 17:49:14"), duke kursyer zhvilluesin nga duke shkruar një fushë të llogaritur.
  • dhe etj.
Motori i pyetjeve modifikon automatikisht pyetjen, duke marrë parasysh rolet e përdoruesit në emër të të cilit është ekzekutuar pyetja (d.m.th., përdoruesi do të shohë vetëm të dhënat që ai ka të drejtë të shohë) dhe opsionet funksionale (d.m.th., në përputhje me ai i konfiguruar në funksionalitetin e zgjidhjes së aplikacionit).

Ekzistojnë gjithashtu shtesa të veçanta të gjuhës së pyetjeve për SKD. Zgjerimi kryhet duke përdorur udhëzime të veçanta sintaksore të mbyllura në kllapa kaçurrelë dhe të vendosura drejtpërdrejt në tekstin e kërkesës. Me ndihmën e shtesave, zhvilluesi përcakton se cilat operacione do të jetë në gjendje të kryejë përdoruesi përfundimtar duke personalizuar raportin.

Për shembull:

  • ZGJIDHNI. Kjo fjali përshkruan fushat që përdoruesi do të jetë në gjendje të zgjedhë për dalje. Pas kësaj fjale kyçe, pseudonimet e fushave nga lista kryesore e përzgjedhjes së pyetjeve, të cilat do të jenë të disponueshme për personalizim, renditen të ndara me presje. Shembull: (Nomenklatura SELECT, Magazina)
  • KU. Përshkruan fushat në të cilat përdoruesi mund të aplikojë përzgjedhjen. Ky propozim përdor fushat e tabelës. Përdorimi i pseudonimeve të fushave të listës së përzgjedhur nuk lejohet. Çdo pjesë bashkimi mund të përmbajë elementin e vet WHERE. Shembuj: (WHERE Nomenklature.*, Warehouse ), (WHERE Document.Date >= &StartDate, Document.Date<= &ДатаКонца}
  • dhe etj.
Një shembull i përdorimit të shtesave:

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

Gjuha e shprehjes së përbërjes së të dhënave është krijuar për të shkruar shprehjet e përdorura, në veçanti, për të përshkruar shprehjet e fushës me porosi. ACS ju lejon të përcaktoni fushat e personalizuara në një raport duke përdorur ose shprehjet tuaja ose grupe opsionesh me kushte për zgjedhjen e tyre (analoge me CASE në SQL). Fushat e personalizuara janë analoge me fushat e llogaritura. Ato mund të vendosen si në konfigurues ashtu edhe në modalitetin 1C:Enterprise, por funksionet e moduleve të zakonshme nuk mund të përdoren në shprehjet e fushës me porosi. Prandaj, fushat e personalizuara janë më shumë për përdoruesin sesa për zhvilluesin.

Shembull:

Procesi i krijimit të një raporti për ACS

Kur krijojmë një raport, duhet të krijojmë një plan urbanistik që përcakton se si do të shfaqen të dhënat në raport. Ju mund të krijoni një plan urbanistik bazuar në një skemë të përbërjes së të dhënave. Skema e përbërjes së të dhënave përshkruan thelbin e të dhënave që i jepen raportit (nga mund t'i merrni të dhënat dhe si mund ta kontrolloni përbërjen e tij). Skema e përbërjes së të dhënave është baza mbi të cilën mund të gjenerohen të gjitha llojet e raporteve. Skema e përbërjes së të dhënave mund të përmbajë:
  • teksti i kërkesës me udhëzimet e sistemit të përbërjes së të dhënave;
  • përshkrimi i disa grupeve të të dhënave;
  • një përshkrim të detajuar të fushave të disponueshme;
  • përshkrimi i marrëdhënieve ndërmjet disa grupeve të të dhënave;
  • përshkrimi i parametrave të marrjes së të dhënave;
  • përshkrimi i paraqitjeve dhe grupimeve të fushave;
  • dhe etj.

Për shembull, mund të shtoni një pyetje në skemën e përbërjes së të dhënave si një grup të dhënash dhe të telefononi konstruktorin e pyetjes, i cili ju lejon të hartoni grafikisht një pyetje me kompleksitet arbitrar:

Rezultati i ekzekutimit të ndërtuesit të pyetjeve do të jetë teksti i pyetjes (në gjuhën e pyetjes 1C: Enterprise). Ky tekst mund të rregullohet manualisht nëse është e nevojshme:

Mund të ketë disa grupe të dhënash në një skemë të përbërjes së të dhënave, grupet e të dhënave mund të lidhen në një plan urbanistik në një mënyrë arbitrare, mund të shtohen fushat e llogaritura, mund të vendosen parametrat e raportit, etj. Vlen të përmendet një veçori interesante e mekanizmit të pyetjeve në 1C: Enterprise. Pyetjet përfundimisht përkthehen në një dialekt të SQL specifike për DBMS me të cilin aplikacioni punon drejtpërdrejt. Në përgjithësi, ne përpiqemi të përdorim në maksimum aftësitë e serverëve DBMS (jemi të kufizuar nga fakti se përdorim vetëm ato aftësi që janë të disponueshme njëkohësisht në të gjitha DBMS të mbështetura nga platforma 1C: Enterprise - MS SQL, Oracle, IBM DB2 , PostgreSQL). Kështu, në nivelin e pyetjes në fushat e llogaritura, ne mund të përdorim vetëm ato funksione që përkthehen në SQL.

Por në nivelin e skemës së përbërjes së të dhënave, ne tashmë mund të shtojmë fusha të personalizuara dhe të përdorim funksione në to në gjuhën e integruar të zhvillimit 1C (përfshirë ato të shkruara nga ne), gjë që zgjeron shumë aftësitë e raporteve. Teknikisht, duket kështu - gjithçka që mund të përkthehet në SQL përkthehet në SQL, pyetja ekzekutohet në nivelin DBMS, rezultatet e pyetjes vendosen në kujtesën e serverit të aplikacionit 1C dhe ACS llogarit vlerat të fushave të llogaritura për çdo rekord, formulat e të cilit janë shkruar në gjuhën 1C.


Shtimi i fushave të personalizuara

Ju mund të shtoni çdo numër tabelash dhe grafikësh në raport:


Projektuesi i raportit


Raportoni në kohën e ekzekutimit

Me ndihmën e ACS, përdoruesi mund të shtojë zgjedhje komplekse në raport (të cilat do t'i shtohen pyetjes në vendet e duhura), dizajn të kushtëzuar (që ju lejon të formatoni fushat e daljes në mënyra të ndryshme - në font, ngjyrë, etj., në varësi të vlerave të tyre) dhe shumë më tepër.

Përshkruani shkurtimisht procesin e ndërtimit dhe gjenerimit të një raporti si më poshtë:

  • Zhvilluesi në kohën e projektimit me ndihmën e projektuesit (ose në kohën e ekzekutimit me ndihmën e kodit) përcakton skemën e paraqitjes së të dhënave:
    • Teksti i kërkesës/kërkesave
    • Përshkrimi i fushave të llogaritura
    • Marrëdhëniet ndërmjet pyetjeve (nëse ka më shumë se një)
    • Opsionet e raportit
    • Cilësimet e parazgjedhura
    • etj.
  • Cilësimet e mësipërme ruhen në paraqitje
  • Përdoruesi hap një raport
    • Mundësisht bën cilësime shtesë (për shembull, ndryshon vlerat e parametrave)
    • Shtyp butonin "Generate".
  • Cilësimet e përdoruesit zbatohen për skemën e përbërjes së të dhënave të përcaktuar nga zhvilluesi.
  • Formohet një plan urbanistik i ndërmjetëm i përbërjes së të dhënave, që përmban udhëzime se nga mund të merren të dhënat. Në veçanti, pyetjet e specifikuara në paraqitje korrigjohen. Pra, fushat që nuk përdoren në raport hiqen nga kërkesa (kjo bëhet për të minimizuar sasinë e të dhënave të marra). Të gjitha fushat që përdoren në formulat e llogaritura të fushave i shtohen pyetjes.
  • Përpunuesi i përbërjes së të dhënave është përfshirë në rast. Procesori i paraqitjes ekzekuton pyetje, lidh grupet e të dhënave, llogarit vlerat e fushave dhe burimeve të llogaritura, kryen grupimin. Me një fjalë, bën të gjitha llogaritjet që nuk janë kryer në nivel DBMS.
  • Përpunuesi i daljes së të dhënave lëshon një kërkesë për ekzekutim dhe nxjerr të dhënat e marra në një dokument spreadsheet, grafik, etj.


Procesi i gjenerimit të një raporti nga mekanizmi ACS

Ne përpiqemi të minimizojmë sasinë e të dhënave raportuese të transferuara nga serveri në aplikacionin e klientit. Kur shfaqim të dhëna në një dokument spreadsheet, kur hapim një dokument spreadsheet, ne transferojmë nga serveri vetëm ato rreshta që përdoruesi sheh në fillim të dokumentit. Ndërsa përdoruesi lëviz përgjatë vijave të dokumentit, të dhënat që mungojnë shkarkohen nga serveri te klienti.

Cilësimet e përdoruesit

Të gjitha mjetet ACS janë të disponueshme si për zhvilluesin ashtu edhe për përdoruesin përfundimtar. Por praktika ka treguar se përdoruesi përfundimtar shpesh është i frikësuar nga bollëku i aftësive të veglave. Për më tepër, në shumicën e rasteve, përdoruesi përfundimtar nuk ka nevojë për të gjithë fuqinë e cilësimeve - mjafton që ai të ketë akses të shpejtë në vendosjen e një ose dy parametrave të raportit (për shembull, periudhën dhe palën tjetër). Duke filluar me një version të caktuar të platformës, zhvilluesi i raportit ka mundësinë të shënojë se cilat cilësime të raportit janë në dispozicion të përdoruesit. Kjo bëhet duke përdorur kutinë e kontrollit "Përfshi në cilësimet e përdoruesit". Gjithashtu, cilësimet e raportit tani kanë një flamur "Modaliteti i ekranit" që merr një nga tre vlerat:
  • Qasje e shpejtë. Cilësimi do të shfaqet drejtpërdrejt në krye të dritares së raportit.
  • Normale. Cilësimi do të jetë i disponueshëm përmes butonit "Cilësimet".
  • I padisponueshem. Cilësimi nuk do të jetë i disponueshëm për përdoruesin përfundimtar.


Vendosja e modalitetit të shfaqjes në kohën e projektimit


Shfaqni cilësimin në modalitetin e Qasjes së Shpejtë në kohën e ekzekutimit (nën butonin Generate)

Planet e zhvillimit

Një nga prioritetet në zhvillimin e ACS për ne është thjeshtimi i cilësimeve të përdoruesit. Përvoja jonë tregon se për disa përdorues të fundit, puna me cilësimet e përdoruesit është ende një punë serioze. Ne e kemi parasysh këtë dhe punojmë në këtë drejtim. Prandaj, do të bëhet gjithashtu më e lehtë për zhvilluesit të punojnë me ACS, sepse ne, si më parë, duam të ofrojmë një paketë të vetme veglash për konfigurimin e raporteve si për zhvilluesin ashtu edhe për përdoruesin përfundimtar.

Konsideroni procesin e krijimit të një raporti në 1C 8.3 duke përdorur Sistemin e Përbërjes së të Dhënave. Për shembull, le të marrim detyrën e mëposhtme: raporti duhet të fusë të dhëna nga pjesa tabelare e mallrave të dokumenteve Shitjet e mallrave dhe shërbimeve për një periudhë të caktuar dhe për organizatën e zgjedhur. Ai gjithashtu duhet të grupojë të dhënat sipas fushave Kontraktori, Lidhja me dokumentin dhe Nomenklatura.

Një shembull i raportit që rezulton mund të shkarkohet nga .

Duke përdorur menynë File->New, ne do të shtojmë një raport të ri të jashtëm, do t'i japim një emër dhe do ta ruajmë në disk. Le të krijojmë një skemë të paraqitjes duke përdorur butonin e skemës së paraqitjes së të dhënave të hapura.

Shkrimi i një kërkese 1C për SKD

Pas krijimit të skemës së paraqitjes, duhet të shkruajmë një pyetje që do të mbledhë të dhëna për raportin. Për ta bërë këtë, në skedën Datasets, krijoni një grup të dhënash Query.

Tani mund të filloni të shkruani një pyetje, ekziston një fushë e veçantë për të në grupin e të dhënave. Mund të shkruani si manualisht ashtu edhe duke përdorur konstruktorin (i cili është shumë më i përshtatshëm). Në raportin tonë, pyetja është më e thjeshta:

|ZGJIDHJE | Realizimi i Mallrave, Sherbimeve, Mallrave Link, | Realizimi i Mallrave të Shërbimeve Mallrat Lidhja Organizata, | Shitjet e Mallrave, Shërbimeve, Mallrave.Lidhja.Kontraparta, | Realizimi i Mallrave, Sherbimeve, Mallrave.Nomenklatura, | Realizimi i Mallrave, Sherbimeve, Mallrave.Shuma, | Shitjet e Mallrave, Shërbimeve, Mallrave Norma e TVSH-së, | Realizimi i mallrave, shërbimeve, mallrave.Shuma e TVSH-së, | Realizimi i Mallrave Sherbime Mallra.Çmimi |NGA | Dokumenti.Realizimi i MallraveShërbimet.Mallrat | SI Realizimi i Mallrave Shërbimet Mallrat | KU | Realizimi i Mallrave te Sherbimeve Mallrat Lidhja Data | MES &Periudhës së Fillimit DHE &Periudhës së Fundit | Dhe Realizimi i Mallrave të Shërbimeve Mallrat Lidhja Organizata | = &Organizimi

Përshtatja e fushave të grupit të të dhënave

Pas shkrimit të kërkesës, ACS do të plotësojë automatikisht tabelën me cilësimet e fushës.

Më lejoni të përshkruaj shkurtimisht disa nga cilësimet:


Vendosja e burimeve

Fushat e burimeve në sistemin e përbërjes së të dhënave janë fusha, vlerat e të cilave llogariten bazuar në të dhënat e detajuara të përfshira në grupim. Në thelb, burimet janë totale grupore ose të përgjithshme të raportit. Në rastin tonë, burimet do të jenë fushat Shuma dhe Shuma TVSH. Totalet e burimeve mund të llogariten duke përdorur funksionet e gjuhës së shprehjes SKD, më të thjeshtat prej të cilave janë Shuma (), Mesatarja (), Maksimumi (), Minimumi () dhe Sasia (). Për të vendosur burimet e raportit, shkoni te skeda Burimet dhe tërhiqni fushat e nevojshme të raportit në tabelën e burimeve. Pas kësaj, ju duhet të specifikoni një shprehje (në rastin tonë, Shuma ()), gjithashtu mund të zgjidhni grupimet për të cilat dëshironi të shihni totalet për këtë burim, kjo mund të bëhet në kolonën Llogarit me ....

Ju lutemi vini re se nuk mund të krijoni grupime sipas fushave të zgjedhura në burime.

Të gjithë parametrat e specifikuar në kërkesë do të shfaqen në skedën Parametrat e skemës Layout. Në rastin tonë, këto janë Periudha e Fillimit, Periudha e Fundit dhe Organizimi. Le të kalojmë nëpër disa nga cilësimet e tyre:

  1. Kolonat Emri, Titulli dhe Lloji plotësohen automatikisht dhe nuk duhet të ndryshohen në mënyrë të panevojshme;
  2. Ekziston një listë e vlerave. Nëse dëshironi t'i kaloni një listë parametrit, duhet të vendosni këtë flamur, përndryshe vetëm elementi i parë i listës do të arrijë atje.
  3. Kuptimi. Këtu mund të specifikoni një vlerë të paracaktuar për parametrin. Në shembullin tonë, le të zgjedhim vlerën Elementet për parametrin Organizata (një lidhje boshe në drejtorinë e Organizatave).
  4. Përfshini në fushat e disponueshme. Nëse zgjidhni këtë flamur, parametri nuk do të jetë i dukshëm në cilësimet: në fushat e zgjedhura, zgjedhja.
  5. Kufizimi i disponueshmërisë. Flamuri është përgjegjës për mundësinë e vendosjes së vlerës së parametrit në cilësimet ACS.

Vendosja e strukturës së raportit

Le të shkojmë te skeda Cilësimet, këtu mund të specifikojmë grupimet e raporteve, fushat e shfaqura në raport, filtrat, renditjen, etj. Kushti i detyrës thotë se raporti duhet të grupojë të dhënat sipas fushave: Kontraktor, Lidhje dhe Nomenklaturë, do t'i tregojmë njëra pas tjetrës në zonën e grupimit.

Në skedën Fushat e zgjedhura, tërhiqni burimet tona (Shuma, Shuma TVSH) nga fushat e disponueshme në fushat e raportit.

Le të shtojmë filtra sipas palës dhe nomenklaturës për lehtësinë e përdorimit të raportit. Ne do të heqim flamujt për përdorimin e përzgjedhjes, përdoruesi do t'i vendosë ato kur të kërkohet.

Kjo përfundon konfigurimin e raportit, tani mund ta ekzekutoni në modalitetin e ndërmarrjes.

Gjenerimi i raportit

Për një raport mbi ACS në 1C, nuk është e nevojshme të krijoni një formular, sistemi i paraqitjes do ta gjenerojë vetë. Hapni raportin në modalitetin 1C Enterprise 8.

Përpara se ta formoni, shtypni butonin Cilësimet dhe plotësoni vlerat e parametrave. Ju gjithashtu mund të vendosni një filtër, nëse është e nevojshme, të ndryshoni grupimet, renditjen, etj.

Shihni gjithashtu videon për krijimin e raporteve në ACS:

Kur krijoni raporte duke përdorur sistemin e përbërjes së të dhënave (ACS), është e përshtatshme të shfaqni parametrat e raportit (të paktën ato më të përdorurat) në formular, në mënyrë që të mos detyroni përdoruesin të gërmojë në dritaren standarde të cilësimeve ACS.

Konsideroni se si mund të bëhet kjo në format e zakonshme 1C. Le të bëjmë një rezervë menjëherë që ky artikull do të marrë në konsideratë saktësisht daljen e parametrave në formular, d.m.th. vetë parametrat në ACS duhet të krijohen tashmë.

Ekzistojnë dy mënyra për të shfaqur parametrat ACS në një formë të rregullt:

  • prodhimi i të gjithë tabelës së cilësimeve të parametrave
  • prodhimi i parametrave individualë si fusha hyrëse.

Tabela e cilësimeve të parametrave e shfaqur në formular është e ngjashme me tabelën e cilësimeve të parametrave të krijuar me anë të ACS. Për ta shfaqur atë në formular, duhet të krijoni një kontroll Fusha e tabelës, pronë e të cilit Të dhënat tregojnë SettingsComposer.Settings.ParametersData

Në këtë rast, përdoruesit do t'i shfaqen të gjithë parametrat ACS që nuk kanë të vendosur kufizime të aksesueshmërisë.

Megjithatë, në disa raste kjo metodë mund të duket jo aq e bukur dhe jo shumë miqësore për përdoruesit. Le të shqyrtojmë se si të shfaqim parametrat ACS veçmas në formën e fushave të zakonshme të hyrjes në formular.

  1. Le të krijojmë detajet e raportit që korrespondojnë me parametrat. Në shembullin tonë, këto do të jenë detajet Data e Fillimit, Data e Fundit, Organizata. Le të vendosim llojet e duhura të të dhënave për ta.
  2. Le të krijojmë fushat e hyrjes në formular për secilin prej parametrave dhe t'i lidhim ato përmes vetive Të dhënat me detajet e raportit. Për secilën fushë hyrëse, do të ishte mirë të krijoni një mbishkrim me emrin e parametrit pranë tij, në mënyrë që përdoruesi të kuptojë se cilin parametër po redakton.
  3. Për secilën fushë hyrëse, duhet të krijoni një procedurë për mbajtësin e ngjarjeve Kur ndryshon, i cili do të vendosë vlerën e zgjedhur nga përdoruesi në parametrat ACS. Në shembull, unë krijova një procedurë dhe ia caktova ngjarjeve të ndryshimit të të tre fushave të hyrjes. Kjo do të thotë, kur një parametër ndryshohet, të tre rivendosen. Nga pikëpamja e performancës, kjo ka shumë të ngjarë të mos jetë efikase, por, pasi. nuk ka shumë parametra, ndryshimi nuk është i dukshëm. Me një numër të madh parametrash, ia vlen të shfaqet instalimi i secilit në një procedurë të veçantë. Pra, kodi i procedurës për mbajtësin Kur ndryshon do të duket kështu:

    Parametrat e procedurësOnChange(artikull)

    ParameterDateStart = BuilderSettings. Cilësimet. Të dhënat e parametrave. Elementet. Gjej ("Periudha Fillimi"); //Kërkimi kryhet me emrin e parametrit ACS
    ParametriDataFillimi Përdorimi = i vërtetë; //Parametri do të përdoret në përzgjedhje
    ParametriDataFillimi Vlera = Data e Fillimit; //Parametrit i është caktuar vlera e atributit të raportit

    ParameterDateCon = BuilderSettings. Cilësimet. Të dhënat e parametrave. Elementet. Gjej ("Periudha e fundit");
    ParameterDateCon. Përdorimi = i vërtetë;
    ParameterDateCon. Vlera = FundDay (Data e Fundit) ;

    ParameterOrg = LinkerSettings. Cilësimet. Të dhënat e parametrave. Elementet. Gjej ("Organizata" );
    ParametriOrg. Përdorimi = i vërtetë;
    ParametriOrg. Vlera = Organizimi;

    Procedura e Fundit

Artikujt kryesorë të lidhur