Kako podesiti pametne telefone i računare. Informativni portal

1c 8.3 parametri rasporeda podataka. Kreiranje novog izvještaja

Pažnja! Evo probne verzije lekcije, čiji materijali možda nisu potpuni.

Prijavite se kao student

Prijavite se kao učenik da pristupite školskom sadržaju

1C 8.3 sistem sastavljanja podataka za početnike: uspostavljanje veze između skupova podataka

  • Napišite izvještaj koji prikazuje kupce i njihove omiljene proizvode. Svaki klijent ima omiljenu boju, a svaki proizvod ima svoju boju – na osnovu tih boja treba da odredite „omiljeniku“ proizvoda. Na primjer, ako je Andrejeva omiljena boja crvena, onda će jedna od njegovih omiljenih namirnica biti paradajz (crveni su).
  • Primijenite dva skupa podataka na izvještaj. Prvi set su podaci iz referentne tabele "Klijentsi". Drugi - podaci iz tabele referentne knjige "Hrana".
  • Implementirati povezanost ova dva seta tako da u izvještaju ostaju samo omiljeni proizvodi za svakog od kupaca.

Kreiranje novog izvještaja

Otvorite bazu podataka "Gastronom" u konfiguratoru i kreirajte novi izvještaj kroz glavni meni:

Vrsta dokumenta - "Spoljni izvještaj":

U obliku novog izvještaja navedite naziv "Lekcija6" i kliknite na dugme "Otvori šemu sastava podataka":

Ostavite zadani naziv šeme:

Dodavanje prvog skupa podataka

U šemi koja se otvori idite na karticu "Setovi podataka" i odaberite "Dodaj skup podataka - upit" kroz zeleni znak plus:

Pozivamo konstruktor upita:

Odredite tabelu "Kupci" i polja koja želite da dobijete iz upita:

Dodavanje drugog skupa podataka

Dodavanje drugog skupa podataka:

Odaberite ga (DataSet2) i ponovo pozovite konstruktor upita:

Navedite tabelu priručnika "Hrana" i polja koja želite dobiti iz zahtjeva:

Ovo je tekst zahtjeva:

Imajte na umu da sada imamo dva skupa podataka u izvještaju: DataSet1 i DataSet2. Svaki od njih ima svoj tekst i podatke.

Učinite imena opisnijima

Radi jasnoće, preimenujmo Dataset1 u Clients i Dataset2 u Food.

Učinite to dvostrukim klikom na svaki od skupova:

U našem izvještaju možemo koristiti podatke svakog od skupova. Ovim podacima ćemo pristupiti putem polja.

Trenutno, set "Kupci" ima sljedeća polja: "Ime" i "FavoriteColor", a set "Hrana": "Naziv" i "Boja".

Vidimo da se imena ukrštaju i lako se možemo zbuniti. Zato promijenimo nazive polja da budu opisniji.

Odaberite skup "Klijenti" i promijenite nazive polja na sljedeći način:

Zatim odaberite set "Hrana" i promijenite nazive polja ovako:

Pozivanje konstruktora postavki

Na kraju, idite na karticu "Postavke" i pritisnite čarobni štapić da biste otvorili konstruktor postavki:

Vrsta izvještaja - "Lista...":

Odaberite polja za izvještaj iz oba skupa:

Vidite zašto je bilo toliko važno promijeniti nazive polja? U fazi podešavanja sastava podataka, ne vidimo iz kojih skupova su ova polja. Vidimo samo njihova imena.

Provjeravam izvještaj

Spremamo izvještaj i generiramo ga u korisničkom načinu rada:

Da. U redu, ali ne baš. Došlo je do takozvanog unakrsnog spajanja dva skupa (ovo bi trebalo biti poznato iz spojeva u upitima koje smo proučavali u prethodnim modulima). Svaki zapis iz tabele "Kupci" ima odgovarajući zapis iz tabele "Hrana".

Ali od svih ovih zapisa, moramo ostaviti samo one za koje je polje "FavoriteCustomerColor" jednako polju "FoodColor":

Povezivanje dva skupa podataka

Da bismo to učinili, povežimo dva skupa podataka (Kupci i Hrana) pomoću polja Kupčeva omiljena boja i Boja hrane.

Idite na karticu "Veze skupa podataka" i kliknite na dugme plus da dodate novu vezu:

Podesite parametre kao što je prikazano u nastavku:

Daću objašnjenje.

Izvor komunikacije i prijemnik. Pa, ovde je sve jasno. Navedite prvi skup (Kupci) i drugi skup (Hrana) podataka. Posebno želim da skrenem pažnju na to da će se komunikacija odvijati po principu vanjski lijevi spoj(prošli smo kroz to u temi zahtjeva u prethodnim modulima). Na osnovu toga morate odabrati koji će set biti izvor, a koji prijemnik.

