Sukurti paprastą ataskaitą apie saugojimo sistemą. Paprastos ataskaitos kūrimas apie SKD 1C Enterprise 8.3 duomenų komponavimo sistemą

Pažvelkime į ataskaitos kūrimo procesą 1C 8.3 naudojant duomenų komponavimo sistemą. Pavyzdžiui, imkime tokią užduotį: ataskaitoje turi būti įrašyti duomenys iš Prekių pardavimo ir paslaugų pardavimo dokumentų lentelės prekių dalies tam tikram laikotarpiui ir pasirinktai organizacijai. Jis taip pat turėtų sugrupuoti duomenis pagal laukus Paskyra, Nuoroda į dokumentą ir Prekė.

Gautos ataskaitos pavyzdį galima atsisiųsti iš.

Naudodami meniu Failas->Naujas, pridėkite naują išorinę ataskaitą, suteikite jai pavadinimą ir išsaugokite ją diske. Sukurkime išdėstymo schemą naudodami mygtuką Atidaryti duomenų išdėstymo diagramą.

1C prašymo rašymas dėl SKD

Sukūrę maketavimo schemą, turime parašyti užklausą, kuri surinks duomenis ataskaitai. Norėdami tai padaryti, skirtuke Duomenų rinkiniai sukurkite užklausos duomenų rinkinį.

Dabar galite pradėti rašyti užklausą, jai duomenų rinkinyje yra specialus laukas. Galite rašyti rankiniu būdu arba naudodami konstruktorių (tai daug patogiau). Mūsų ataskaitoje užklausa yra pati paprasčiausia:

|Pasirinkti | Prekių ir paslaugų pardavimas Prekės Nuoroda, | Prekių ir paslaugų pardavimas Prekės Nuoroda Organizacija, | Prekių ir paslaugų pardavimas Prekės Nuoroda Kita sandorio šalis, | Prekių ir paslaugų pardavimas Prekės Nomenklatūra, | Prekių ir paslaugų pardavimas Prekės Suma, | Prekių ir paslaugų pardavimas Prekės PVM tarifas, | Prekių ir paslaugų pardavimas Prekės PVM suma, | Prekių ir paslaugų pardavimas Prekės Kaina | NUO | Dokumentas Prekių ir paslaugų pardavimas Prekės | KAIP PARDUOTI PRODUKTUS IR PASLAUGOS PRODUKTUS | KUR | Prekių ir paslaugų pardavimas Prekės Nuoroda Data Data | TARP &Laikotarpio pradžios IR &Laikotarpio pabaigos | Ir Prekių pardavimas ir Paslaugos Prekės Nuoroda Organizacija | = &Organizacija

Duomenų rinkinio laukų nustatymas

Parašius užklausą, ACS automatiškai užpildys lentelę su lauko nustatymais.

Trumpai papasakosiu apie kai kuriuos nustatymus:


Išteklių nustatymas

Duomenų sudarymo sistemoje išteklių laukai reiškia laukus, kurių reikšmės apskaičiuojamos remiantis išsamiais įrašais, įtrauktais į grupę. Iš esmės ištekliai yra grupės arba bendri ataskaitos rezultatai. Mūsų atveju ištekliai bus laukai Suma ir PVM suma. Išteklių sumos gali būti apskaičiuojamos naudojant SKD išraiškų kalbos funkcijas, iš kurių paprasčiausios yra Sum(), Average(), Maximum(), Minimum() ir Quantity(). Norėdami nustatyti ataskaitos išteklius, turite eiti į skirtuką Ištekliai ir nuvilkti reikiamus ataskaitos laukus į išteklių lentelę. Po to turite nustatyti išraišką (mūsų atveju Sum()), taip pat galite pasirinkti grupes, kurių sumas norite matyti šio ištekliaus sumas, tai galite padaryti stulpelyje Apskaičiuoti pagal....

Atminkite, kad negalite kurti grupuočių pagal šaltiniuose pasirinktus laukus.

Visi užklausoje nurodyti parametrai bus rodomi skirtuke Išdėstymo schemos parametrai. Mūsų atveju tai yra Laikotarpio pradžia, Laikotarpio pabaiga ir Organizacija. Peržiūrėkime kai kuriuos jų nustatymus:

  1. Stulpeliai Pavadinimas, Pavadinimas ir Tipas užpildomi automatiškai ir jų reikšmės neturėtų būti be reikalo keičiamos;
  2. Galimas verčių sąrašas. Jei norite perduoti sąrašą kaip parametrą, turite nustatyti šią vėliavėlę, kitu atveju ten pateks tik pirmasis sąrašo elementas.
  3. Reikšmė. Čia galite nurodyti numatytąją parametro reikšmę. Mūsų pavyzdyje mes pasirinksime parametro Organizacijos reikšmę Elements (tuščia nuoroda į organizacijų katalogą).
  4. Įtraukite į galimus laukus. Jei šią vėliavėlę išvalysite, parametras nebus matomas nustatymuose: pasirinktuose laukuose, pasirinkimas.
  5. Prieinamumo apribojimas. Vėliava yra atsakinga už galimybę nustatyti parametro reikšmę ACS nustatymuose.

Ataskaitų struktūros nustatymas

Eikime į skirtuką Settings, čia galime nurodyti ataskaitų grupavimus, ataskaitoje rodomus laukus, pasirinkimus, rūšiavimą ir kt. Užduoties sąlygose nurodyta, kad ataskaitoje duomenys turi būti sugrupuoti pagal laukus: Paskyra, Nuoroda ir Prekė, juos vieną po kito nurodysime grupavimo srityje.

Skirtuke Pasirinkti laukai vilkite mūsų išteklius (Suma, PVM suma) iš galimų laukų į ataskaitos laukus.

Pridėkime pasirinkimus pagal rangovą ir elementą, kad būtų lengviau naudoti ataskaitą. Išvalysime žymes, kad būtų galima naudoti pasirinkimą; vartotojas jas nustatys, kai to reikės.

Tai užbaigia ataskaitos sąranką; dabar galite ją paleisti įmonės režimu.

Ataskaitos generavimas

Ataskaitai apie prieigos kontrolės sistemą 1C nereikia kurti formos, pati maketavimo sistema ją sugeneruos. Atidarykite ataskaitą 1C Enterprise 8 režimu.

Prieš kurdami spustelėkite mygtuką Nustatymai ir įveskite parametrų reikšmes. Taip pat galite nustatyti pasirinkimą, jei reikia, keisti grupavimą, rūšiavimą ir pan.

Taip pat žiūrėkite vaizdo įrašą apie prieigos kontrolės sistemos ataskaitų kūrimą:

Duomenų komponavimo sistema (DCS) yra galingas 1C platformos (8.2 ir naujesnės versijos) mechanizmas ataskaitoms kurti, o ne prieigos kontrolės sistema.

