Kako postaviti pametne telefone i računala. Informativni portal
  • Dom
  • Windows 8
  • Izrada vanjskog izvješća za 1s 8.3. Dodavanje vanjskog izvješća u bazu podataka

Izrada vanjskog izvješća za 1s 8.3. Dodavanje vanjskog izvješća u bazu podataka

Ovime (u daljnjem tekstu Osoba) dajem svoj pristanak IE Zabolotnov Alexey Vladimirovich INN212702621854, OGRNIP 313213018300022 (u daljnjem tekstu Društvo) da obrađuje moje osobne podatke navedene prilikom postavljanja aplikacije na web stranicu Društva (https: // ) da obradi moju narudžbu, aplikaciju ili bilo koji drugi način kontaktiranja s tvrtkom (u daljnjem tekstu Narudžba), te komunikaciju sa mnom kao dio obrade moje narudžbe, kao i druge povezane svrhe u okviru trenutne zakonodavstvo Ruske Federacije i tehničke mogućnosti Društva.

Obrada osobnih podataka Osobe može se provoditi pomoću alata za automatizaciju i/ili bez korištenja alata za automatizaciju u skladu s važećim zakonodavstvom Ruske Federacije i odredbama Društva. Ova suglasnost Osobe za obradu njezinih osobnih podataka navedenih prilikom davanja Narudžbe na web stranici Društva, poslana (dovršena) korištenjem ove web stranice, vrijedi od trenutka postavljanja Narudžbe na web stranici Društva do njenog povlačenja. Privolu za obradu osobnih podataka navedenih prilikom davanja Narudžbe na web stranici Društva, poslanu (ispunjenu) putem ove web stranice, Osoba može povući podnošenjem pisane prijave (opoziv) Društvu. Obrada Osobnih podataka Osobe prestaje u roku od 2 mjeseca od trenutka kada Društvo zaprimi pisani zahtjev (opoziv) Osobe i/ili ako je svrha obrade postignuta i uništena u roku i prema uvjetima utvrđenim zakonom, osim ako nije drugačije određeno. Anonimizirane osobne podatke Osobe Društvo može koristiti u statističke (i druge istraživačke svrhe) nakon zaprimanja izjave (povlačenja) privole, kao i nakon postizanja ciljeva za koje je ova privola dobivena.

Ova stranica omogućuje IE Zabolotnov Alexey Vladimirovich primanje informacija koje sadrže osobne podatke osobe, odnosno prezime, ime, patronime, kontakt telefon, adresu e-pošte, kao i druge osobne podatke koji se mogu koristiti za identifikaciju Osoba ("Vaši osobni podaci"), u slučaju da ih Osoba dobrovoljno ustupi društvu.

Osoba je suglasna s individualnim poduzetnikom Aleksejem Vladimirovičem Zabolotnovom (INN INN212702621854, OGRNIP 313213018300022) da obrađuje njegove osobne podatke, i to: prezime, ime, prezime, kontakt telefon, e-mail adresu, kao i sve osobne podatke koji su potrebni za komunikacija s Osobom i izvršenje ugovora o pružanju informacijskih usluga.

Kako bi ispunila obveze iz sporazuma, Osoba daje individualnom poduzetniku Zabolotnovu Alekseju Vladimiroviču (INN INN212702621854, OGRNIP 313213018300022) pravo na obavljanje bilo kakvih radnji (operacija) sa svojim osobnim podacima bez ograničenja: prikupljanje, evidentiranje sustava, račun pohranjivanje, pojašnjenje (ažuriranje, promjena), ekstrakcija, akumulacija, depersonalizacija, blokiranje, brisanje, uništenje; koristiti u statističke svrhe, u svrhu analize, radi informiranja Osobe (putem SMS-a ili e-maila) o proizvodima i uslugama Društva, kao i za provođenje svih drugih radnji uzimajući u obzir važeću zakonsku regulativu.

Politika privatnosti

Sve druge informacije koje osoba prenese u vezi s posjetom stranici ("Ostale informacije" koje nisu osobni podaci Osobe i ne mogu se koristiti za identifikaciju Osobe) mogu biti uključene u baze podataka koje pripadaju IE Zabolotnov Alexey Vladimirovich (PIB INN212702621854, OGRNIP 313213018300022) ili njegovih zastupnika. IE Zabolotnov Aleksej Vladimirovič zadržava sva prava na te baze podataka i informacije koje su u njima pohranjene. Ostale informacije koje prikupljamo mogu uključivati ​​vašu IP adresu i druge podatke prikupljene putem kolačića (vidi dolje).

Ova stranica može koristiti tehnologiju poznatu kao kolačić. Kolačić je poruka koju web poslužitelj šalje na računalo osobe kada osoba posjeti web stranicu. Prilikom drugog posjeta, naša će web stranica provjeriti postoji li jedan od naših kolačića na računalu osobe. Naši kolačići povećavaju funkcionalnost stranice i pomažu nam da preciznije analiziramo kako se stranica koristi.

Ova web stranica koristi adrese internetskog protokola (IP). IP adresa je broj koji računalu dodjeljuje ISP za pristup Internetu. Obično se IP adresa mijenja svaki put kada pristupite internetu (ovo je "dinamička" adresa). Međutim, ako koristite vezu velike brzine, ovisno o okolnostima, moguće je da IP adresa ili čak kolačić koji koristimo sadrži podatke koji otkrivaju identitet. To je zato što se kod nekih vrsta veza velike brzine vaša IP adresa ne mijenja ("statična") i može biti povezana s računalom osobe. IP adresu Osobe koristimo za pružanje općih informacija o korištenju stranice, kao i za njeno poboljšanje.

Ova stranica koristi tehnologiju za određivanje lokacije Osobe.

Osoba je dužna napustiti ovu stranicu ako ne želi da se gore navedeni podaci (kolačić, IP adresa i podaci o lokaciji) obrađuju.

Ova stranica nije namijenjena osobama mlađim od 18 godina. Ne prikupljamo osobne podatke od osoba koje, prema podacima kojima raspolažemo, nisu navršile 18 godina. Ova stranica na kojoj se prikupljaju informacije koristi enkripciju standardnog protokola za informacijsku sigurnost (SSL). Međutim, da biste koristili ovu opciju, preglednik mora podržavati kriptografsko zatvaranje (Internet Explorer 3.0 nadalje). IE Zabolotnov Aleksey Vladimirovich zadržava pravo davanja informacija državnim tijelima na zahtjev ili u slučajevima određenim zakonom.

Da biste uklonili podatke o osobi s naših popisa kontakata, morate kontaktirati sljedeću adresu: IE Zabolotnov Alexey Vladimirovich, tel.: +7 8352 441133. Ili putem e-maila: [e-mail zaštićen] mjesto

Pojedinac može nastaviti primati materijale dok se naši oglasi ažuriraju. Politika privatnosti web-mjesta može se s vremena na vrijeme ažurirati. Nakon ažuriranja, ova pravila će biti dostupna na ovoj stranici.

U našem primjeru izvješće prikazuje izdavanje proizvoda i usluga po odjelima, grupama proizvoda i po mjesecima.

Ovdje je glavna stranica izvješća:

Ova stranica se poziva iz konfiguratora u izborniku Datoteka - Novo - Eksterno izvješće.

Prvo dodajemo skup podataka (Dataset1). U prozoru "Zahtjev" možete ga sami upisati, izraditi pomoću Query Designera ili ga učitati iz datoteke. Najprikladniji način je korištenje konstruktora upita. Pročitajte kako konstruktor radi.

Sve što trebate automatski se popunjava, ali neke stvari vrijedi podesiti.

Na primjer, naslovi stupaca (potvrdni okvir "Količina" na gornjoj slici omogućuje vam da upišete bilo koji tekst naslova za ovo polje), možete postaviti format za izlaz podataka (pogledajte Format u retku Količina). Format se može uređivati ​​za bilo koju vrstu podataka - nizove, datume, brojeve.

Na kartici Resursi odaberite same resurse i konfigurirajte izlaz ukupnih vrijednosti za njih:

Kartica Parametri sadrži sve što mijenja sadržaj izvješća (npr. razdoblje za koje će se podaci birati). Popunjava se automatski na temelju parametara zahtjeva (vidi prvu stranicu). Pomoću potvrdnih okvira možete podesiti vidljivost, dostupnost ovih parametara, postaviti početnu vrijednost itd.

Besplatno nabavite 267 1C video tutoriale:

I na kraju, Postavke. Ovdje je nacrtan izgled izvještaja - stupci, redovi, njihov položaj jedan u odnosu na drugi, grupiranje itd. Gumb "Otvori dizajner postavki" pomoći će vam da rasporedite retke i stupce željenim redoslijedom. Gumb "Korisničke postavke elementa" omogućit će prikaz parametara u zaglavlju izvješća:

Obratite pažnju na stupac Period.Date Parts.MonthName. Kako prikazujete naziv mjeseca u naslovu stupca? Ovdje se prikazuje.

Usput, ova postavka omogućuje prikaz podataka za nekoliko razdoblja odjednom u susjednim stupcima izvješća:

Druga važna kartica su Odabrana polja. Ako je prazan, izvješće se neće generirati. Obično se automatski popunjava klikom na gumb "Otvori dizajner postavki":

Zapravo, to je sve što vam treba od minimalnog potrebnog. Kao rezultat toga, imat ćemo izvješće sljedećeg obrasca:

Rad sa softverskim proizvodima koje isporučuje 1C uključuje ne samo unos i sistematizaciju primarnih informacija (ispunjavanje priručnika i pravovremeni unos dokumenata), već i formiranje različitih tiskanih obrazaca na temelju tih podataka. Za ove namjene stvoren je poseban objekt - izvješća. Izvješća u 1C pomažu analizirati trenutnu situaciju u tvrtki u kontekstu različitih pokazatelja i pružaju priliku za donošenje kompetentnih upravljačkih odluka na temelju tih informacija.

Izvješća i obrada

Općenito govoreći, nema značajnih razlika između ove dvije vrste objekata:

  • Mogu sadržavati izglede tiskanih obrazaca;
  • U svojim modulima mogu imati procedure za izmjene informacija;
  • Mogu biti interni ili ugrađeni;
  • Vanjska izvješća i vanjska obrada u tipičnim konfiguracijama pohranjeni su u istom imeniku.

Moguće je uvjetno odvojiti izvještaj i obradu prema principu korištenja. Izgled je neophodan za prikaz informacija u jednostavnom obliku, obrada se kreira za unošenje promjena u bazu podataka. Dodatno, u izlaznim tablicama možete odrediti glavnu shemu izgleda koja će služiti za formiranje izgleda vraćenih dokumenata, kao i postavke za pohranu parametara.

Objekti koji se fizički razmatraju u članku razlikuju se od vanjske obrade nastavkom datoteke:

  1. Vanjska obrada - epf;
  2. Vanjski izvještaj - erf.

Eksterna i ugrađena izvješća

Ako pomno pogledate stablo bilo koje konfiguracije u 1C, primijetit ćete da postoji i grana izvješća (slika 1)

Razlike između vanjskih i unutarnjih rukovatelja praktički nema. Štoviše, bilo koja ert datoteka može se ugraditi u konfiguraciju i obrnuto, ugrađeni mehanizam može se prenijeti na vanjski resurs. Na primjer, ako želimo napraviti promjene u standardnom rukovatelju "Analiza depozita sredstava", moramo pozvati kontekstni izbornik odgovarajućeg objekta i odabrati podizbornik "Spremi kao vanjski ..." (slika 2)

Riža. 2

Suprotna radnja naziva se podizbornik "Zamijeni vanjskim", ali za to konfiguracija mora biti otvorena za izmjene.

Jedina razlika između ugrađenog objekta je u tome što mu se može pristupiti iz programskog koda modula; za vanjsko izvješće to je prilično teško učiniti ako ga ne unesete u odgovarajuću referencu.

Izrada vanjskog izvješća

Eksterno izvješće možete izraditi samo u načinu konfiguratora, za to će vam svakako trebati poznavanje ugrađenog programskog jezika i, najvjerojatnije, sposobnost rada s jezikom i dizajnerom upita.

U osnovi, programer ima dvije mogućnosti za sastavljanje podataka dohvaćenih iz tablica baze podataka:

  1. Koristiti mehanizam sustava za sastavljanje podataka (ACS);
  2. Programski ispunite dokument proračunske tablice koristeći unaprijed pripremljeni izgled.

U drugom slučaju, programer će morati samostalno razmišljati o sučelju, odabirima, grupiranjima i ostalim stvarima koje se mogu stvoriti u ACS-u tijekom rada korisnika.

No, bez obzira na odabrani mehanizam, morate krenuti od izbornika Datoteka, podizbornika Novi. Ispred programera se otvara izbornik za odabir objekta koji se kreira (slika 3.).

Riža. 3

Riža. 4

Ovdje vidimo:

  • Naziv koji sažima svrhu predmeta što je točnije moguće;
  • Sinonim i komentar namijenjeni su potpunom opisu;
  • Osnovna shema izgleda - ovdje možete postaviti shemu koja će se koristiti za ispis izvješća;
  • Gumb "Otvori shemu ..." otvara konstruktor rezultata obrade;
  • Prozor za opisivanje obrazaca, rekvizita i izgleda.

Klikom na gumb "Radnje" možete otvoriti modul objekta koji se stvara.

Dijagram rasporeda

Korištenje ACS-a za izradu izvješća uvelike pojednostavljuje rad programera:

  1. Nema potrebe razmišljati i stvarati oblik objekta;
  2. Odabire, grupiranja, stupce prikazanog oblika mogu se dinamički mijenjati u korisničkom modu;
  3. Moguće je kreirati i pohraniti nekoliko opcija za formiranje završne tablice.

Zato shema sastava podataka postaje sve popularnija u modernim rješenjima. Ako kliknete na odgovarajući gumb, ACS konstruktor se otvara ispred programera. (slika 5)

Riža.
5

Shema je pohranjena u izgledu objekta.

Uz interna i ugrađena izvješća, postoji još jedna mogućnost pohrane i pristupa ovim objektima - direktorij "Dodatna obrada".

Registriranje vanjskih objekata u bazi podataka

Za upravljane obrasce, na kojima se temelje suvremeni softverski proizvodi 1C, značajno se promijenio obrazac za registraciju vanjske obrade u bazi podataka.

Ako je ranije (na običnim obrascima) bilo dovoljno stvoriti novi element u odgovarajućem direktoriju, navesti tip pohranjenog rukovatelja i definirati put do datoteke u ert formatu, tada se na upravljanim obrascima registracija događa iz modula registrirani objekt.

Da biste to učinili, funkcija izvoza ExternalProcessing Information mora biti definirana u modulu za rukovanje. (slika 6)

Riža. 6

Slika 6 prikazuje približan skup naredbi koje će registrirati datoteku u direktoriju.

Osim funkcije s informacijama, postoji još jedna procedura (AddCommand) i funkcija (GetCommandTable). Njihov sadržaj prikazan je na sl. 7

Riža. 7

Primijenjeni objekti dizajnirani za dobivanje svih vrsta zaokretnih tablica za organiziranje podataka u obliku prikladnom za analizu i pregled u 1C konfiguracijama nazivaju se izvješćima. Kako dodati izvješće u 1C, razne opcije za dodavanje, pokušat ćemo otkriti ova i neka druga pitanja u ovom članku.

Izvještaji i obrada: razlike

Istovremeno se razlikuju od drugih sličnih objekata - tretmana:

  1. Mogućnost korištenja ACS-a (sustav povezivanja podataka);
  2. Uz pomoć obrade možete unositi informacije, izvješće služi za prikaz i organiziranje podataka;
  3. Razlika u formatu datoteke: ekstenzija epf označava da se bavimo obradom, erf je tipičan za vanjska izvješća.

Sa stajališta programera, korištenje ovih objekata je vrlo zgodno, jer ne zahtijeva promjene u metapodacima konfiguracije, pa stoga nije potrebno izbacivati ​​korisnike iz baze podataka da bi je ažurirali.

Načini dodavanja izvješća u bazu podataka

Uz pomoć posebnog vodiča

U većini konfiguracija koje pruža 1C postoji referentna knjiga "Vanjska obrada" koja vam omogućuje spremanje obrade u bazu podataka bez promjene metapodataka. Postoje dva načina da uđete u ovaj imenik:

  1. Za Puna i Administrativna sučelja, odlaskom na: Operacije-> Imenici-> Vanjska obrada;
  2. Svi ostali putem: Servis-> Dodatna izvješća i obrada.
  3. Zatim morate odabrati vrstu obrasca koji želite dobiti.

Dakle, kako dodati izgled u imenik kroz obrazac, koji je prikazan na slici 1

Slika 1. Oblik registracije izvješća ili obrade

Prije svega, potrebno je osmisliti izvorni naziv elementa priručnika koji bi što više odražavao bit generirane tablice. Drugi korak je odabir vrste dodanog obrasca. ovo bi moglo biti:

  1. Ispis koji se poziva gumbom Ispis ili drugim gumbom u onim objektima koji su naznačeni u tabličnom dijelu "Vlasništvo za ispis";
  2. Popunjavanje tabelarnih odjeljaka, za tabelarne dijelove dokumenata i priručnika prikazanih u Tabličnoj rubrici "Pribor obrada za popunjavanje tabličnih odjeljaka";
  3. Liječenje;
  4. Izvješće.

Riža. 2 Polje za odabir vrste izvješća

U završnoj fazi potrebno je odabrati datoteku koja sadrži obrađeni kod od onih spremljenih na disku.

Slika 3 Natpis koji ukazuje na potrebu odabira datoteke izvješća

Nakon snimanja elementa, spremit ćete ga u bazu podataka. Prilikom restauracije i prijenosa baze prenijet će se i ovako spremljeni elementi.

Dodavanje u konfiguraciju

Koraci u nastavku zahtijevaju isključivi pristup bazi podataka.

Ulaskom u konfigurator i otvaranjem konfiguracije možete početi dodavati obradu.

Ako je konfiguracija zatvorena radi uređivanja, trebate otići na stavku izbornika Konfiguracija-> Podrška-> Postavke podrške. Otvorit će se prozor kao na slici 4

Riža. 4 Podrška prozor za uređivanje

  1. Pritisnite gumb "Omogući mogućnost promjene";
  2. Odgovorite potvrdno na sistemsko pitanje.

Tako ćete moći dodati svoje vlastite elemente metapodacima baze podataka.

Sada, desnim klikom na redak "Izvješća" stabla konfiguracije, možete dodati vanjski povezivač podataka u konfiguraciju.Sl.5.

Riža. 5 Podizbornik za dodavanje izvješća u konfiguraciju

Razmatranja za postavljanje obrade na upravljane obrasce

Sučelje izgrađeno na upravljanim obrascima nameće vlastita ograničenja na prikaz dodatnih rukovatelja koji su dodani bazi.

Prije dodavanja izvješća upravljanom obrascu u 1C, morate se uvjeriti da je stvoreno pomoću ACS-a, inače će se obrazac pogrešno prikazati.

Nakon otvaranja programa u načinu administracije, morate pronaći stavku "Ispis obrazaca, izvješća i obrada" na navigacijskoj ploči

Riža. 6 Navigacijska ploča 1C 8.3

Označavanjem okvira "Dodatna izvješća i obrada" u prozoru koji se otvori, moći ćete dodati svoje dizajne za upravljani obrazac u bazu.

Na obrascu kliknite gumb "Kreiraj". Zanemarujući prozor upozorenja, možete početi birati datoteku.

Vrlo često se u najnovijim verzijama programa dodatak ruši s greškom u kojoj stoji: "Metoda objekta nije pronađena." Činjenica je da je nakon stvaranja rukovatelja pomoću sustava za sastavljanje podataka potrebno registrirati funkciju InformationOnExternalProcessing () u svom modulu s oznakom Export, ova funkcija bi trebala vratiti parametre registracije:

  1. Objekt na koji će se rukovalac povezati;
  2. Naziv pod kojim će biti registriran u bazi podataka;
  3. Ime tima.

Nakon toga možete početi postavljati izvješće u sučelje. Da biste to učinili, kliknite na naredbu "Postavljanje".

Riža. 7 Smještaj

U tom se slučaju aktivnost elementa regulira odabirom odgovarajuće vrijednosti u polju "Objava".

Dodavanje bez postavljanja

Prepisivati ​​referentni element svaki put kad se unesu bilo kakve promjene u kodu, tim više je registracija ovog rukovatelja u konfiguraciji prilično naporna. Možete i bez toga. Dovoljno je samo otvoriti datoteku koja sadrži obradu putem izbornika Datoteka->Otvori datoteku. Nedavno otvoreni objekti pohranjeni su kao popis na dnu podizbornika Datoteka.

Regulirana izvješća

Osim vanjskih datoteka i rukovatelja koje pruža konfiguracija, u 1C postoji još jedna vrsta izvješća - regulirana. To su popisi podataka koje reguliraju porezne vlasti.

Po prirodi posla, ti su obrasci više nalik dokumentu. Razdoblje valjanosti takvih rukovatelja rijetko prelazi jednu četvrtinu; 1C ih redovito objavljuje.

Možete ih otvoriti iz izbornika Izvješća-> Regulirana izvješća. Nakon odabira opcije izvješća, program će ga ispuniti podacima iz baze podataka. Ako nema dovoljno podataka, program će ponuditi ručno dodavanje podataka koji nedostaju.

Nepotpuno ispunjeni obrasci se spremaju uz mogućnost nadopune. Potpuno ispunjen i ovjereni dokument može se ispisati na papiru ili predati poreznoj upravi u elektroničkom obliku.

Razmislite o izradi vanjskog izvješća u 1c 8 bez korištenja sustava za sastavljanje podataka. Za izradu vanjskog izvješća koristit ćemo konfiguraciju Računovodstva 2.0, početni podaci: „Napišite izvješće o 62 računovodstvena računa u kojem će se prometi za navedeno razdoblje prikazati u kontekstu Suprotne strane i Ugovori s izvođačem radova.

1. Napravite izvješće

Prije svega, kreirat ćemo datoteku vanjskog izvješća, za to idemo na 1c 8 u načinu rada Konfigurator, idite na izbornik Datoteka -> Novo, ili kliknite na ikonu novi dokument.

Na popisu odaberite stavku Vanjski izvještaj... Nakon izrade vanjskog izvješća, dodijelite mu Naziv (na primjer Najjednostavniji izvještaj) i spremite ga na disk. Također ćemo dodati dva rekvizita: Početak razdoblja i Kraj razdoblja tip datum, trebat će nam da ograničimo vremenski interval za uzorkovanje podataka prilikom generiranja izvješća.

2. Izrada izgleda za vanjsko izvješće

Za generiranje izvješća u 1c 8 potreban vam je izgled, ovo je predložak za izlaz podataka u kojem su postavljeni svi potrebni parametri, nacrtane tablice itd. Dodajmo novi izgled, za to u stablu metapodataka izvješća odaberite stavku Izgledi i pritisnite tipku Dodati, prilikom izrade odabiremo vrstu za izgled Dokument proračunske tablice.

Naš izgled će imati 4 područja:

  • Zaglavlje - u ovom području prikazat ćemo naziv izvješća, razdoblje za koje je generirano i zaglavlje tablice;
  • DataContractor - u ovom području prikazat ćemo podatke o suprotnoj strani u tablici;
  • Podaci o ugovoru o ugovoru - u ovom području prikazat ćemo podatke o ugovoru o drugoj ugovornoj strani u tablici;
  • Podrum - u ovom području prikazat ćemo zbrojeve za cijelo izvješće za polja Prihodi i Rashodi.

Počnimo stvarati područja rasporeda. Kako biste stvorili područje u izgledu, odaberite željeni broj redaka i pritisnite Izbornik tablice -> Imena -> Dodijeli ime(Ili Ctrl + Shift + N). Na područje Policajac napišite naziv izvještaja: Promet 62 računa, crtajmo s alatom Granice zaglavlje izvješća, kao i postavljanje parametara Početak razdoblja i Kraj razdoblja... Pomoću parametara možete prikazati potrebne podatke u izvješću, s tim ćemo se pozabaviti u sljedećoj fazi razvoja, odnosno pri pisanju programskog koda izvješća. Da biste stvorili parametar u izgledu, odaberite željenu ćeliju, upišite naziv parametra u nju (bez razmaka), kliknite desnom tipkom miša na nju, u izborniku koji se otvori odaberite stavku Svojstva... U svojstvima ćelije na oznaci Izgled odaberite punjenje Parametar.

Nakon toga, naziv parametra u ćeliji bit će zatvoren u kutnim zagradama (”<>“). Kao rezultat toga, područje Policajac trebao bi izgledati ovako:

Na području od DataContractor pomoću alata kreirat ćemo parametre za prikaz naziva druge ugovorne strane, kao i za prihode i rashode za 62 računa Granice Uredimo područje u obliku reda tablice.

Na području od Ugovor s ugovaračem podataka kreirat ćemo parametre za prikaz naziva ugovora, kao i za primitke i izdatke na računu 62, pomoću alata Granice, uredit ćemo područje u obliku reda tablice. Napravimo malu uvlaku ispred parametra Ugovor izvođača(To se može učiniti cijepanjem i spajanjem ćelija. Desnim klikom na ćeliju -> Kombinirati ili Razbiti ćeliju), potrebno je kako bi se u izvješću moglo vidjeti da je red pod ugovorom niži u hijerarhiji od reda za drugu stranu.

Na području od Podrum Kreirajmo parametre za ukupne primitke i izdatke.

Kao rezultat, trebali bismo dobiti ovakav izgled:

3. Izrada obrasca izvješća

Za izlaz podataka, postavljanje razdoblja formiranja i tipke Oblikovati našem izvješću trebat će obrazac. Da biste izradili obrazac, pronađite stavku u stablu metapodataka vanjskog izvješća Obrasci i pritisnite tipku Dodati... Na prvoj stranici dizajnera obrasca ne trebate unositi nikakve izmjene, potrebno je samo kliknuti gumb Unaprijediti.

Na sljedećoj stranici konstruktora odabrat ćemo oba dostupna rekvizita ( Početak razdoblja, Kraj razdoblja) za postavljanje na obrazac.

Kao rezultat, dobivamo sljedeći obrazac:

Ali u ovom obliku, to nam ne odgovara, napravit ćemo neke izmjene u njemu:

  • Povucite gumb Oblikovati od donjeg okna izvješća do gornjeg (ovo će biti prikladnije za korisnika);
  • Rastegnite oblik okomito i vodoravno;
  • Rasporedite polja Početak razdoblja i Kraj razdoblja vodoravno;
  • Dodajte u obrazac kontrolni element Polje dokumenta proračunske tablice (naše izvješće će biti prikazano u njemu), dajte mu naziv TabDoc;
  • Napravimo gumb za odabir razdoblja (kada ga pritisnete, prikazat će se dijaloški okvir s pogodnim odabirom traženog razdoblja). Programski kod za njega još nećemo pisati, pa ćemo jednostavno gumb postaviti pored polja točke.

Kao rezultat, naš obrazac će izgledati ovako:

4. Programiranje

Nakon kreiranja obrasca izvješća, krenimo s programiranjem. Za početak ćemo napraviti proceduru za prikaz dijaloškog okvira za odabir razdoblja (za to smo već napravili gumb u prethodnom koraku). Desnom tipkom miša kliknite gumb i odaberite stavku izbornika Svojstva, u svojstvima gumba idite na karticu Razvoj, gdje pomoću gumba sa ikonom povećala kreirajte proceduru Gumb 1 Pritisnite u modulu obrasca.

Možete se prebacivati ​​između obrasca i njegovog modula pomoću kartica na dnu obrasca

Za pozivanje obrasca za odabir razdoblja koristit ćemo standardni postupak Računovodstvo 2.0 iz općeg modula Rad s dijalozima - HandlerSettingPeriodPressing, morate u njega proslijediti pojedinosti izvješća kao parametre Početak razdoblja i Kraj razdoblja.

Postupak Tipka 1 Pritisnite (element) WorkingWith Dialogues.HandlerPeriodSettingPressing (PeriodBeginning, PeriodEnd); Završetak postupka

Sada prijeđimo na pisanje koda koji će generirati i prikazati naše izvješće. Već postoji procedura u modulu obrasca ButtonShapePress koji će se izvršiti kada se pritisne tipka Oblikovati, tu ćemo napisati naš kod. Počnimo s inicijalizacijom potrebnih varijabli. Prije svega, napravimo varijablu za polja dokumenta proračunske tablice u koji ćemo ispisivati ​​podatke, to nije potrebno, samo će snimanje poziva prema njemu biti kraće, što znači da će programski kod biti razumljiviji za čitanje.

TabDoc = Elementi obrasca.TabDoc;

Dobijte izgled vanjskog izvješća pomoću funkcije Preuzmi izgled (<ИмяМакета>) , parametru ćemo proslijediti naziv izgleda, a ako takav raspored postoji, funkcija će ga pronaći.

Layout = Get Layout ("Izgled");

Nakon što je izgled primljen, kreirat ćemo varijable za svako njegovo područje, za to ćemo koristiti metodu izgleda GetArea (<ИмяОбласти>) .

AreaHeat = Layout.GetArea ("Zaglavlje"); ScopeDataContractor = Layout.GetScope ( "Ugovaratelj podataka"); ScopeDataContract = Layout.GetScope ("ContractData"); AreaFooter = Layout.GetArea ("Podnožje");

Očistimo polje dokumenta proračunske tablice. To je potrebno kako bi se sa svakom novom generacijom izvješća stari podaci izbrisali.

TabDoc.Clear ();

Sada kada je inicijalizacija varijabli završena, prijeđimo na naizmjenično popunjavanje i prikaz područja izgleda. Počnimo s kapom. Ako se sjećate, napravili smo dva parametra u ovom području. Početak razdoblja i Kraj razdoblja, tamo ćemo prenijeti vrijednosti razdoblja generiranja izvješća, za to ćemo koristiti svojstvo Mogućnosti područje rasporeda.

AreaHead.Parameters.PeriodStart = Početak razdoblja; AreaHead.Parameters.EndPeriod = EndPeriod;

Nema više akcije na tom području Policajac proizvođač nije neophodan, pa njegovo polje prikazujemo u dokumentu proračunske tablice.

TabDok.Display (AreaHap);

Zatim ćemo napisati upit u bazu podataka s kojim ćemo preuzeti promete na računu 62 iz knjigovodstvenog registra Samonosivi... Definirajmo varijablu u kojoj će se nalaziti naš zahtjev.

Zahtjev = novi Zahtjev;

Prije nego počnemo pisati tekst zahtjeva, proslijedimo mu potrebne parametre. Budući da pišemo zahtjev za fakturom 62 računovodstvo, tada ćemo prije svega stvoriti parametar za njega

Request.SetParameter ("Account62", Planovi računa. Samonosivi.FindByCode ("62"));

Također je potrebno prenijeti razdoblje generiranja izvješća u zahtjev. Ne zaboravite da za razdoblje formiranja imamo posebne pojedinosti izvješća i prosljeđujemo ih kao parametre.

Request.SetParameter ("PeriodBeginning", PeriodBeginning); Request.SetParameter ("EndPeriod", EndPeriod);

Počnimo pisati tekst zahtjeva, to ćemo učiniti pomoću konstruktora upita. Mnogi tutorijali pišu da morate biti u mogućnosti napisati upit i ručno i pomoću konstruktora, ali u praksi to nije slučaj. U zadacima s kojima se 1C programer stalno susreće, prioritet je brzo i učinkovito pisanje koda, a kada ručno pišete zahtjev u bazu podataka, to je gotovo nemoguće postići, potrošit ćete puno dragocjenog vremena pokušavajući ispravno reproducirajte sve konstrukcije upita, pronađite pogreške pri pisanju koje ste napravili tijekom pisanja itd. Stoga nemojte gubiti vrijeme pokušavajući ručno pisati upite, već koristite konstruktor upita. Uštedjet će vam vrijeme i omogućiti vam pisanje složenih upita bez napora. Za početak pisanja teksta zahtjeva upišite kod:

Zahtjev.Tekst = "";

Nakon toga, postavite pokazivač između navodnika, pritisnite desnu tipku miša i odaberite stavku Konstruktor zahtjev. Otvorit će se prozor dizajnera upita.

Sada trebamo odabrati tablicu potrebne baze podataka 1C 8. Trebamo virtualnu tablicu Promet računovodstveni registar Samonosivi... Pronađimo ga na lijevoj strani prozora konstruktora

Premjestimo ga na područje Tablice i popunimo parametre. Za sve virtualne tablice upita postoji poseban skup parametara koji vam omogućuju da odaberete željene podatke iz glavne tablice (u našem slučaju, glavna tablica Registar računovodstva Samonosivi). Otvorimo prozor parametara virtualne tablice.

Popunimo parametre razdoblja koje smo prenijeli na zahtjev. Da biste koristili parametar u tekstu zahtjeva, upišite simbol ispred njegovog naziva ampersand (&)

Ostaje ispuniti uvjet za račun bukh. računovodstvo. Da bismo to učinili, u parametrima virtualne tablice pronaći ćemo liniju Stanje računa i napiši tamo

Račun u HIJERARHIJI (& Račun62)

Također možete koristiti konstruktor za crtanje uvjeta klikom na gumb s tri točke.

Nema potrebe više postavljati uvjete na virtualni stol, stoga pritisnite gumb u redu u prozoru parametara virtualne tablice. Zatim morate odabrati polja koja su nam potrebna iz tablice Samonosivi.Promet(naime: Druga strana, Ugovor s drugom stranom, Prihodi i rashodi). Da biste vidjeli popis polja dostupnih u tablici koju smo odabrali, pritisnite simbol "+" pored njegovog naziva. Nakon toga povucite potrebna polja u krajnje desno područje dizajnera upita, koje se zove Polja. Ako otvorimo kontni plan, to ćemo vidjeti za konto 62 analitiku za Druga strana je Subconto1 i po Ugovor s izvođačem - Subconto2.

Stoga iz polja virtualne tablice odabiremo Podkonto1 i Subconto2... Budući da su nam prihodi i rashodi potrebni po iznosu, odabiremo i polja IznosPrometDt i IznosPrometKt

Ispunite pseudonime polja koja smo odabrali, za to idemo na karticu Sindikati / Aliasi i postavite potrebna imena polja.

Budući da će u našem izvješću podaci biti prikazani hijerarhijski (sugovornik je na prvoj razini, a svi njegovi ugovori su na drugoj), mi ćemo postaviti izlaz podataka u hijerarhiji koristeći totale. Idemo do oznake u konstruktoru Ishodi... U poljima za grupiranje povucite uzastopno Druga strana i Ugovor izvođača, a u finalu Dolazak i Potrošnja.

Time je završen rad u konstruktoru upita, pritisnite gumb u redu i vidimo da se tekst našeg zahtjeva pojavio u programskom kodu.

Request.Text = "ODABIR | Samonosivi promet.Subkonto1 KAO Counterparty, | Samonosivi promet.Subkonto2 AS Ugovor s ugovarateljem, | SamonosiviTurnover.AmountTurnoverDt AS Potvrda, | Samonosivi promet.IznosPrometKt AS Potrošnja| OD | Knjiga računovodstva. Samonosivi. Promet (& početak razdoblja i kraj razdoblja, račun U HIJERARHIJAMA (& račun62),) KAO samonosivi promet| REZULTATI | SUM (Dolazak), | IZNOS (Potrošnja) | Softver | druga strana, | Ugovor o ugovaraču";

Nakon što završimo s pisanjem zahtjeva, krenimo s popunjavanjem područja DataContractor, DataAgreementUgovaratelj i Podrum... Sva ta područja popunit ćemo podacima dobivenim prilikom izvršavanja zahtjeva. Budući da naš upit sadrži grupiranja ( Druga strana i Ugovor izvođača) odaberite podatke iz njega na sljedeći način:

SelectContractor = Query.Run (). Odaberite (QueryResultIndo.OnGroups);

Tako ćemo dobiti zapise s ukupnim iznosima za sve druge ugovorne strane.

Prije prelaska uzoraka podataka pomoću petlje, inicijaliziramo varijable dizajnirane za izračunavanje ukupnih zbrojeva za izvješće:

Ukupni prihod = 0; Ukupna potrošnja = 0;

Kako bi podaci izvješća bili hijerarhijski prikazani (i raspoređeni duž "+"), postavit ćemo početak automatskog grupiranja redaka dokumenta proračunske tablice:

TabDoc.StartAutoGroupLines ();

Sve pripreme su gotove, sada krenimo obilaziti rezultate upita. Provest ćemo obilazak pomoću petlje Zbogom

WhileSelectionContractor.Next () Cycle EndCycle;

Na početku ciklusa postavite parametre na nulu Dolazak i Potrošnja područja DataContractor... Čemu služi? Zamislite situaciju da za drugu stranu Ujak Vasja, prihod 10, a rashod 5, a za njega sljedeća protustranka stric Petya nema ni prihoda ni rashoda, u ovom slučaju, ako ne resetujemo parametre Dolazak i Potrošnja, zatim po redu po drugoj strani stric Petya dobit će prihod 5 i rashod 10.

ScopeDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0;

Nakon toga popunjavamo područje DataContractor uzorak podataka o artiklu

FillPropertyValues ​​(ScopeDataContractor.Parameters, SelectionContractor);

Nakon popunjavanja podacima, možete prikazati područje Dokument proračunske tablice Budući da koristimo automatsko grupiranje linija, potrebno je naznačiti razinu linije u grupiranju (u našem izvješću bit će dvije razine, za izvođače prva za ugovore je druga).

TabDok.Withdraw (ScopeDataContractor, 1);

Sada ćemo za ovu drugu stranu napraviti selekciju prema njegovim ugovorima.

SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On Groupings);