izvorni izraz. Ovdje navedite izraz ili jednostavno polje iz izvornog skupa podataka (naveli smo polje Omiljena boja klijenta iz klijentovog skupa ovdje).

izraz prijemnika. Ovdje označavamo izraz ili samo polje iz skupa podataka prijemnika (ovdje smo označili polje Boja hrane iz skupa hrane).

Dakle, ova veza će ostaviti sa prethodne liste samo one redove čije je polje FavoriteCustomerColor jednako polju FoodColor.

Sačuvajte izvještaj i pokrenite ga u korisničkom načinu rada:

Odlično!

Ja ću dati objašnjenje o terenu" Stanje komunikacije“, o čemu programeri početnici tako često udaraju u koplja.

Uvjet veze je pomoćno polje. Tu možete napisati izraze. koja uključuje polja samo iz skupa podataka specificiranog u izvoru veze.

U ovom slučaju, za sve redove iz izvora veze, ovaj izraz (uvjet veze) će se provjeriti prije povezivanja. A ako je ovaj izraz TRUE, tada će se pokušati povezati ovaj niz sa stringovima iz izvora veze. Ako je izraz FALSE, takvi pokušaji neće biti učinjeni.

Jedan od najprikladnijih i najjedinstvenijih razvojnih alata u 1C je sistem sastava podataka (SKD). U nekoliko informacionih sistema, programeri mogu kreirati izveštaje bez pisanja koda. Ovaj mehanizam je razvijen kako bi se pojednostavila i ubrzala izrada obrazaca za izvještavanje i pružila više mogućnosti korisnicima u radu sa izlaznim podacima. Ovo posljednje visoko cijene napredni korisnici, koji zahvaljujući tome mogu samostalno prilagoditi izvještaj za svoje potrebe, bez čekanja da programeri preduzmu akciju.

Kreiranje izvještaja u 1C kroz SKD

Proces izrade izvještaja pomoću SKD-a može se podijeliti u sljedeće faze:

  1. Kreirajte zahtjev. Zahtjev možete napisati ručno ili bez programskog koda koristeći pogodan interfejs;
  2. Podešavanje izveštaja. Odabiru se polja, zbrojevi, grupisanja, parametri, dizajn izvještaja;
  3. Nakon toga, ostaje nam samo da na bilo koji način povežemo rezultirajući izvještaj sa konfiguracijom.

Uprkos mogućnosti korisnika da konfigurišu izveštaje na ACS-u, oni se moraju kreirati preko konfiguratora.

Razmotrimo primjer kreiranja vanjskog izvještaja o ACS-u:


Sada idemo na 1C, otvaramo naš izvještaj kako bismo bili sigurni da su poduzete radnje ispravne. Svi podaci se odražavaju, grupe se mogu skupiti i proširiti. Kao što vidite, ACS vam omogućava da dobijete potpune izvještaje bez pisanja koda, osim za nestandardne zahtjeve. S obzirom da većina izvještaja ima sličnu strukturu, poznavanje ACS-a će značajno smanjiti vrijeme za izradu ovih objekata.

Veliku popularnost ovog mehanizma osigurala je podrška širokih mogućnosti prilikom generiranja izvještaja. Štoviše, mogu ih koristiti ne samo programeri, već i obični korisnici.

SKD mogućnosti

Ima situacija kada smo napravili izvještaj, a onda dođe korisnik i zatraži malu reviziju. Na primjer, umjesto naziva nomenklature, prikažite članke. ACS omogućava korisnicima da sami naprave takva poboljšanja koristeći dugme "Više" - "Promeni opciju...".


Prozor koji se otvara je sličan prozoru postavki u izvještaju u konfiguratoru, a ima i slične funkcije. Da bi riješio zadatak, korisnik mora otići na karticu "Polja" i promijeniti polje "Nomenklatura". Ovo polje za uređivanje otvara se dvostrukim klikom i dugme "Odaberi..." postaje dostupno.


Prozor koji se otvori daje nam mogućnost da odaberemo bilo koju vrijednost koja će se pojaviti u polju "Nomenklatura". Neka polja imaju znak plus na lijevoj strani - programer je postavio veze u ova polja, što znači da možemo vidjeti njihove detalje. Otvaramo "Nomenklaturu" i vidimo članak koji nam je potreban. Odaberite ga i odaberite.