Kodėl buvo išrasta „duomenų sudarymo sistema“? Sistema buvo išrasta siekiant sukurti ataskaitas deklaratyviai. Ataskaita sukuriama nerašant programos kodo. Naudodamas konkretų konstruktorių ir jame padarytus nustatymus programuotojas nustato norimą rezultatą, duomenų komponavimo sistema tai supranta ir parodo šį rezultatą vartotojui. Jei reikia ką nors pakeisti ataskaitoje, tereikia dar kartą kreiptis į dizainerį, atlikti reikiamus pakeitimus ir modifikuota ataskaita yra paruošta.

Vaizdo pamoka, kaip sukurti „Dokumentų žurnalo“ ataskaitą 1C SKD:

Be to, kadangi sistema iš esmės yra universali visoms progoms, programuotojas turi daugybę nustatymų. Esant tokiai pasirinkimo gausai, bene nemaloniausia yra tai, kad kai kurie duomenų komponavimo schemos nustatymai yra skirti gana retai įgyvendinamoms užduotims spręsti.

Gaukite 267 vaizdo įrašų pamokas 1C nemokamai:

Visa tai, žinoma, sujaukia duomenų išdėstymo schemą, o nepatyrusiam specialistui gali būti gana sunku tai suprasti. Nes atidarius dizainerį, priešais jį atsiranda daugybė skirtingų nustatymų, kurių reikšmė kartais nėra akivaizdi.

Nepaisant to, kad SKD 1C 8.3 versijoje gali būti sukurtas interaktyviai naudojant atitinkamą dizainerį, tuos pačius veiksmus taip pat galite atlikti programiškai. Galite eiti nuo pat pradžių. Naudodami programinę įrangą sukurkite duomenų išdėstymo schemą, atlikite visus reikiamus nustatymus, sukurkite ataskaitos varianto nustatymą, sudarykite ataskaitą ir parodykite ją vartotojui. Tai daugiau laiko reikalaujanti užduotis, bet vis tiek įmanoma.

Taip pat verta paminėti, kad duomenų komponavimo sistema naudojama ne tik ataskaitų kūrimo procese. Jei pageidaujate, galite įgyvendinti ir spausdintą dokumento formą, naudodami duomenų išdėstymo schemą. Čia nėra esminių sunkumų, tačiau norint sukurti tokias spausdintas formas, svarbu suprasti, kaip veikia sistema kaip visuma ir iš kokių tarpusavyje susijusių elementų ji susideda.

1C valdomos sąsajos pagrindas - SKD

Tvarkomų formų koncepcija taip pat apima duomenų sudarymo sistemą. Visi pasirinkimai, sąlyginio rūšiavimo dizaino nustatymai, kuriuos turime , yra lygiai tokie patys kaip ir SKD. Taip pat verta paminėti, kad visi prieigos kontrolės sistemos elementai turi galimybę būti įdiegti. Todėl grandinę galime sukurti programiškai, naudodami standartinius platformos įrankius, be to, galima dirbti ir išoriniais įrankiais.

Kaip įsisavinti ir išmokti rengti ataskaitas apie prieigos kontrolės sistemas?

SKD 1C reiškia duomenų komponavimo sistemą. SKD 1C yra naujas 1C ataskaitų rašymo būdas, leidžiantis vartotojui pačiam visiškai pritaikyti ataskaitą.

SKD 1C trūkumas yra tai, kad jo nustatymai yra gana sudėtingi ir ne visi vartotojai juos greitai išmoksta.

Norint rašyti ACS ataskaitas, reikia turėti galimybę dirbti su 1C užklausomis, kurias aptarėme.

Kokia yra SKD 1C ataskaitos kūrimo technologija:

  • Parašykite 1C užklausą į 1C SKD, kuri suteikia duomenų gavimą
  • Nurodykite laukų vaidmenį SKD 1C (apskaičiuoti laukai, ištekliai)
  • Įveskite numatytuosius 1C SKD nustatymus.

Vartotojas turi galimybę savo nuožiūra keisti daugybę nustatymų.

Kokia yra ankstesnių technologijų ataskaitos kūrimo technologija:

  • Parašykite užklausą programoje 1C
  • Sukurkite nustatymų formą (unikalią ataskaitai), kuri leis pakeisti tik N programuotojo pasirinktus nustatymus
  • Parašykite kodą (programą) užklausai įvykdyti ir spausdintinei ataskaitos formai sudaryti.

Kaip matote, SKD 1C turi didelį pranašumą tiek vartotojui, tiek programuotojui:

  • Programuotojas – nebereikia rašyti programos ataskaitai ir nustatymams paleisti
  • Vartotojas – įgyja didelę prieigą prie ataskaitos nustatymų.

Visose naujose 1C konfigūracijose visos ataskaitos bus naudojamos tik 1C SKD.

Pažiūrėkime, kaip patiems nuo nulio sukurti ataskaitą apie SKD 1C.

SKD 1C ataskaitos kūrimas

Konfigūravimo priemonėje spustelėkite naujo failo mygtuką (meniu Failas/Naujas).

Pasirinkite failo tipą Nauja ataskaita.

Bus sukurta nauja ataskaita. Įveskime pavadinimą – be tarpų konfigūracijai, vartotojo sinonimas.

Sukurkime pagrindinę SKD 1C schemą.

Sukurkite SKD 1C ataskaitos užklausą

SKD 1C duomenų šaltinių gali būti daug. Norėdami naudoti, pavyzdžiui, dvi atskiras užklausas, pirmiausia pridėkite „Duomenų rinkinys – sąjunga“, o tada kelias užklausas.

Mūsų pavyzdyje naudosime paprastą užklausą.

Nubraižykime prašymą gauti duomenis.

Darbas su užklausos konstruktoriumi niekuo nesiskiria nuo įprasto; mes tai aptarėme.

Sugeneravęs užklausą, SKD 1C sukurs galimų naudoti laukų sąrašą ir užpildys juos numatytais pavadinimais.

Jei pavadinimas nepatogus, galite jį pakeisti čia.

Atminkite, kad užklausoje naudojome &StartDate parametrą. SKD 1C yra numatytasis parametras (data), vadinamas &Taškas, ir jūs galite jį naudoti.

Be to, jums nereikia to nurodyti tiesiogiai užklausoje - jis bus naudojamas automatiškai. Tačiau yra subtilumas – jis taikomas visoms lentelėms, įskaitant kairįjį sujungimą ir pan., todėl gali atsirasti klaidų.

Pavyzdžiui, mėnesio pradžioje gaunate likučius, o naudodamiesi kairiuoju prisijungimu gausite šios dienos duomenis. Jei naudosite periodą, jis bus vienodai taikomas visoms lentelėms ir užklausa neveiks tinkamai.