Provest ćemo obilazak pomoću petlje Zbogom.

Dok je Ugovor o odabiru izvođača.Sljedeći () Kraj ciklusa;

U ciklusu po ugovorima kontrastranaka, poništit ćemo parametre Dolazak i Potrošnja, ispunite područje Ugovor o podacima iz odabira i prikazati ga u dokumentu proračunske tablice na drugoj razini zapisa.

ScopeDataContract.Parameters.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Ispunite vrijednosti svojstava (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2);

Također, u ovom ciklusu dodajemo trenutne vrijednosti varijablama za izračunavanje ukupnih vrijednosti prihoda i rashoda.

Ukupni prihod = Ukupni prihod + Ugovor o izboru izvođača. Prihod; TotalExpense = TotalExpense + SampleContractor Agreement.Expense;

Time je dovršen izlaz podataka u području DataContractor, DataAgreementUgovaratelj dovršeno, ostaje dovršiti automatsko grupiranje redaka dokumenta proračunske tablice.

TabDoc.FinishAutoGroupLines ();

Potpuno petlje odgovorne za izlaz podataka u području DataContractor i DataAgreementUgovaratelj izgleda ovako:

TabDoc.StartAutoGroupLines (); Dok SampleContractor.Next () Cycle RegionDataContractor.Parameters.Prihod = 0; ScopeDataContractor.Parameters.Expense = 0; FillPropertyValues ​​(ScopeDataContractor.Parameters, SelectionContractor); TabDok.Withdraw (ScopeDataContractor, 1); SelectionContractorAgreement = SelectionContractor.Choose (BypassResultResult.On Groupings); Dok SelectionDogovKontragenta.Sleduyuschiy () Cycle ScopeDataDogov.Parametry.Prihod = 0; ScopeDataAgreement.Parameters.Expense = 0; Ispunite vrijednosti svojstava (ScopeDataContract.Parameters, SelectionContractorAgreement); TabDok.Withdraw (ScopeDataContract, 2); Ukupni prihod = Ukupni prihod + Ugovor o izboru izvođača. Prihod; TotalExpense = TotalExpense + SampleContractor Agreement.Expense; Kraj ciklusa; Kraj ciklusa; TabDoc.FinishAutoGroupLines ();

Ostaje iznijeti ukupne vrijednosti u područje Podrum i prikazati samo područje Dokument proračunske tablice.

AreaBoard.Parameters.TotalIncoming = TotalIncoming; AreaBoard.Parameters.TotalExpense = TotalExpense; TabDok.Display (područni podrum);

Time je završen proces pisanja vanjskog izvješća za 1C 8 bez korištenja ACS-a. Sada se može generirati u načinu 1C: Enterprise 8 i dodati u imenik Vanjska obrada Možete preuzeti datoteku izvješća koja se razmatra u članku.

Pogledajte videozapis o stvaranju vanjskog ispisa za upravljanu aplikaciju:

Vrhunski povezani članci