Prozor za uređivanje opcija izvještaja sadrži mnoge korisne funkcije sistema za sastav podataka. Na primjer, korisnik može samostalno promijeniti redoslijed grupiranja, dodati odabir ili nametnuti uvjetni dizajn. Završavamo uređivanje i generiramo izvještaj - kao što vidite, cijeli raspon se sada prikazuje kao članci.


Mehanizam SKD 1C:Enterprise 8.3 takođe ima proširenu funkcionalnost za programere. Prilikom izrade izvještaja koristili smo samo 2 kartice - "Skupovi podataka" i "Postavke", ali ih u ACS-u ima mnogo više. Da biste koristili sve funkcije sistema za sastavljanje podataka, morate razumjeti za šta je svaka od kartica potrebna:

  1. Skupovi podataka - svi upiti uključeni u generiranje izvještaja su navedeni ovdje;
  2. Odnosi skupa podataka - koriste se za izgradnju odnosa između različitih upita sa prve kartice;
  3. Izračunata polja - lista dodanih polja koja nisu iz upita. Najčešće se koristi u slučajevima kada, na osnovu vrijednosti nekoliko polja iz zahtjeva, trebate dobiti 1 vrijednost;
  4. Resursi. U 1C, ovo je naziv polja za koja trebate znati ukupne vrijednosti. Resursi podržavaju različite aritmetičke operacije – zbir, količinu, maksimum i druge;
  5. Opcije. Koriste se ako je za generiranje izvještaja potrebno da korisnik unese određene podatke - na primjer datum, odjeljenja ili nomenklaturu;
  6. Izgledi. Dizajniran za one slučajeve kada korisnici žele vidjeti jedinstveno dizajniran izvještaj. Napravite posebno mjesto za potpise ili novi vrh izvještaja - sve to možete učiniti ovdje;
  7. ugniježđene šeme. Potrebni su kada vaš izvještaj mora sadržavati podatke iz drugih izvještaja;
  8. Postavke. Odjeljak deklarira izlazna polja, grupe i konfigurira izgled izvještaja.


Broj mogućnosti koje programeri uključuju u ACS mehanizam je velik, ali mnoge od njih se koriste izuzetno rijetko. Čak i iskusni 1C programeri možda neće koristiti neke funkcije tokom godina. Za uspješan rad u ACS-u dovoljno je poznavati osnovne koncepte i često korištena podešavanja. U rijetkim slučajevima, dokumentacija će priskočiti u pomoć.

Jedna od najvažnijih oblasti poslovnog softvera je izvještavanje. Koliko je lako prilagoditi postojeći izvještaj promjenjivim potrebama poslovanja (i zakonodavstva) ili napraviti novi može ovisiti (i to ne u prenesenom smislu!) od sudbine poslovanja, bilo da se radi o izvještaju za poreznu upravu ili dijagram zavisnosti potražnje za robom od sezone i drugih faktora. Moćan i fleksibilan sistem izveštavanja koji vam omogućava da lako izvučete prave podatke iz sistema, predstavite ih u razumljivom obliku, omogućavajući krajnjem korisniku da rekonfiguriše standardni izveštaj da vidi podatke u novom svetlu - ovo je ideal koji svaki poslovni sistem treba da teži.

U platformi 1C:Enterprise, mehanizam nazvan Sistem za sastavljanje podataka (skraćeno ACS) odgovoran je za generisanje izvještaja. U ovom članku pokušaćemo da damo kratak opis ideje i arhitekture ACS mehanizma i njegovih mogućnosti.


ACS je mehanizam zasnovan na deklarativnom opisu izvještaja. ACS je dizajniran za izradu izvještaja i prikaz informacija koje imaju složenu strukturu. Inače, pored izrade izvještaja, mehanizam ACS se koristi iu 1C:Enterprise u dinamičkoj listi, alatu za prikaz informacija o listi sa bogatom funkcionalnošću (prikaz ravnih i hijerarhijskih lista, uslovno formatiranje redova, grupisanje itd.) .

Malo istorije

U prvoj verziji platforme 1C:Enterprise 8, verzija 8.0, izvještaji su napravljeni na sljedeći način:
  1. Jedan ili više upita je napisano u 1C jeziku upita (jezik sličan SQL-u, više o tome u nastavku).
  2. Napisan je kod koji prenosi rezultate izvršenih upita u tabelarni dokument ili grafikon. Kôd bi također mogao obaviti posao koji se ne može obaviti u upitu - na primjer, izračunao je vrijednosti koristeći ugrađeni 1C jezik.