SKD 1C nustatymai

Skirtuke Ištekliai nurodome laukus, kurie bus sumuojami pagal sumas (ty skaičiai). Galite nurodyti laukų sumavimo funkciją. Pagal numatytuosius nustatymus tai yra suma (t. y. susumuokite skaičius iš visų eilučių ir gaukite bendrą sumą), tačiau galite naudoti „Average“, „Quantity“, „Maximum“ ir kt.

Skirtuke Nustatymai išjungsime tuos, kurių mums nereikia, ir įjungsime tuos, kurių mums reikia. Čia taip pat galite nustatyti žmogaus vardą parametrui.

Pagrindiniai nustatymai atliekami skirtuke Nustatymai:


Atidarykime jį įmonės režimu. Atkreipkite dėmesį, kad mes neprogramavome, nebraižėme figūrų ir pan. Norėdami nustatyti parametrą, spustelėkite mygtuką Nustatymai.

Vartotojas mato beveik tokią pačią nustatymų formą kaip ir programuotojas.

Voila. Ataskaita veikia.

SKD 1C nustatymai

Visi SKD 1C ataskaitos nustatymai atliekami paspaudus mygtuką Nustatymai. Bent jau numatytame šablone. Galima pačiam susikurti SKD 1C ataskaitos formą ir tuomet nustatymus galima perkelti į kitas programuotojo savarankiškai nubraižytas formas.

Nutempkime Sandėlį iš stulpelių į eilutes.

Nutempkime prekę į sandėlį.

Spustelėkite Gerai ir sukurkite ataskaitą. Ura – ką tik pakeitėme ataskaitos veikimą programavimo režimu be programavimo.

Dešiniuoju pelės mygtuku spustelėkite eilutės (arba bet kurį lauką) ir pasirinkite Naujas grupavimas.

Išskleiskite lauką Sandėlis ir pasirinkite vieną iš jo laukų, pavyzdžiui, Sandėlio tipas.

Pagalvoję prisiminėme, kad norėtume, kad viename stulpelyje būtų rodomi iš karto keli laukai. Kairiuoju pelės klavišu du kartus spustelėkite naujai sukurtą lauką. Čia galite pridėti laukus.

Jei pridedate naują grupavimą, bet nepasirenkate lauko, tai reiškia „Visi laukai“ (rodomi kaip „Išsami įrašai“). Tai atrodo taip.

Kairiuoju pelės mygtuku spustelėkite mūsų grupę (Sandėlis / Prekė) ir vilkite ją į naują grupę (Sandėlio tipas).

Mūsų nustatymų rezultatas.

Be nustatymų, kurių poveikį lengva atspėti pagal pavadinimą (Pasirinkimas, Rūšiavimas ir kt.), Yra skirtukas „Kiti nustatymai“. Tai leidžia įjungti arba išjungti tokius dalykus kaip sumų rodymas, grupavimas stulpeliuose ir kt.

Atkreipkite dėmesį, kad nustatymus galima nustatyti visai ataskaitai (pasirinkta Ataskaita) arba konkrečiai laukų eilutei (pasirinkite eilutę, pvz., Nomenklatūra, ir pasirinkite Nustatymai:Nomenklatūra).

Viena iš svarbiausių verslo programinės įrangos sričių yra ataskaitų teikimas. Verslo likimas gali priklausyti (ir ne perkeltine prasme!) nuo to, kaip lengva pritaikyti esamą ataskaitą prie besikeičiančių verslo poreikių (ir teisės aktų) arba sukurti naują, ar tai būtų ataskaita mokesčių inspekcijai. arba prekių paklausos priklausomybės nuo sezono ir kitų veiksnių diagrama . Galinga ir lanksti ataskaitų teikimo sistema, leidžianti lengvai išgauti reikiamus duomenis iš sistemos, pateikti juos suprantama forma, leidžianti galutiniam vartotojui iš naujo sukonfigūruoti standartinę ataskaitą, kad duomenys matytų nauju žvilgsniu – tai idealu, kad kiekvienas verslo sistema turėtų siekti.

„1C: Enterprise“ platformoje už ataskaitų generavimą atsakingas mechanizmas, vadinamas „Duomenų sudarymo sistema“ (sutrumpintai kaip DCS). Šiame straipsnyje pabandysime trumpai apibūdinti ACS mechanizmo idėją ir architektūrą bei jo galimybes.


ACS yra mechanizmas, pagrįstas deklaratyviu ataskaitų aprašymu. Praėjimo kontrolės sistema skirta ataskaitoms generuoti ir sudėtingos struktūros informacijai rodyti. Beje, be ataskaitų kūrimo, ACS mechanizmas taip pat naudojamas „1C:Enterprise“ dinaminiame sąraše, įrankyje, kuriame pateikiama daug funkcijų sąrašo informacija (plokščių ir hierarchinių sąrašų rodymas, sąlyginis eilučių dizainas, grupavimas ir kt.). ).

Šiek tiek istorijos

Pačioje pirmoje platformos 1C:Enterprise 8 versijoje, 8.0 versijoje, ataskaitos buvo pateiktos taip:
  1. Viena ar daugiau užklausų buvo parašytos 1C užklausų kalba (į SQL panaši kalba, daugiau apie tai žemiau).
  2. Buvo parašytas kodas, kuris atliktų užklausų rezultatus perkelia į skaičiuoklės dokumentą ar diagramą. Kodas taip pat gali atlikti darbą, kurio nebuvo galima atlikti užklausoje - pavyzdžiui, jis apskaičiavo reikšmes naudodamas integruotą 1C kalbą.
Požiūris paprastas, bet ne pats patogiausias - yra minimalūs vizualiniai nustatymai, viskas turi būti užprogramuota „iš rankų į rankas“. Ir vienas iš tuo metu visiškai naujos platformos „1C:Enterprise 8“ kozirių buvo programinio kodo, kurį reikia parašyti rankiniu būdu, kiekio sumažinimas, ypač naudojant vizualinį dizainą. Būtų logiška eiti tuo pačiu keliu ir ataskaitų teikimo mechanizme. Tai buvo padaryta kuriant naują mechanizmą – Duomenų komponavimo sistemą.

Viena iš idėjų, sudariusių prieigos kontrolės sistemos pagrindą, buvo ataskaitų lankstumas ir pritaikymas, kuris buvo prieinamas tiek kūrėjui, tiek galutiniam vartotojui. Idealiu atveju norėčiau suteikti galutiniam vartotojui prieigą prie tų pačių ataskaitų kūrimo įrankių rinkinio, kaip ir kūrėjui. Būtų logiška sukurti vieną visiems prieinamą įrankių rinkinį. Na, o kadangi priemonėse reikalingas galutinio vartotojo dalyvavimas, vadinasi, programavimo jose naudojimas turėtų būti sumažintas iki minimumo (geriausia visiškai panaikinti), o vizualinius nustatymus išnaudoti maksimaliai.