Pristup je jednostavan, ali ne i najpogodniji - postoji minimum vizuelnih postavki, sve se mora programirati iz ruke u ruku. A jedan od aduta u to vrijeme potpuno nove 1C:Enterprise 8 platforme bila je minimizacija količine koda u aplikacijskom rješenju koji je potrebno ručno pisati, posebno zbog vizualnog dizajna. Bilo bi logično slijediti isti put u mehanizmu izvještavanja. To je urađeno razvojem novog mehanizma - Sistema za sastavljanje podataka.

Jedna od ideja koja je bila osnova ACS-a bila je fleksibilnost i prilagođavanje izvještaja, koji su dostupni i programeru i krajnjem korisniku. U idealnom slučaju, željeli bismo krajnjem korisniku dati pristup istom skupu alata za dizajn izvještaja kao i programeru. Bilo bi logično da se jedan skup alata učini dostupnim svima. Pa, budući da alati uključuju učešće krajnjeg korisnika, to znači da korištenje programiranja u njima treba svesti na minimum (najbolje, potpuno eliminirati), a vizualne postavke maksimalno iskoristiti.

Formulacija problema

Zadatak pred razvojnim timom bio je ovaj - napraviti sistem izvještavanja zasnovan ne na algoritamskom (tj. kroz pisanje koda), već na deklarativnom pristupu kreiranju izvještaja. I vjerujemo da je problem uspješno riješen. Prema našem iskustvu, oko 80% potrebnog izvještavanja može se implementirati pomoću ACS-a bez ijedne linije koda (osim pisanja formula za izračunata polja), uglavnom - kroz vizualne postavke.
Razvoj prve verzije ACS-a trajao je oko 5 čovjek-godina.

Dva jezika

Dva jezika su uključena u kreiranje izvještaja. Jedan je jezik upita koji se koristi za dohvaćanje podataka. Drugi je jezik izraza sastava podataka, dizajniran za pisanje izraza koji se koriste u različitim dijelovima sistema, na primjer, u postavkama sastava podataka, za opisivanje prilagođenih izraza polja.

Jezik upita

Jezik upita je baziran na SQL-u i lako ga savladaju oni koji poznaju SQL. Primjer zahtjeva:

Lako je vidjeti analoge standardnih odjeljaka SQL upita - SELECT, FROM, GROUP BY, ORDER BY.

Istovremeno, jezik upita sadrži značajan broj ekstenzija koje imaju za cilj odražavanje specifičnosti finansijskih i ekonomskih zadataka i maksimalno smanjenje napora za razvoj primijenjenih rješenja:

  • Referentna polja kroz tačku. Ako su polja bilo koje tabele referentnog tipa (pohranjuju veze na objekte druge tabele), programer se može na njih pozvati u tekstu upita kroz ".", dok broj nivoa ugniježđenja takvih veza nije ograničen sistem (na primjer, Customer Order.Agreement.Organization. Telephone).
  • Višedimenzionalno i višeslojno formiranje rezultata. Zbirni i međuzbirovi se formiraju uzimajući u obzir grupisanje i hijerarhiju, nivoi se mogu zaobići proizvoljnim redoslijedom sa zbrajanjem međuzbirova, osigurava se ispravna konstrukcija totala po vremenskim dimenzijama.
  • Podrška za virtuelne tabele. Virtuelne tabele koje obezbeđuje sistem omogućavaju vam da dobijete gotovo gotove podatke za većinu aplikativnih zadataka bez potrebe za pisanjem složenih upita. Dakle, virtuelna tabela može da pruži podatke o stanju robe u kontekstu perioda u određenom trenutku. U isto vrijeme, virtuelne tablice maksimalno iskorištavaju pohranjene informacije, na primjer, prethodno izračunate ukupne vrijednosti, itd.
  • Privremeni stolovi. Jezik upita vam omogućava da koristite privremene tabele u upitima. Uz njihovu pomoć možete poboljšati performanse upita, u nekim slučajevima smanjiti broj zaključavanja i učiniti tekst upita lakšim za čitanje.
  • batch zahtjevi. Za praktičniji rad sa privremenim tabelama, jezik upita podržava rad sa skupnim upitima - tako se kreiranje privremene tabele i njeno korišćenje stavlja u jedan upit. Skupni zahtjev je niz zahtjeva odvojenih tačkom i zarezom (";"). Zahtjevi u paketu se izvršavaju jedan za drugim. Rezultat izvršavanja grupnog upita, ovisno o korištenoj metodi, bit će ili rezultat vraćen posljednjim upitom serije ili niz rezultata svih paketnih zahtjeva redoslijedom kojim slijede zahtjevi u grupi .
  • Dobivanje prikaza referentnog polja. Svaka tabela objekata (u kojoj je pohranjen direktorij ili dokument) ima virtualno polje - "Representation". Ovo polje sadrži tekstualni prikaz objekta i olakšava rad reporteru. Dakle, za dokument, ovo polje sadrži sve ključne informacije - naziv vrste dokumenta, njegov broj i datum (na primjer, "Prodaja 000000003 od 06.07.2017 17:49:14"), čuvajući programera od pisanje izračunatog polja.
  • i sl.
Mehanizam upita automatski modificira upit, uzimajući u obzir uloge korisnika u čije ime se upit izvršava (tj. korisnik će vidjeti samo podatke koje ima pravo vidjeti) i funkcionalne opcije (tj. u skladu sa onaj koji je konfiguriran u funkcionalnosti aplikativnog rješenja).

Postoje i posebna proširenja jezika upita za SKD. Proširenje se vrši korištenjem posebnih sintaksnih uputa zatvorenih u vitičaste zagrade i smještene direktno u tekst zahtjeva. Uz pomoć ekstenzija, programer određuje koje će operacije krajnji korisnik moći izvršiti prilagođavanjem izvještaja.

Na primjer:

  • ODABIR. Ova rečenica opisuje polja koja će korisnik moći odabrati za izlaz. Nakon ove ključne riječi, pseudonimi polja sa glavne liste odabira upita, koja će biti dostupna za prilagođavanje, navedeni su zarezima. Primjer: (ODABIR nomenklature, skladište)
  • GDJE. Opisuje polja na koja korisnik može primijeniti odabir. Ovaj prijedlog koristi polja tabele. Upotreba pseudonima polja za odabir liste nije dozvoljena. Svaki spojni dio može sadržavati vlastiti WHERE element. Primjeri: (WHERE Nomenklatura.*, Skladište ), (GDJE Dokument.Datum >= &Datum početka, Dokument.Datum<= &ДатаКонца}
  • i sl.
Primjer korištenja ekstenzija:

Jezik izraza sastava podataka

Jezik izraza za sastav podataka dizajniran je za pisanje izraza koji se koriste, posebno, za opisivanje izraza prilagođenih polja. ACS vam omogućava da definišete prilagođena polja u izveštaju koristeći ili sopstvene izraze ili skupove opcija sa uslovima za njihov izbor (analogno CASE u SQL-u). Prilagođena polja su analogna izračunatim poljima. Mogu se postaviti iu konfiguratoru iu 1C:Enterprise načinu rada, ali se funkcije zajedničkih modula ne mogu koristiti u prilagođenim izrazima polja. Stoga su prilagođena polja više za korisnika nego za programera.

primjer:

Proces kreiranja izvještaja o ACS-u

Prilikom kreiranja izvještaja potrebno je napraviti izgled koji definira kako će podaci biti prikazani u izvještaju. Možete kreirati raspored na osnovu šeme sastava podataka. Šema sastava podataka opisuje suštinu podataka koji se dostavljaju izvještaju (odakle dobiti podatke i kako možete kontrolisati njihov sastav). Šema sastava podataka je osnova na kojoj se mogu generirati sve vrste izvještaja. Šema sastava podataka može sadržavati:
  • tekst zahtjeva sa uputstvima za sistem sastava podataka;
  • opis nekoliko skupova podataka;
  • detaljan opis dostupnih polja;
  • opis odnosa između nekoliko skupova podataka;
  • opis parametara prikupljanja podataka;
  • opis rasporeda polja i grupisanja;
  • i sl.

Na primjer, možete dodati upit shemi sastava podataka kao skup podataka i pozvati konstruktor upita, koji vam omogućava da grafički sastavite upit proizvoljne složenosti:

Rezultat pokretanja graditelja upita bit će tekst upita (na jeziku upita 1C:Enterprise). Ovaj tekst se može ručno podesiti ako je potrebno:

U šemi sastava podataka može biti nekoliko skupova podataka, skupovi podataka mogu biti povezani u izgled na proizvoljan način, mogu se dodati izračunata polja, postaviti parametri izvještaja itd. Vrijedi spomenuti zanimljivu značajku mehanizma upita u 1C: Enterprise. Upiti se na kraju prevode u dijalekt SQL-a specifičan za DBMS s kojim aplikacija direktno radi. Općenito, nastojimo maksimalno iskoristiti mogućnosti DBMS servera (ograničeni smo činjenicom da koristimo samo one mogućnosti koje su istovremeno dostupne u svim DBMS-ima koje podržava 1C:Enterprise platforma - MS SQL, Oracle, IBM DB2 , PostgreSQL). Dakle, na razini upita u izračunatim poljima možemo koristiti samo one funkcije koje su prevedene u SQL.