Problemos formulavimas

Kūrėjų komandos užduotis buvo sukurti ataskaitų teikimo sistemą, pagrįstą ne algoritminiu (ty per kodo rašymą), o deklaratyviu metodu kuriant ataskaitas. Ir manome, kad problema sėkmingai išspręsta. Mūsų patirtis rodo, kad apie 80 % reikalingų ataskaitų teikimo galima įgyvendinti naudojant ACS be vienos kodo eilutės (išskyrus formulių rašymą apskaičiuotiems laukams), dažniausiai naudojant vizualinius nustatymus.
Pirmosios SDS versijos sukūrimas užtruko apie 5 asmeninius metus.

Dvi kalbos

Kuriant ataskaitas naudojamos dvi kalbos. Viena yra užklausų kalba, naudojama duomenims gauti. Antroji – duomenų kompozicijos išraiškų kalba, skirta įvairiose sistemos dalyse naudojamoms išraiškoms rašyti, pavyzdžiui, duomenų kompozicijos nustatymuose, apibūdinti vartotojo laukų išraiškas.

Užklausos kalba

Užklausos kalba yra pagrįsta SQL ir ją lengva išmokti tiems, kurie išmano SQL. Prašymo pavyzdys:

Nesunku matyti SQL užklausų standartinių sekcijų analogus - SELECT, FROM, GROUP BY, ORDER BY.

Tuo pačiu metu užklausos kalboje yra daug plėtinių, skirtų atspindėti finansinių ir ekonominių problemų specifiką ir maksimaliai sumažinti pastangas kuriant taikomųjų programų sprendimus:

  • Prieiga prie laukų naudojant tašką. Jei lentelės laukai yra nuorodos tipo (jose saugomos nuorodos į kitos lentelės objektus), kūrėjas gali nurodyti juos užklausos tekste per „.“, o sistema neriboja įdėjimo lygių skaičiaus. tokių nuorodų (pavyzdžiui, Kliento užsakymas. Sutartis. Organizacija. Telefonas).
  • Daugiamatis ir daugiapakopis rezultatų formavimas. Sumos ir tarpinės sumos formuojamos atsižvelgiant į grupavimą ir hierarchiją, lygius galima pereiti bet kokia tvarka sumuojant ir užtikrinama teisinga sumų konstravimas pagal laiko matmenis.
  • Virtualių stalų palaikymas. Sistemos pateiktos virtualios lentelės leidžia gauti beveik paruoštus duomenis daugeliui taikomųjų programų, nekuriant sudėtingų užklausų. Taigi virtuali lentelė gali pateikti duomenis apie produktų likučius pagal laikotarpius tam tikru laiko momentu. Tuo pačiu metu virtualios lentelės maksimaliai išnaudoja saugomą informaciją, pavyzdžiui, anksčiau apskaičiuotas sumas ir pan.
  • Laikini stalai. Užklausos kalba leidžia užklausose naudoti laikinąsias lenteles. Jų pagalba galite pagerinti užklausos našumą, kai kuriais atvejais sumažinti blokavimų skaičių ir palengvinti užklausos teksto skaitymą.
  • Paketiniai prašymai. Kad darbas su laikinomis lentelėmis būtų patogesnis, užklausų kalba palaiko darbą su paketinėmis užklausomis – taigi, laikinos lentelės kūrimas ir jos naudojimas patalpinami į vieną užklausą. Paketinė užklausa yra užklausų seka, atskirta kabliataškiais („;“). Užklausos partijoje vykdomos viena po kitos. Paketinės užklausos vykdymo rezultatas, atsižvelgiant į naudojamą metodą, bus arba paskutinės paketo užklausos grąžintas rezultatas, arba visų paketo užklausų rezultatų masyvas tokia seka, kuria seka paketo užklausos. .
  • Referencinių laukų atvaizdų gavimas. Kiekviena objekto lentelė (kuriame saugoma žinynas ar dokumentas) turi virtualų lauką - „View“. Šiame lauke pateikiamas tekstinis objekto vaizdas ir palengvinamas ataskaitos kūrėjo darbas. Taigi dokumento lauke yra visa pagrindinė informacija – dokumento tipo pavadinimas, numeris ir data (pvz., „Išpardavimas 000000003 nuo 2017-07-06 17:49:14“), išsaugant kūrėją nuo skaičiuojamojo lauko rašymas.
  • ir kt.
Užklausos mechanizmas automatiškai modifikuoja užklausą, atsižvelgdamas į vaidmenis, kuriems priklauso vartotojas, kurio vardu vykdoma užklausa (t. y. vartotojas matys tik tuos duomenis, kuriuos turi teisę matyti) ir funkcines parinktis (t. y. pagal su sukonfigūruotais programos sprendimo funkcijomis).

Taip pat yra specialių užklausų kalbos plėtinių, skirtų prieigos kontrolės sistemoms. Išplėtimas atliekamas naudojant specialias sintaksines instrukcijas, įdėtas į riestinius skliaustus ir tiesiai į užklausos turinį. Naudodamas plėtinius kūrėjas nustato, kokias operacijas galutinis vartotojas galės atlikti tinkindamas ataskaitą.

Pavyzdžiui:

  • PASIRINKTI. Šiame sakinyje aprašomi laukai, kuriuos vartotojas galės pasirinkti išvestiei. Po šio raktinio žodžio pateikiami pagrindinio užklausų pasirinkimo sąrašo laukų, kuriuos bus galima konfigūruoti, slapyvardžiai, atskirti kableliais. Pavyzdys: (PASIRINKITE prekę, sandėlį)
  • KUR. Aprašyti laukai, kuriuose vartotojas gali taikyti pasirinkimą. Šiame pasiūlyme naudojami lentelės laukai. Pasirinkimo sąrašo laukų slapyvardžių naudoti neleidžiama. Kiekviena sąjungos dalis gali turėti savo WHERE elementą. Pavyzdžiai: (WHERE Prekė.*, Sandėlis), (WHERE dokumentas.data >= &pradžios data, dokumentas. data<= &ДатаКонца}
  • ir kt.
Plėtinių naudojimo pavyzdys:

Duomenų sudėties raiškos kalba

Duomenų sudėties išraiškų kalba skirta rašyti išraiškoms, ypač naudojamoms pasirinktinioms lauko išraiškoms apibūdinti. SKD leidžia ataskaitoje apibrėžti pasirinktinius laukus naudojant savo išraiškas arba parinkčių rinkinius su jų pasirinkimo sąlygomis (analogiškai CASE SQL). Priskirti laukai yra panašūs į apskaičiuotus laukus. Jas galima nustatyti ir konfigūratoriuje, ir 1C:Enterprise režimu, tačiau įprastų modulių funkcijos negali būti naudojamos tinkintose lauko išraiškose. Todėl pasirinktiniai laukai yra skirti vartotojui, o ne kūrėjui.