Ali na nivou sheme sastava podataka, već možemo dodati prilagođena polja i koristiti funkcije u njima u ugrađenom 1C razvojnom jeziku (uključujući i one koje smo napisali), što uvelike proširuje mogućnosti izvještaja. Tehnički, to izgleda ovako - sve što se može prevesti u SQL prevodi se u SQL, upit se izvršava na nivou DBMS-a, rezultati upita se stavljaju u memoriju 1C aplikacijskog servera, a ACS izračunava vrijednosti izračunatih polja za svaki zapis, čije su formule napisane na 1C jeziku.


Dodavanje prilagođenih polja

U izvještaj možete dodati bilo koji broj tabela i grafikona:


Dizajner izvještaja


Izvještaj u vrijeme izvođenja

Uz pomoć ACS-a, korisnik može dodati složene odabire u izvještaj (koji će biti dodati upitu na pravim mjestima), uslovni dizajn (omogućuje vam drugačije formatiranje - font, boju itd. - izlazna polja u zavisnosti od njihovih vrijednosti) i još mnogo toga.

Ukratko opišite proces izgradnje i generiranja izvještaja na sljedeći način:

  • Programer u vrijeme dizajna uz pomoć dizajnera (ili u vrijeme izvođenja uz pomoć koda) definira shemu rasporeda podataka:
    • Tekst zahtjeva/zahtjeva
    • Opis izračunatih polja
    • Odnosi između upita (ako ih ima više od jednog)
    • Report Options
    • Zadane postavke
    • itd.
  • Gore navedene postavke su sačuvane u izgledu
  • Korisnik otvara izvještaj
    • Moguće je napraviti dodatna podešavanja (na primjer, promijeniti vrijednosti parametara)
    • Pritiska dugme "Generiraj".
  • Korisničke postavke primjenjuju se na shemu sastava podataka koju je definirao programer.
  • Formira se srednji izgled sastava podataka koji sadrži upute odakle se podaci mogu dobiti. Posebno se ispravljaju upiti navedeni u izgledu. Dakle, polja koja se ne koriste u izvještaju se uklanjaju iz zahtjeva (ovo se radi kako bi se količina primljenih podataka svela na minimum). Sva polja koja se koriste u izračunatim formulama polja dodaju se upitu.
  • Procesor sastava podataka je uključen u kućište. Procesor rasporeda izvršava upite, povezuje skupove podataka, izračunava vrijednosti izračunatih polja i resursa, vrši grupisanje. Jednom riječju, radi sve kalkulacije koje nisu obavljene na nivou DBMS-a.
  • Procesor za izlaz podataka pokreće upit za izvršenje i šalje primljene podatke u tabelarni dokument, grafikon itd.


Proces generisanja izveštaja od strane ACS mehanizma

Trudimo se da minimiziramo količinu izvještajnih podataka koji se prenose sa servera na klijentsku aplikaciju. Prilikom prikaza podataka u tabelarnom dokumentu, prilikom otvaranja tabelarnog dokumenta, sa servera prenosimo samo one redove koje korisnik vidi na početku dokumenta. Kako se korisnik kreće duž redova dokumenta, podaci koji nedostaju se preuzimaju sa servera na klijenta.

Korisničke postavke

Svi ACS alati dostupni su i programeru i krajnjem korisniku. Ali praksa je pokazala da je krajnji korisnik često uplašen obiljem mogućnosti alata. Štaviše, u većini slučajeva krajnjem korisniku nije potrebna sva moć podešavanja - dovoljno mu je da ima brz pristup podešavanju jednog ili dva parametra izveštaja (na primer, period i druga strana). Počevši od određene verzije platforme, programer izvještaja ima mogućnost označiti koje postavke izvještaja su dostupne korisniku. Ovo se radi pomoću polja za potvrdu "Uključi u korisničke postavke". Također, postavke izvještaja sada imaju oznaku "Način prikaza" koja uzima jednu od tri vrijednosti:
  • Brzi pristup. Postavka će biti prikazana direktno na vrhu prozora izvještaja.
  • Obicno. Postavka će biti dostupna putem dugmeta "Postavke".
  • Nije dostupno. Postavka neće biti dostupna krajnjem korisniku.


Podešavanje načina prikaza u vremenu dizajna


Prikažite postavku u načinu brzog pristupa za vrijeme rada (ispod gumba Generiraj)

Razvojni planovi