Pavyzdys:

Prieigos kontrolės sistemos ataskaitos kūrimo procesas

Kurdami ataskaitą turime sukurti maketą, kuris apibrėžia, kaip duomenys bus rodomi ataskaitoje. Galite sukurti maketą pagal duomenų išdėstymo diagramą. Duomenų išdėstymo diagrama apibūdina duomenų, kurie pateikiami ataskaitai, esmę (iš kur gauti duomenis ir kaip galite valdyti jų išdėstymą). Duomenų sudėties schema yra pagrindas, kuriuo remiantis galima generuoti visų rūšių ataskaitas. Duomenų sudėties schemoje gali būti:
  • prašyti teksto su duomenų komponavimo sistemos instrukcijomis;
  • kelių duomenų rinkinių aprašymas;
  • išsamus galimų laukų aprašymas;
  • apibūdinti ryšius tarp kelių duomenų rinkinių;
  • duomenų gavimo parametrų aprašymas;
  • laukų išdėstymo ir grupavimo aprašymas;
  • ir kt.

Pavyzdžiui, galite įtraukti užklausą į duomenų sudėties schemą kaip duomenų rinkinį ir iškviesti užklausos konstruktorių, kuris leidžia grafiškai sukurti savavališko sudėtingumo užklausą:

Paleidus užklausos dizainerį, bus pateiktas užklausos tekstas (užklausos kalba 1C:Enterprise). Jei reikia, šį tekstą galima koreguoti rankiniu būdu:

Duomenų išdėstymo schemoje gali būti keletas duomenų rinkinių, duomenų rinkiniai gali būti bet kokiu būdu susieti makete, pridėti skaičiuojamųjų laukų, nurodyti ataskaitos parametrus ir t.t. Verta paminėti įdomią užklausos mechanizmo funkciją „1C: Enterprise“. Užklausos galiausiai paverčiamos SQL dialektu, būdingu DBVS, su kuria programa tiesiogiai veikia. Apskritai stengiamės maksimaliai išnaudoti DBVS serverių galimybes (mus riboja tai, kad naudojame tik tas galimybes, kurios vienu metu yra visose 1C:Enterprise platformos palaikomose DBVS – MS SQL, Oracle, IBM DB2 , PostgreSQL). Taigi, užklausos lygiu apskaičiuotuose laukuose galime naudoti tik tas funkcijas, kurios yra išverstos į SQL.

Tačiau duomenų komponavimo schemos lygmenyje jau galime pridėti pasirinktinius laukus ir naudoti juose esančias funkcijas integruotoje 1C kūrimo kalboje (įskaitant mūsų parašytas), o tai labai išplečia ataskaitų galimybes. Techniškai tai atrodo taip - viskas, ką galima išversti į SQL, yra išversta į SQL, užklausa vykdoma DBMS lygiu, užklausos rezultatai patalpinami į 1C programų serverio atmintį ir SKD apskaičiuoja kiekvieno įrašo reikšmes. apskaičiuotų laukų, kurių formulės parašytos 1C kalba.


Pasirinktinių laukų pridėjimas

Prie ataskaitos galite pridėti bet kokį lentelių ir diagramų skaičių:


Ataskaitų dizaineris


Vykdymo laiko ataskaita

Naudodamas SKD, vartotojas prie ataskaitos gali pridėti sudėtingų pasirinkimų (kurie bus pridėti prie užklausos reikiamose vietose), sąlyginį dizainą (leidžiant rodomus laukus formatuoti skirtingai – šriftu, spalva ir pan., atsižvelgiant į jų reikšmes ) ir daug daugiau. .

Ataskaitos sudarymo ir generavimo procesą galima trumpai apibūdinti taip:

  • Kūrėjas projektavimo metu, padedamas dizainerio (arba vykdymo metu, naudodamas kodą), nustato duomenų išdėstymo schemą:
    • Prašymo/prašymų tekstas
    • Apskaičiuojamų laukų aprašymas
    • Ryšiai tarp užklausų (jei jų yra keletas)
    • Ataskaitų parinktys
    • Numatytieji nustatymai
    • ir kt.
  • Aukščiau pateikti nustatymai išsaugomi makete
  • Vartotojas atidaro ataskaitą
    • Galbūt atlieka papildomus nustatymus (pvz., keičia parametrų reikšmes)
    • Spustelėkite mygtuką „Generuoti“.
  • Vartotojo nustatymai taikomi kūrėjo apibrėžtai duomenų sudėties schemai.
  • Suformuojamas tarpinis duomenų sudėties išdėstymas, kuriame pateikiamos instrukcijos, iš kur gauti duomenis. Visų pirma, koreguojamos makete nurodytos užklausos. Taigi ataskaitoje nenaudojami laukai pašalinami iš užklausos (taip daroma siekiant sumažinti gaunamų duomenų kiekį). Visi laukai, dalyvaujantys apskaičiuotose laukų formulėse, pridedami prie užklausos.
  • Įsijungia duomenų sudarymo procesorius. Išdėstymo procesorius vykdo užklausas, susieja duomenų rinkinius, apskaičiuoja apskaičiuotų laukų ir išteklių reikšmes bei atlieka grupavimą. Žodžiu, atlieka visus skaičiavimus, kurie nebuvo atlikti DBVS lygiu.
  • Duomenų išvesties procesorius paleidžia vykdymo užklausą ir atvaizduoja gautus duomenis skaičiuoklės dokumente, diagramoje ir pan.


Ataskaitos generavimo procesas naudojant ACS mechanizmą

Stengiamės sumažinti ataskaitų duomenų, perduodamų iš serverio į kliento programą, kiekį. Rodydami duomenis skaičiuoklės dokumente, atidarydami skaičiuoklės dokumentą, iš serverio perkeliame tik tas eilutes, kurias vartotojas mato dokumento pradžioje. Kai vartotojas juda pagal dokumento eilutes, trūkstami duomenys atsisiunčiami iš serverio į klientą.

Pasirinktiniai nustatymai