Jedan od prioriteta u razvoju ACS-a za nas je pojednostavljenje korisničkih postavki. Naše iskustvo pokazuje da je za neke krajnje korisnike rad sa korisničkim postavkama i dalje ozbiljan posao. Mi to uzimamo u obzir i radimo u tom pravcu. U skladu s tim, programerima će biti lakše raditi sa ACS-om, jer mi, kao i do sada, želimo da obezbedimo jedan komplet alata za postavljanje izveštaja i za programera i za krajnjeg korisnika.

Razmotrite proces kreiranja izvještaja u 1C 8.3 koristeći sistem za sastavljanje podataka. Na primjer, uzmimo sljedeći zadatak: izvještaj mora unijeti podatke iz tabelarnog dijela robe dokumenata Prodaja roba i usluga za određeni period i za odabranu organizaciju. Takođe treba grupirati podatke po poljima Counterparty, Link to document i Nomenclature.

Primjer rezultirajućeg izvještaja možete preuzeti sa .

Koristeći File->New meni, dodaćemo novi eksterni izveštaj, dati mu ime i sačuvati ga na disku. Kreirajmo šemu rasporeda koristeći dugme Otvori šemu rasporeda podataka.

Pisanje zahtjeva 1C za SKD

Nakon kreiranja sheme izgleda, moramo napisati upit koji će prikupljati podatke za izvještaj. Da biste to učinili, na kartici Skupovi podataka kreirajte skup podataka upita.

Sada možete početi pisati upit, za njega postoji posebno polje u skupu podataka. Možete pisati i ručno i pomoću konstruktora (što je mnogo zgodnije). U našem izvještaju, upit je najjednostavniji:

|ODABIR | Realizacija robe, usluga, robe Link, | Realizacija robe usluga Roba Link.Organizacija, | Prodaja robe, usluga, robe Link.Counterparty, | Realizacija robe, usluga, nomenklature robe, | Realizacija robe, usluga, robe, iznos, | Prodaja robe, usluga, robe, PDV stopa, | Realizacija roba, usluga, robe.Iznos PDV-a, | Realizacija robe Usluge Roba.Cijena |OD | Dokument.Realizacija robeUsluge.Robe | KAKO Realizacija robe Usluge Roba | GDJE | Realizacija robe usluga Roba Link Datum | IZMEĐU &početnog perioda I &krajnjeg perioda | I realizacija roba usluga roba Link.Organizacija | = &Organizacija

Prilagođavanje polja skupa podataka

Nakon pisanja zahtjeva, ACS će automatski popuniti tabelu sa postavkama polja.

Dozvolite mi da ukratko opišem neke od postavki:


Podešavanje resursa

Polja resursa u sistemu sastavljanja podataka su polja čije se vrijednosti izračunavaju na osnovu detaljnih zapisa uključenih u grupisanje. U suštini, resursi su grupni ili opšti zbrojevi izvještaja. U našem slučaju, resursi će biti polja Iznos i Iznos PDV-a. Ukupne vrijednosti resursa mogu se izračunati korištenjem funkcija jezika izraza SKD, od kojih su najjednostavnije Sum(), Prosjek(), Maksimum(), Minimum() i Količina(). Da biste postavili resurse izvještaja, idite na karticu Resursi i prevucite potrebna polja izvještaja u tabelu resursa. Nakon toga, potrebno je da navedete izraz (u našem slučaju Sum()), također možete odabrati grupe za koje želite vidjeti ukupne vrijednosti za ovaj resurs, to se može učiniti u koloni Izračunaj po ....

Imajte na umu da ne možete kreirati grupisanje prema poljima odabranim u resursima.

Svi parametri navedeni u zahtjevu bit će prikazani na kartici Parametri sheme rasporeda. U našem slučaju, to su StartPeriod, EndPeriod i Organization. Prođimo kroz neke od njihovih postavki:

  1. Kolone Ime, Naslov i Vrsta se popunjavaju automatski i ne treba ih nepotrebno mijenjati;
  2. Dostupna je lista vrijednosti. Ako želite da prosledite listu parametru, morate da postavite ovu zastavicu, inače će samo prvi element liste stići tamo.
  3. Značenje. Ovdje možete odrediti zadanu vrijednost za parametar. U našem primjeru, izaberimo vrijednost Elements za parametar Organizacije (prazna veza do direktorija Organizacije).
  4. Uključi u dostupna polja. Ako poništite ovu zastavicu, parametar neće biti vidljiv u postavkama: u odabranim poljima, odabir.
  5. Ograničenje dostupnosti. Zastavica je odgovorna za mogućnost postavljanja vrijednosti parametra u postavkama ACS-a.

Postavljanje strukture izvještaja