Visi ACS įrankiai yra prieinami tiek kūrėjui, tiek galutiniam vartotojui. Tačiau praktika parodė, kad galutinis vartotojas dažnai yra gąsdinamas įrankių galimybių gausos. Be to, daugeliu atvejų galutiniam vartotojui nereikia visos nustatymų galios - jam pakanka greitos prieigos prie vieno ar dviejų ataskaitos parametrų (pavyzdžiui, laikotarpio ir sandorio šalies) nustatymo. Pradedant nuo tam tikros platformos versijos, ataskaitų kūrėjas turi galimybę pažymėti, kurie ataskaitos nustatymai yra prieinami vartotojui. Tai atliekama naudojant žymimąjį laukelį „Įtraukti į vartotojo nustatymus“. Be to, ataskaitos nustatymuose dabar yra vėliavėlė „Rodymo režimas“, kuri turi vieną iš trijų reikšmių:
  • Greita prieiga. Nustatymas bus rodomas tiesiai ataskaitos lango viršuje.
  • Įprastas. Nustatymas bus pasiekiamas spustelėjus mygtuką „Nustatymai“.
  • Nepasiekiamas. Šis nustatymas nebus pasiekiamas galutiniam vartotojui.


Ekrano režimo nustatymas projektavimo laiku


Rodykite nustatymą greitosios prieigos režimu vykdymo metu (po mygtuku Generuoti)

Plėtros planai