Idemo na karticu Postavke, ovdje možemo odrediti grupisanje izvještaja, polja koja se prikazuju u izvještaju, filtere, sortiranje itd. Uslov zadatka kaže da izvještaj treba grupirati podatke po poljima: Izvođač, Veza i Nomenklatura, mi ćemo ih navesti jednu za drugom u oblasti grupisanja.

Na kartici Odabrana polja prevucite naše resurse (iznos, iznos PDV-a) iz dostupnih polja u polja izvještaja.

Dodajmo filtere po Counterparty i Nomenklaturi radi lakšeg korištenja izvještaja. Uklonit ćemo zastavice za korištenje selekcije, korisnik će ih postaviti po potrebi.

Ovim je završeno podešavanje izvještaja, sada ga možete pokrenuti u poslovnom modu.

Generisanje izvještaja

Za izvještaj o ACS-u u 1C nije potrebno kreirati obrazac, sistem izgleda će ga sam generirati. Otvorite izvještaj u 1C Enterprise 8 modu.

Prije formiranja, pritisnite dugme Postavke i popunite vrijednosti parametara. Također možete postaviti filter, ako je potrebno, promijeniti grupisanje, sortiranje itd.

Pogledajte i video o kreiranju izvještaja o ACS-u:

Prilikom kreiranja izvještaja pomoću sistema za sastavljanje podataka (ACS), zgodno je prikazati parametre izvještaja (barem najčešće korištene) na obrascu kako ne bi primoravali korisnika da ulazi u standardni prozor postavki ACS-a.

Razmotrite kako se to može učiniti na običnim 1C obrascima. Odmah rezervirajmo da će ovaj članak uzeti u obzir upravo izlaz parametara u obrazac, tj. sami parametri u ACS-u moraju već biti kreirani.

Postoje dva načina za prikaz parametara ACS-a na regularnom obrascu:

  • izlaz cijele tablice postavki parametara
  • izlaz pojedinačnih parametara kao polja za unos.

Tablica za podešavanje parametara prikazana na obrascu je slična tablici za podešavanje parametara generiranoj pomoću ACS-a. Da biste ga prikazali na obrascu, morate kreirati kontrolu TableField, čije vlasništvo Podaci ukazati SettingsComposer.Settings.ParametersData

U tom slučaju, korisniku će biti prikazani svi ACS parametri koji nemaju postavljena ograničenja pristupa.

Međutim, u nekim slučajevima ova metoda može izgledati ne tako lijepa i nije baš laka za korištenje. Razmotrimo kako prikazati parametre ACS-a zasebno u obliku običnih polja za unos na obrascu.

  1. Kreirajmo detalje izvještaja koji odgovaraju parametrima. U našem primjeru, to će biti detalji Datum početka, Datum završetka, Organizacija. Postavimo odgovarajuće tipove podataka za njih.
  2. Kreirajmo polja za unos na obrascu za svaki od parametara i povežimo ih kroz svojstvo Podaci sa detaljima izvještaja. Za svako polje za unos bilo bi lepo napraviti natpis sa nazivom parametra pored njega, kako bi korisnik razumeo koji parametar uređuje.
  3. Za svako polje za unos morate kreirati proceduru za rukovalac događajima Kada se promeni, koji će postaviti vrijednost koju je korisnik izabrao na ACS parametre. U primjeru sam kreirao jednu proceduru i dodijelio je događajima promjene sva tri polja za unos. To jest, kada se promijeni jedan parametar, sva tri se resetuju. Sa stanovišta performansi, ovo najverovatnije nije efikasno, ali, pošto. parametara nema puno, razlika se ne primjećuje. Uz veliki broj parametara, vrijedi prikazati instalaciju svakog u zasebnoj proceduri. Dakle, kod procedure za rukovaoca Kada se promeni izgledat će ovako:

    Procedura ParametersOnChange(Item)

    ParameterDateStart = Postavke graditelja. Postavke. ParametersData. Elementi. Find("Početak perioda"); //Traženje se vrši po imenu ACS parametra
    ParameterDateStart Upotreba = istina; //Parametar će se koristiti u odabiru
    ParameterDateStart Vrijednost = Datum početka; //Parametru je dodijeljena vrijednost atributa izvještaja

    ParameterDateCon = Postavke graditelja. Postavke. ParametersData. Elementi. Find("EndPeriod" );
    ParameterDateCon. Upotreba = istina;
    ParameterDateCon. Vrijednost = EndDay(EndDate) ;

    ParameterOrg = LinkerSettings. Postavke. ParametersData. Elementi. Find("Organizacija" );
    ParameterOrg. Upotreba = istina;
    ParameterOrg. Vrijednost = Organizacija;

    EndProcedure

Top Related Articles