Viena iš mūsų prioritetinių sričių kuriant prieigos kontrolės sistemas yra vartotojų nustatymų supaprastinimas. Mūsų patirtis rodo, kad kai kuriems galutiniams vartotojams darbas su vartotojo nustatymais vis dar yra didelis darbas. Atsižvelgiame į tai ir dirbame šia kryptimi. Atitinkamai kūrėjams taip pat bus lengviau dirbti su prieigos kontrolės sistemomis, nes Mes, kaip ir anksčiau, norime pateikti vieną įrankį ataskaitoms kurti ir kūrėjui, ir galutiniam vartotojui.
  • 1C-Bitrix
  • Viena iš svarbiausių verslo programinės įrangos sričių yra ataskaitų teikimas. Verslo likimas gali priklausyti (ir ne perkeltine prasme!) nuo to, kaip lengva pritaikyti esamą ataskaitą prie besikeičiančių verslo poreikių (ir teisės aktų) arba sukurti naują, ar tai būtų ataskaita mokesčių inspekcijai. arba prekių paklausos priklausomybės nuo sezono ir kitų veiksnių diagrama . Galinga ir lanksti ataskaitų teikimo sistema, leidžianti lengvai išgauti reikiamus duomenis iš sistemos, pateikti juos suprantama forma, leidžianti galutiniam vartotojui iš naujo sukonfigūruoti standartinę ataskaitą, kad duomenys matytų nauju žvilgsniu – tai idealu, kad kiekvienas verslo sistema turėtų siekti.

    „1C: Enterprise“ platformoje už ataskaitų generavimą atsakingas mechanizmas, vadinamas „Duomenų sudarymo sistema“ (sutrumpintai kaip DCS). Šiame straipsnyje pabandysime trumpai apibūdinti ACS mechanizmo idėją ir architektūrą bei jo galimybes.


    ACS yra mechanizmas, pagrįstas deklaratyviu ataskaitų aprašymu. Praėjimo kontrolės sistema skirta ataskaitoms generuoti ir sudėtingos struktūros informacijai rodyti. Beje, be ataskaitų kūrimo, ACS mechanizmas taip pat naudojamas „1C:Enterprise“ dinaminiame sąraše, įrankyje, kuriame pateikiama daug funkcijų sąrašo informacija (plokščių ir hierarchinių sąrašų rodymas, sąlyginis eilučių dizainas, grupavimas ir kt.). ).

    Šiek tiek istorijos

    Pačioje pirmoje platformos 1C:Enterprise 8 versijoje, 8.0 versijoje, ataskaitos buvo pateiktos taip:
    1. Viena ar daugiau užklausų buvo parašytos 1C užklausų kalba (į SQL panaši kalba, daugiau apie tai žemiau).
    2. Buvo parašytas kodas, kuris atliktų užklausų rezultatus perkelia į skaičiuoklės dokumentą ar diagramą. Kodas taip pat gali atlikti darbą, kurio nebuvo galima atlikti užklausoje - pavyzdžiui, jis apskaičiavo reikšmes naudodamas integruotą 1C kalbą.
    Požiūris paprastas, bet ne pats patogiausias - yra minimalūs vizualiniai nustatymai, viskas turi būti užprogramuota „iš rankų į rankas“. Ir vienas iš tuo metu visiškai naujos platformos „1C:Enterprise 8“ kozirių buvo programinio kodo, kurį reikia parašyti rankiniu būdu, kiekio sumažinimas, ypač naudojant vizualinį dizainą. Būtų logiška eiti tuo pačiu keliu ir ataskaitų teikimo mechanizme. Tai buvo padaryta kuriant naują mechanizmą – Duomenų komponavimo sistemą.

    Viena iš idėjų, sudariusių prieigos kontrolės sistemos pagrindą, buvo ataskaitų lankstumas ir pritaikymas, kuris buvo prieinamas tiek kūrėjui, tiek galutiniam vartotojui. Idealiu atveju norėčiau suteikti galutiniam vartotojui prieigą prie tų pačių ataskaitų kūrimo įrankių rinkinio, kaip ir kūrėjui. Būtų logiška sukurti vieną visiems prieinamą įrankių rinkinį. Na, o kadangi priemonėse reikalingas galutinio vartotojo dalyvavimas, vadinasi, programavimo jose naudojimas turėtų būti sumažintas iki minimumo (geriausia visiškai panaikinti), o vizualinius nustatymus išnaudoti maksimaliai.

    Problemos formulavimas

    Kūrėjų komandos užduotis buvo sukurti ataskaitų teikimo sistemą, pagrįstą ne algoritminiu (ty per kodo rašymą), o deklaratyviu metodu kuriant ataskaitas. Ir manome, kad problema sėkmingai išspręsta. Mūsų patirtis rodo, kad apie 80 % reikalingų ataskaitų teikimo galima įgyvendinti naudojant ACS be vienos kodo eilutės (išskyrus formulių rašymą apskaičiuotiems laukams), dažniausiai naudojant vizualinius nustatymus.
    Pirmosios SDS versijos sukūrimas užtruko apie 5 asmeninius metus.

    Dvi kalbos

    Kuriant ataskaitas naudojamos dvi kalbos. Viena yra užklausų kalba, naudojama duomenims gauti. Antroji – duomenų kompozicijos išraiškų kalba, skirta įvairiose sistemos dalyse naudojamoms išraiškoms rašyti, pavyzdžiui, duomenų kompozicijos nustatymuose, apibūdinti vartotojo laukų išraiškas.

    Užklausos kalba

    Užklausos kalba yra pagrįsta SQL ir ją lengva išmokti tiems, kurie išmano SQL. Prašymo pavyzdys:

    Nesunku matyti SQL užklausų standartinių sekcijų analogus - SELECT, FROM, GROUP BY, ORDER BY.

    Tuo pačiu metu užklausos kalboje yra daug plėtinių, skirtų atspindėti finansinių ir ekonominių problemų specifiką ir maksimaliai sumažinti pastangas kuriant taikomųjų programų sprendimus:

    • Prieiga prie laukų naudojant tašką. Jei lentelės laukai yra nuorodos tipo (jose saugomos nuorodos į kitos lentelės objektus), kūrėjas gali nurodyti juos užklausos tekste per „.“, o sistema neriboja įdėjimo lygių skaičiaus. tokių nuorodų (pavyzdžiui, Kliento užsakymas. Sutartis. Organizacija. Telefonas).
    • Daugiamatis ir daugiapakopis rezultatų formavimas. Sumos ir tarpinės sumos formuojamos atsižvelgiant į grupavimą ir hierarchiją, lygius galima pereiti bet kokia tvarka sumuojant ir užtikrinama teisinga sumų konstravimas pagal laiko matmenis.
    • Virtualių stalų palaikymas. Sistemos pateiktos virtualios lentelės leidžia gauti beveik paruoštus duomenis daugeliui taikomųjų programų, nekuriant sudėtingų užklausų. Taigi virtuali lentelė gali pateikti duomenis apie produktų likučius pagal laikotarpius tam tikru laiko momentu. Tuo pačiu metu virtualios lentelės maksimaliai išnaudoja saugomą informaciją, pavyzdžiui, anksčiau apskaičiuotas sumas ir pan.
    • Laikini stalai. Užklausos kalba leidžia užklausose naudoti laikinąsias lenteles. Jų pagalba galite pagerinti užklausos našumą, kai kuriais atvejais sumažinti blokavimų skaičių ir palengvinti užklausos teksto skaitymą.
    • Paketiniai prašymai. Kad darbas su laikinomis lentelėmis būtų patogesnis, užklausų kalba palaiko darbą su paketinėmis užklausomis – taigi, laikinos lentelės kūrimas ir jos naudojimas patalpinami į vieną užklausą. Paketinė užklausa yra užklausų seka, atskirta kabliataškiais („;“). Užklausos partijoje vykdomos viena po kitos. Paketinės užklausos vykdymo rezultatas, atsižvelgiant į naudojamą metodą, bus arba paskutinės paketo užklausos grąžintas rezultatas, arba visų paketo užklausų rezultatų masyvas tokia seka, kuria seka paketo užklausos. .
    • Referencinių laukų atvaizdų gavimas. Kiekviena objekto lentelė (kuriame saugoma žinynas ar dokumentas) turi virtualų lauką - „View“. Šiame lauke pateikiamas tekstinis objekto vaizdas ir palengvinamas ataskaitos kūrėjo darbas. Taigi dokumento lauke yra visa pagrindinė informacija – dokumento tipo pavadinimas, numeris ir data (pvz., „Išpardavimas 000000003 nuo 2017-07-06 17:49:14“), išsaugant kūrėją nuo skaičiuojamojo lauko rašymas.
    • ir kt.
    Užklausos mechanizmas automatiškai modifikuoja užklausą, atsižvelgdamas į vaidmenis, kuriems priklauso vartotojas, kurio vardu vykdoma užklausa (t. y. vartotojas matys tik tuos duomenis, kuriuos turi teisę matyti) ir funkcines parinktis (t. y. pagal su sukonfigūruotais programos sprendimo funkcijomis).

    Taip pat yra specialių užklausų kalbos plėtinių, skirtų prieigos kontrolės sistemoms. Išplėtimas atliekamas naudojant specialias sintaksines instrukcijas, įdėtas į riestinius skliaustus ir tiesiai į užklausos turinį. Naudodamas plėtinius kūrėjas nustato, kokias operacijas galutinis vartotojas galės atlikti tinkindamas ataskaitą.

    Pavyzdžiui:

    • PASIRINKTI. Šiame sakinyje aprašomi laukai, kuriuos vartotojas galės pasirinkti išvestiei. Po šio raktinio žodžio pateikiami pagrindinio užklausų pasirinkimo sąrašo laukų, kuriuos bus galima konfigūruoti, slapyvardžiai, atskirti kableliais. Pavyzdys: (PASIRINKITE prekę, sandėlį)
    • KUR. Aprašyti laukai, kuriuose vartotojas gali taikyti pasirinkimą. Šiame pasiūlyme naudojami lentelės laukai. Pasirinkimo sąrašo laukų slapyvardžių naudoti neleidžiama. Kiekviena sąjungos dalis gali turėti savo WHERE elementą. Pavyzdžiai: (WHERE Prekė.*, Sandėlis), (WHERE dokumentas.data >= &pradžios data, dokumentas. data<= &ДатаКонца}
    • ir kt.
    Plėtinių naudojimo pavyzdys:

    Duomenų sudėties raiškos kalba

    Duomenų sudėties išraiškų kalba skirta rašyti išraiškoms, ypač naudojamoms pasirinktinioms lauko išraiškoms apibūdinti. SKD leidžia ataskaitoje apibrėžti pasirinktinius laukus naudojant savo išraiškas arba parinkčių rinkinius su jų pasirinkimo sąlygomis (analogiškai CASE SQL). Priskirti laukai yra panašūs į apskaičiuotus laukus. Jas galima nustatyti ir konfigūratoriuje, ir 1C:Enterprise režimu, tačiau įprastų modulių funkcijos negali būti naudojamos tinkintose lauko išraiškose. Todėl pasirinktiniai laukai yra skirti vartotojui, o ne kūrėjui.

    Pavyzdys:

    Prieigos kontrolės sistemos ataskaitos kūrimo procesas

    Kurdami ataskaitą turime sukurti maketą, kuris apibrėžia, kaip duomenys bus rodomi ataskaitoje. Galite sukurti maketą pagal duomenų išdėstymo diagramą. Duomenų išdėstymo diagrama apibūdina duomenų, kurie pateikiami ataskaitai, esmę (iš kur gauti duomenis ir kaip galite valdyti jų išdėstymą). Duomenų sudėties schema yra pagrindas, kuriuo remiantis galima generuoti visų rūšių ataskaitas. Duomenų sudėties schemoje gali būti:
    • prašyti teksto su duomenų komponavimo sistemos instrukcijomis;
    • kelių duomenų rinkinių aprašymas;
    • išsamus galimų laukų aprašymas;
    • apibūdinti ryšius tarp kelių duomenų rinkinių;
    • duomenų gavimo parametrų aprašymas;
    • laukų išdėstymo ir grupavimo aprašymas;
    • ir kt.

    Pavyzdžiui, galite įtraukti užklausą į duomenų sudėties schemą kaip duomenų rinkinį ir iškviesti užklausos konstruktorių, kuris leidžia grafiškai sukurti savavališko sudėtingumo užklausą:

    Paleidus užklausos dizainerį, bus pateiktas užklausos tekstas (užklausos kalba 1C:Enterprise). Jei reikia, šį tekstą galima koreguoti rankiniu būdu:

    Duomenų išdėstymo schemoje gali būti keletas duomenų rinkinių, duomenų rinkiniai gali būti bet kokiu būdu susieti makete, pridėti skaičiuojamųjų laukų, nurodyti ataskaitos parametrus ir t.t. Verta paminėti įdomią užklausos mechanizmo funkciją „1C: Enterprise“. Užklausos galiausiai paverčiamos SQL dialektu, būdingu DBVS, su kuria programa tiesiogiai veikia. Apskritai stengiamės maksimaliai išnaudoti DBVS serverių galimybes (mus riboja tai, kad naudojame tik tas galimybes, kurios vienu metu yra visose 1C:Enterprise platformos palaikomose DBVS – MS SQL, Oracle, IBM DB2 , PostgreSQL). Taigi, užklausos lygiu apskaičiuotuose laukuose galime naudoti tik tas funkcijas, kurios yra išverstos į SQL.

    Tačiau duomenų komponavimo schemos lygmenyje jau galime pridėti pasirinktinius laukus ir naudoti juose esančias funkcijas integruotoje 1C kūrimo kalboje (įskaitant mūsų parašytas), o tai labai išplečia ataskaitų galimybes. Techniškai tai atrodo taip - viskas, ką galima išversti į SQL, yra išversta į SQL, užklausa vykdoma DBMS lygiu, užklausos rezultatai patalpinami į 1C programų serverio atmintį ir SKD apskaičiuoja kiekvieno įrašo reikšmes. apskaičiuotų laukų, kurių formulės parašytos 1C kalba.


    Pasirinktinių laukų pridėjimas

    Prie ataskaitos galite pridėti bet kokį lentelių ir diagramų skaičių:


    Ataskaitų dizaineris


    Vykdymo laiko ataskaita

    Naudodamas SKD, vartotojas prie ataskaitos gali pridėti sudėtingų pasirinkimų (kurie bus pridėti prie užklausos reikiamose vietose), sąlyginį dizainą (leidžiant rodomus laukus formatuoti skirtingai – šriftu, spalva ir pan., atsižvelgiant į jų reikšmes ) ir daug daugiau. .

    Ataskaitos sudarymo ir generavimo procesą galima trumpai apibūdinti taip:

    • Kūrėjas projektavimo metu, padedamas dizainerio (arba vykdymo metu, naudodamas kodą), nustato duomenų išdėstymo schemą:
      • Prašymo/prašymų tekstas
      • Apskaičiuojamų laukų aprašymas
      • Ryšiai tarp užklausų (jei jų yra keletas)
      • Ataskaitų parinktys
      • Numatytieji nustatymai
      • ir kt.
    • Aukščiau pateikti nustatymai išsaugomi makete
    • Vartotojas atidaro ataskaitą
      • Galbūt atlieka papildomus nustatymus (pvz., keičia parametrų reikšmes)
      • Spustelėkite mygtuką „Generuoti“.
    • Vartotojo nustatymai taikomi kūrėjo apibrėžtai duomenų sudėties schemai.
    • Suformuojamas tarpinis duomenų sudėties išdėstymas, kuriame pateikiamos instrukcijos, iš kur gauti duomenis. Visų pirma, koreguojamos makete nurodytos užklausos. Taigi ataskaitoje nenaudojami laukai pašalinami iš užklausos (taip daroma siekiant sumažinti gaunamų duomenų kiekį). Visi laukai, dalyvaujantys apskaičiuotose laukų formulėse, pridedami prie užklausos.
    • Įsijungia duomenų sudarymo procesorius. Išdėstymo procesorius vykdo užklausas, susieja duomenų rinkinius, apskaičiuoja apskaičiuotų laukų ir išteklių reikšmes bei atlieka grupavimą. Žodžiu, atlieka visus skaičiavimus, kurie nebuvo atlikti DBVS lygiu.
    • Duomenų išvesties procesorius paleidžia vykdymo užklausą ir atvaizduoja gautus duomenis skaičiuoklės dokumente, diagramoje ir pan.


    Ataskaitos generavimo procesas naudojant ACS mechanizmą

    Stengiamės sumažinti ataskaitų duomenų, perduodamų iš serverio į kliento programą, kiekį. Rodydami duomenis skaičiuoklės dokumente, atidarydami skaičiuoklės dokumentą, iš serverio perkeliame tik tas eilutes, kurias vartotojas mato dokumento pradžioje. Kai vartotojas juda pagal dokumento eilutes, trūkstami duomenys atsisiunčiami iš serverio į klientą.

    Pasirinktiniai nustatymai

    Visi ACS įrankiai yra prieinami tiek kūrėjui, tiek galutiniam vartotojui. Tačiau praktika parodė, kad galutinis vartotojas dažnai yra gąsdinamas įrankių galimybių gausos. Be to, daugeliu atvejų galutiniam vartotojui nereikia visos nustatymų galios - jam pakanka greitos prieigos prie vieno ar dviejų ataskaitos parametrų (pavyzdžiui, laikotarpio ir sandorio šalies) nustatymo. Pradedant nuo tam tikros platformos versijos, ataskaitų kūrėjas turi galimybę pažymėti, kurie ataskaitos nustatymai yra prieinami vartotojui. Tai atliekama naudojant žymimąjį laukelį „Įtraukti į vartotojo nustatymus“. Be to, ataskaitos nustatymuose dabar yra vėliavėlė „Rodymo režimas“, kuri turi vieną iš trijų reikšmių:
    • Greita prieiga. Nustatymas bus rodomas tiesiai ataskaitos lango viršuje.
    • Įprastas. Nustatymas bus pasiekiamas spustelėjus mygtuką „Nustatymai“.
    • Nepasiekiamas. Šis nustatymas nebus pasiekiamas galutiniam vartotojui.


    Ekrano režimo nustatymas projektavimo laiku


    Rodykite nustatymą greitosios prieigos režimu vykdymo metu (po mygtuku Generuoti)

    Plėtros planai

    Viena iš mūsų prioritetinių sričių kuriant prieigos kontrolės sistemas yra vartotojų nustatymų supaprastinimas. Mūsų patirtis rodo, kad kai kuriems galutiniams vartotojams darbas su vartotojo nustatymais vis dar yra didelis darbas. Atsižvelgiame į tai ir dirbame šia kryptimi. Atitinkamai kūrėjams taip pat bus lengviau dirbti su prieigos kontrolės sistemomis, nes Mes, kaip ir anksčiau, norime pateikti vieną įrankį ataskaitoms kurti ir kūrėjui, ir galutiniam vartotojui.