Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 8
  • Kreiranje eksternog izvještaja za 1s 8.3. Dodavanje eksternog izvještaja u bazu podataka

Kreiranje eksternog izvještaja za 1s 8.3. Dodavanje eksternog izvještaja u bazu podataka

Ovime (u daljem tekstu „Lice“) dajem pristanak IP Zabolotnov Alekseju Vladimiroviču TIN212702621854, OGRNIP 313213018300022 (u daljem tekstu Kompanija) da obrađuje moje lične podatke navedene prilikom postavljanja aplikacije Kompanije (https //web stranica) za obradu moje narudžbe, prijave ili bilo koji drugi način kontaktiranja Kompanije (u daljem tekstu Narudžba), te komunikaciju sa mnom u sklopu obrade moje Narudžbe, kao i u druge povezane svrhe u okviru važećeg zakonodavstva Ruske Federacije i tehničkih mogućnosti Kompanije.

Obrada ličnih podataka lica može se vršiti uz pomoć alata za automatizaciju i/ili bez upotrebe alata za automatizaciju u skladu sa važećim zakonodavstvom Ruske Federacije i odredbama Kompanije. Ovaj pristanak Lica za obradu njegovih/njenih ličnih podataka navedenih prilikom davanja Narudžbe na web stranici Kompanije, poslanih (popunjenih) korištenjem ove web stranice, važi od trenutka postavljanja Narudžbe na web stranici Kompanije do trenutka kada je je povučen. Pristanak za obradu ličnih podataka navedenih prilikom davanja Narudžbe na web stranici Kompanije, poslane (popunjene) korištenjem ove web stranice, Lice može povući podnošenjem pismene prijave (recenzije) Kompaniji. Obrada ličnih podataka Lica se prekida u roku od 2 mjeseca od dana prijema od strane Društva pisane prijave (pregleda) Lica i/ili ako je svrha obrade ostvarena, te se uništava u roku i pod uslovima utvrđenim zakonom, osim ako nije drugačije određeno. Anonimizirane lične podatke Lica Društvo može koristiti u statističke (i druge istraživačke svrhe) nakon prijema zahtjeva (povlačenja) pristanka, kao i nakon postizanja ciljeva za koje je ova saglasnost data.

Ova stranica omogućava IP Zabolotnov Alexey Vladimirovich da prima informacije koje sadrže lične podatke osobe, odnosno prezime, ime, patronime, kontakt telefon, adresu e-pošte, kao i druge lične podatke koji se mogu koristiti za identifikaciju osobe ("Vaši lični podaci"), u slučaju da ih lice dobrovoljno ustupi kompaniji.

Lice daje saglasnost da IP Zabolotnov Aleksej Vladimirovič (TIN TIN212702621854, OGRNIP 313213018300022) obrađuje svoje lične podatke, i to: prezime, ime, patronime, kontakt telefon, adresu e-pošte, kao i sve lične podatke koji su potrebni za komunikaciju sa Licem i izvrši ugovor o pružanju informacionih usluga.

U cilju ispunjenja obaveza iz ugovora, Lice daje IP Zabolotnovu Alekseju Vladimiroviču (TIN TIN212702621854, OGRNIP 313213018300022) pravo na obavljanje bilo kakvih radnji (operacija) sa svojim ličnim podacima bez ograničenja: prikupljanje, evidentiranje, čuvanje, sistematizacija pojašnjenje (ažuriranje, promjena), ekstrakcija, akumulacija, depersonalizacija, blokiranje, brisanje, uništenje; koristiti u statističke svrhe, u svrhu analize, u svrhu informiranja Osobe (prenosom putem SMS-a ili e-pošte) o proizvodima i uslugama Kompanije, kao i za obavljanje svih drugih radnji koje su podložne važećem zakonu .

Politika privatnosti

Bilo koje druge informacije koje osoba prenese u vezi sa posjetom stranice („Ostale informacije“ koje nisu lični podaci Lica i ne mogu se koristiti za identifikaciju Lica) mogu biti uključene u baze podataka u vlasništvu IP Zabolotnov Alexey Vladimirovich (TIN TIN212702621854 , OGRNIP 313213018300022) ili njegovih predstavnika. IP Zabolotnov Aleksej Vladimirovič zadržava sva prava na ove baze podataka i informacije pohranjene u njima. Ostale informacije koje prikupljamo mogu uključivati ​​vašu IP adresu i druge informacije prikupljene putem kolačića (pogledajte dolje).

Ova stranica može koristiti tehnologiju poznatu kao kolačić. Kolačić je poruka koju web server šalje računaru osobe kada osoba posjeti web stranicu. Kada ponovo posjetite, naša stranica će provjeriti da li kompjuter osobe ima jedan od naših kolačića. Naši kolačići povećavaju funkcionalnost stranice i pomažu nam da preciznije analiziramo kako se stranica koristi.

Ova stranica koristi adrese Internet protokola (IP). IP adresa je broj koji je računaru dodijelio Internet provajder za pristup Internetu. Obično se IP adresa mijenja svaki put kada pristupite Internetu (ovo je "dinamička" adresa). Međutim, ako se koristi veza velike brzine, ovisno o okolnostima, moguće je da IP adresa ili čak kolačić koji koristimo sadrži podatke koji mogu lično identificirati. To je zato što se kod nekih vrsta brze veze vaša IP adresa ne mijenja („statična“) i može se povezati s računarom osobe. Koristimo IP adresu Osobe za prenošenje opštih informacija o korišćenju sajta, kao i za njegovo poboljšanje.

Ova web 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 lične podatke od pojedinaca koji su, prema našim saznanjima, mlađi od 18 godina. Ova stranica na kojoj se prikupljaju informacije koristi standardno industrijsko šifriranje Secure Sockets Layer (SSL). Međutim, da bi koristio ovu opciju, pretraživač mora podržavati kriptografsko zatvaranje (od Internet Explorer 3.0 nadalje). IP Zabolotnov Aleksej Vladimirovič zadržava pravo da pruži informacije državnim organima na odgovarajući zahtev ili u slučajevima predviđenim zakonom.

Da biste uklonili informacije o osobi sa naše kontakt liste, obratite se na sledeću adresu: IP Zabolotnov Aleksej Vladimirovič, tel.: +7 8352 441133. Ili putem e-maila: [email protected] site

Pojedinac može nastaviti primati materijale dok se naše liste ažuriraju. Politika privatnosti web stranice 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štaj prikazuje proizvodnju proizvoda i usluga po odjelima, grupama artikala i raščlanjen po mjesecima.

Evo glavne stranice izvještaja:

Ova stranica se poziva iz konfiguratora u meniju Datoteka - Novo - Eksterni izvještaj.

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

Sve što je potrebno popunjava se automatski, ali neke stvari treba dotjerati.

Na primjer, zaglavlja kolona (potvrdni okvir „Količina“ na gornjoj slici omogućava vam da unesete bilo koji tekst naslova za ovo polje), možete postaviti format izlaznih podataka (pogledajte Format u redu 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 rezultata za njih:

Kartica Parametri sadrži sve što mijenja sadržaj izvještaja (na primjer, period za koji će se podaci birati). Popunjava se automatski na osnovu parametara zahtjeva (vidi prvu stranicu). Pomoću kvačica možete podesiti vidljivost, dostupnost ovih parametara, postaviti početnu vrijednost itd.:

Nabavite 267 1C video lekcija besplatno:

I konačno, Postavke. Ovdje se iscrtava izgled izvještaja - kolone, redovi, njihov položaj jedan u odnosu na drugi, grupiranje itd. Dugme "Otvori dizajner postavki" pomoći će vam da rasporedite linije i stupce željenim redoslijedom. Dugme "Postavke prilagođenih elemenata" će vam omogućiti da prikažete parametre u zaglavlju izvještaja:

Obratite pažnju na kolonu Period.Parts ofDates.Name of the Month. Kako prikazati naziv mjeseca u naslovu kolone? Ovdje izlazi.

Usput, ova postavka vam omogućava da prikažete podatke za nekoliko perioda odjednom u susjednim stupcima izvještaja:

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

Zapravo, to je sve što vam treba od minimalnog potrebnog. Kao rezultat, imaćemo izvještaj u sljedećem obliku:

Rad sa softverskim proizvodima koje isporučuje 1C uključuje ne samo unos i sistematizaciju primarnih informacija (popunjavanje imenika i blagovremeno dostavljanje dokumenata), već i formiranje različitih štampanih obrazaca na osnovu ovih podataka. Za ove svrhe kreiran je poseban objekat - izvještaji. Izvještaji u 1C pomažu da se analizira trenutna situacija u kompaniji u kontekstu različitih pokazatelja i pružaju priliku za donošenje kompetentnih upravljačkih odluka na osnovu ovih informacija.

Izvještaji i obrada

Uopšteno govoreći, ne postoje značajne razlike između ove dvije vrste objekata:

  • Mogu sadržavati izglede štampanih obrazaca;
  • Oni mogu imati procedure u svojim modulima za promjenu informacija;
  • Mogu biti interni i ugradbeni;
  • Eksterni izvještaji i eksterna obrada u tipičnim konfiguracijama pohranjeni su u istom direktoriju.

Moguće je uslovno odvojiti izvještaj i obradu prema principu korištenja. Layout je neophodan za prikaz informacija u formi prilagođenoj korisniku, kreira se obrada da bi se izvršile promjene u bazi podataka. Dodatno, u izlaznim tabelama možete odrediti glavnu šemu izgleda koja će služiti za formiranje izgleda vraćenih dokumenata, kao i postavke za pohranjivanje parametara.

Objekti koji se fizički razmatraju u članku razlikuju se od eksterne obrade po ekstenziji datoteke:

  1. Eksterna obrada - epf;
  2. Eksterni izvještaj - erf.

Eksterni i ugrađeni izvještaji

Ako pažljivo pogledate stablo bilo koje konfiguracije u 1C, primijetit ćete da postoji i grana izvještaja (slika 1)

Praktično nema razlike između eksternih i unutrašnjih rukovalaca. Štaviše, bilo koja ert datoteka može biti ugrađena u konfiguraciju i obrnuto, ugrađeni mehanizam se može učitati na vanjski resurs. Na primjer, ako želimo napraviti promjene u standardnom rukovatelju "Analiza doprinosa u fondove", moramo pozvati kontekstni meni odgovarajućeg objekta i odabrati podmeni "Sačuvaj kao eksterni..." (slika 2)

Rice. 2

Obrnuta radnja se zove podmeni "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 eksterni izvještaj, to je prilično teško učiniti ako nije uključen u odgovarajući direktorij.

Kreirajte eksterni izvještaj

Eksterni izveštaj možete kreirati samo u režimu konfiguratora, za to će vam svakako trebati poznavanje ugrađenog programskog jezika i, najverovatnije, sposobnost rada sa jezikom i konstruktorom upita.

U principu, programer ima dvije opcije za kompajliranje podataka preuzetih iz tabela baze podataka:

  1. Koristiti mehanizam sistema za sastavljanje podataka (SKD);
  2. Programski popunite dokument proračunske tablice koristeći unaprijed pripremljeni izgled.

U drugom slučaju, programer će morati samostalno razmišljati o interfejsu, selekcijama, grupisanjima i drugim stvarima koje se mogu kreirati u ACS-u dok korisnik radi.

Ali, bez obzira na izabrani mehanizam, morate krenuti od menija "Datoteka", podmenija "Novo". Pred programerom se otvara meni za izbor kreiranog objekta (slika 3).

Rice. 3

Rice. 4

Ovdje vidimo:

  • Ime koje sažima svrhu objekta što je preciznije moguće;
  • Sinonim i komentar - namijenjen za kompletan opis;
  • Šema glavnog izgleda - ovdje možete postaviti izgled koji će se koristiti za štampanje izvještaja;
  • Dugme “Otvori šemu…” otvara konstruktor rezultata obrade;
  • Prozor za opisivanje formi, detalja i izgleda.

Klikom na dugme "Radnje" možete otvoriti modul objekta koji se kreira.

dijagram rasporeda

Upotreba ACS-a za kreiranje izvještaja uvelike pojednostavljuje rad programera:

  1. Nema potrebe za promišljanjem i kreiranjem oblika objekta;
  2. Izbor, grupisanje, kolone prikazanog oblika mogu se dinamički mijenjati u korisničkom modu;
  3. Moguće je kreirati i pohraniti nekoliko opcija za formiranje završnog stola.

Zbog toga shema rasporeda podataka postaje sve popularnija u modernim rješenjima. Ako pritisnete odgovarajuće dugme, ACS konstruktor se otvara pre programera. (sl. 5)

Rice.
5

Šema je pohranjena u rasporedu objekata.

Pored internih i ugrađenih izvještaja, postoji još jedna mogućnost pohranjivanja i pristupa ovim objektima - direktorij "Dodatna obrada".

Registriranje vanjskih objekata u bazi podataka

Kod upravljanih obrazaca, na kojima se zasnivaju savremeni 1C softverski proizvodi, oblik registracije eksterne obrade u bazi podataka značajno se promijenio.

Ako je ranije (na običnim obrascima) bilo dovoljno kreirati novi element u odgovarajućem direktoriju, navesti tip pohranjenog rukovatelja i odrediti putanju do datoteke ert formata, tada se na upravljanim obrascima registracija događa iz modula objekta se registruje.

Da biste to učinili, funkcija izvoza ExternalProcessingDetails mora biti definirana u modulu rukovanja. (sl. 6)

Rice. 6

Slika 6 prikazuje približan skup naredbi koje će vam omogućiti da registrujete datoteku u direktoriju.

Pored funkcije sa informacijama, tu su još jedna procedura (AddCommand) i funkcija (GetCommandTable). Njihov sadržaj je prikazan na sl. 7

Rice. 7

Aplikacioni objekti dizajnirani da dobiju sve vrste pivot tabela, da organizuju podatke u obliku pogodnom za analizu i pregled u 1C konfiguracijama obično se nazivaju izveštaji. Kako dodati izvještaj u 1C, razne opcije za dodavanje, pokušat ćemo pokriti ova i neka druga pitanja u ovom članku.

Izvještaji i obrada: razlike

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

  1. Mogućnost korišćenja ACS (sistema za povezivanje podataka);
  2. Uz pomoć obrade možete unositi informacije, izvještaj se koristi za prikaz i organiziranje podataka;
  3. Razlika je u formatu datoteke: ekstenzija epf označava da se bavimo obradom, erf je tipičan za eksterne izvještaje.

Sa stanovišta programera, korišćenje ovih objekata je veoma zgodno, jer ne zahteva promene u metapodacima konfiguracije, pa stoga nema potrebe izbacivati ​​korisnike iz baze podataka da bi je ažurirali.

Načini dodavanja izvještaja u bazu podataka

Uz pomoć posebnog vodiča

U većini konfiguracija koje pruža 1C, postoji direktorij "Eksterna obrada" koji vam omogućava da sačuvate obradu u bazi podataka bez izmjene metapodataka. Postoje dva načina za pristup ovom vodiču:

  1. Za potpuna i administrativna sučelja, odlaskom na: Operacije->Reference->Spoljna obrada;
  2. Svi ostali putem: Servis->Dodatni izvještaji i obrada.
  3. Zatim morate odabrati vrstu obrasca koji želite primiti.

Dakle, kako dodati izgled u direktorij kroz obrazac, čiji je pogled prikazan na slici 1.

Sl.1 Prijava ili obrada obrasca za registraciju

Prije svega, potrebno je osmisliti originalno ime za referentni element, koji bi maksimalno odražavao suštinu generirane tabele. Drugi korak je odabir vrste dodanog obrasca. To može biti:

  1. Ispis koji se poziva dugmetom Štampanje ili drugim dugmetom u onim objektima koji su navedeni u tabelarnom delu "Pribor za štampu";
  2. Popunjavanje tabelarnih delova, za tabelarne delove dokumenata i imenika prikazanih u tabelarnom delu „Dostupnost obrade za popunjavanje tabelarnih delova“;
  3. Tretman;
  4. Izvještaj.

Rice. 2 Polje za odabir vrste izvještaja

U završnoj fazi morate odabrati datoteku koja sadrži obrađeni kod od onih koji su pohranjeni na disku.

Sl.3 Natpis koji ukazuje na potrebu odabira datoteke izvještaja

Kada pišete element, pohranjujete ga u bazu podataka. Prilikom vraćanja i migracije baze podataka, stavke sačuvane na ovaj način će također biti migrirane.

Dodavanje u konfiguraciju

Koraci u nastavku zahtijevaju ekskluzivni pristup bazi podataka.

Nakon što uđete u konfigurator i otvorite konfiguraciju, možete započeti dodavanje obrade.

Ako je konfiguracija zatvorena za uređivanje, potrebno je da odete na stavku menija Konfiguracija->Podrška->Podrška za podešavanje. Otvoriće se prozor, kao na slici 4

Rice. 4 Podrška prozora za uređivanje

  1. Pritisnite dugme "Omogući mogućnost promjene";
  2. Odgovorite pozitivno na pitanje.

Tako ćete biti u mogućnosti da dodate svoje elemente u metapodatke baze podataka.

Sada, desnim klikom na liniju “Izvještaji” stabla konfiguracije, možete dodati eksterni kompozitor podataka u konfiguraciju Slika 5.

Rice. 5 Podmeni za dodavanje izvještaja u konfiguraciju

Karakteristike postavljanja obrade na upravljane forme

Interfejs izgrađen na upravljanim obrascima nameće vlastita ograničenja na prikaz dodatnih rukovatelja dodatih bazi.

Prije dodavanja izvještaja u upravljani obrazac u 1C, morate se uvjeriti da je kreiran pomoću ACS-a, inače obrazac neće biti ispravno prikazan.

Nakon otvaranja programa u režimu administracije, morate pronaći stavku "Štampanje obrazaca, izvještaja i obrada" na navigacijskoj ploči

Rice. 6 Traka za navigaciju 1C 8.3

Označavanjem polja za potvrdu "Dodatni izvještaji i obrada" u prozoru koji se otvori, moći ćete dodati svoje razvoje za upravljani obrazac u bazu podataka.

Na obrascu kliknite na dugme "Kreiraj". Nakon što zanemarite prozor upozorenja, možete nastaviti s odabirom datoteke.

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

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

Nakon toga možete početi sa postavljanjem izvještaja u interfejs. Da biste to učinili, kliknite na naredbu "Postavi".

Rice. 7 Smještaj

U ovom slučaju, aktivnost elementa se reguliše odabirom odgovarajuće vrijednosti u polju "Publikacija".

Dodavanje bez postavljanja

Prepisivanje elementa direktorija svaki put kada se izvrše bilo kakve promjene u kodu, posebno registriranje ovog rukovatelja u konfiguraciji, prilično je naporan. Možete i bez toga. Dovoljno je jednostavno otvoriti datoteku koja sadrži obradu kroz meni File->Open File. Najskorije otvoreni objekti se pohranjuju kao lista na dnu podmenija Datoteka.

Regulisani izvještaji

Osim vanjskih datoteka i rukovatelja predviđenih konfiguracijom, u 1C postoji još jedna vrsta izvještaja - regulirana. To su rasporedi podataka čiji rad reguliraju porezne vlasti.

Po prirodi posla, ovi obrasci više liče na dokument. Period važenja takvih rukovalaca rijetko prelazi jednu četvrtinu; 1C ih redovno objavljuje.

Možete ih otvoriti iz menija Izvještaji->Uređeni izvještaji. Nakon odabira opcije izvještaja, program će ga popuniti podacima iz baze podataka. Ako nema dovoljno podataka, program će ponuditi ručno dodavanje podataka koji nedostaju.

Nepotpuno popunjeni obrasci se čuvaju uz mogućnost popunjavanja. Potpuno popunjen i ovjeren dokument može se odštampati na papiru ili predati poreznoj upravi elektronski.

Razmislite o kreiranju eksternog izvještaja za 1s 8 bez korištenja sistema za sastavljanje podataka. Za kreiranje eksternog izvještaja koristit ćemo konfiguraciju Računovodstva 2.0, početni podaci: „Napišite izvještaj o 62 računovodstvena računa u kojem će promet za navedeni period biti prikazan u Counterparties i Ugovori ugovornih strana.

1. Kreirajte izvještaj

Prije svega, kreirat ćemo eksternu datoteku izvještaja, za to ćemo ići na 1s 8 u načinu rada Konfigurator, idite na meni Fajl -> Novo ili kliknite na ikonu novi dokument.

Odaberite stavku sa liste Eksterni izvještaj. Nakon kreiranja eksternog izvještaja, dajte mu Naziv (na primjer SimplestReport) i sačuvajte ga na disk. Takođe ćemo dodati dva rekvizita: Početak perioda i EndPeriod tip datum, trebat će nam da ograničimo vremenski interval za uzorkovanje podataka prilikom generiranja izvještaja.

2. Kreirajte eksterni izgled izvještaja

Za generiranje izvještaja za 1s 8 potreban vam je izgled, ovo je šablon za izlaz podataka u kojem se postavljaju svi potrebni parametri, crtaju tabele itd. Dodajmo novi izgled, za to u stablu metapodataka izvještaja odaberite stavku Izgledi i pritisnite dugme Dodati, prilikom kreiranja, odaberite tip za izgled tabelarni dokument.

Naš izgled će imati 4 oblasti:

  • Zaglavlje - u ovoj oblasti ćemo prikazati naziv izveštaja, period za koji je generisan i zaglavlje tabele;
  • Podaci druge strane - u ovoj oblasti ćemo prikazati podatke o drugoj strani u tabeli;
  • Podaci o ugovoru sa drugom stranom - u ovoj oblasti ćemo prikazati podatke o ugovoru druge strane u tabeli;
  • Podnožje - u ovoj oblasti ćemo prikazati ukupne vrijednosti za cijeli izvještaj za polja Prihodi i Rashodi.

Počnimo kreirati područja rasporeda. Da biste kreirali područje u rasporedu, odaberite potreban broj linija i kliknite Tabela menija -> Imena -> Dodeli ime(Or Ctrl+Shift+N). To area Kapa napišite naziv izvještaja: Promet 62 računa, crtanje pomoću alata Granice zaglavlje izvještaja, kao i postavljanje parametara Početak perioda i EndPeriod. Uz pomoć parametara možete prikazati potrebne podatke u izvještaju, time ćemo se baviti u sljedećoj fazi razvoja, odnosno prilikom pisanja programskog koda izvještaja. Da biste kreirali parametar u izgledu, odaberite željenu ćeliju, upišite naziv parametra u nju (bez razmaka), kliknite desnim klikom na nju, odaberite stavku u izborniku koji se otvara Svojstva. U svojstvima ćelije na kartici Izgled izaberite punjenje Parametar.

Nakon toga, u ćeliji, naziv parametra će biti zatvoren u uglastim zagradama (”<>“). Kao rezultat toga, područje Kapa trebalo bi izgledati ovako:

Na području DataContractor kreiraćemo parametre za prikaz naziva druge ugovorne strane, kao i za prihode i rashode za račun 62, koristeći alat Granice Dizajnirajmo područje u obliku reda tabele.

Na području DataAgreementContractor napravićemo parametre za prikaz naziva ugovora, kao i za prihode i rashode za račun 62, koristeći alat Borders, uredićemo područje u obliku reda tabele. Napravimo malo uvlačenje ispred parametra Ugovor sa drugom stranom(ovo se može učiniti cijepanjem i spajanjem ćelija. Desni klik na ćeliju -> Spoji ili Razbij ćeliju), potreban je kako bi se u izvještaju pokazalo da je linija ugovora niža u hijerarhiji od linije druge ugovorne strane.

Na području Podrum Kreirajmo parametre za ukupne prihode i rashode.

Kao rezultat, trebali bismo dobiti ovakav izgled:

3. Kreirajte obrazac izvještaja

Za prikaz podataka podesite period formiranja i dugmad Forma našem izvještaju će biti potreban obrazac. Da biste kreirali obrazac, pronađite stavku u stablu metapodataka vanjskog izvještaja Forms i pritisnite dugme Dodati. Na prvoj stranici alata za pravljenje obrazaca ne morate da unosite nikakve izmene, samo kliknite na dugme Dalje.

Na sljedećoj stranici konstruktora odaberite oba dostupna rekvizita ( Početak perioda, EndPeriod) za postavljanje na formular.

Kao rezultat, dobijamo ovaj obrazac:

Ali u ovom obliku nam ne odgovara, napravićemo neke izmene u njemu:

  • Dugme za povlačenje Forma od donjeg panela izvještaja do gornjeg (ovo će biti zgodnije za korisnika);
  • Rastegnite oblik okomito i vodoravno;
  • Rasporedite polja Početak perioda i EndPeriod horizontalno;
  • Dodajte kontrolu polja dokumenta tabele u obrazac (naš izveštaj će biti prikazan u njemu), dajte mu ime TabDoc;
  • Kreirajmo dugme za odabir perioda (kada se pritisne, prikazaće se dijalog sa pogodnim odabirom željenog perioda). Za njega još nećemo pisati programski kod, pa ćemo jednostavno postaviti dugme pored polja za period.

Kao rezultat, naš obrazac će izgledati ovako:

4. Programiranje

Nakon kreiranja obrasca izvještaja, krenimo s programiranjem. Za početak, napravimo proceduru za prikaz dijaloga za odabir perioda (već smo kreirali dugme za ovo u prethodnoj fazi). Kliknite desnim tasterom miša na dugme i izaberite stavku menija Svojstva, u svojstvima dugmeta idite na karticu Događaji, gdje ćemo pomoću dugmeta sa ikonom lupe kreirati proceduru Button1Press u modulu forme.

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

Za pozivanje obrasca za odabir perioda koristimo standardnu ​​proceduru Računovodstvo 2.0 iz opšteg modula Rad sa dijalozima - HandlerPeriodSettingPressing, morate mu proslijediti detalje izvještaja kao parametre Početak perioda i EndPeriod.

Procedura Button1Press (stavka) Rad sa Dialogs.HandlerSettingPeriodPress(StartPeriod,EndPeriod); EndProcedure

Sada pređimo na pisanje koda koji će generirati i prikazati naš izvještaj. Već postoji procedura u modulu obrasca ButtonFormPressing koji će se izvršiti kada se klikne na dugme Forma, onda ćemo tamo napisati naš kod. Počnimo sa inicijalizacijom potrebnih varijabli. Prvo, kreirajmo varijablu za polja tabele na 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 = FormElements.TabDoc;

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

Layout = GetLayout("Layout" );

Nakon što dobijemo izgled, kreiraćemo varijable za svako njegovo područje, za to ćemo koristiti metodu rasporeda GetRegion(<ИмяОбласти>) .

AreaHat = Layout.GetArea("Šešir"); AreaDataAccount = Layout.GetArea( "DataContractor"); AreaDataAgreement = Layout.GetArea("DataAgreement" ); AreaFooter = Layout.GetArea("Podrum");

Obrišite polje tabele. Ovo je neophodno kako bi se pri svakom novom generisanju izvještaja stari podaci izbrisali.

TabDoc.Clear();

Sada kada je inicijalizacija varijabli završena, pređimo na popunjavanje i prikazivanje područja rasporeda jednu po jednu. Počnimo sa šeširom. Ako se sjećate, kreirali smo dva parametra u ovoj oblasti Početak perioda i EndPeriod, tamo ćemo proslijediti vrijednosti perioda generiranja izvještaja, za to ćemo koristiti svojstvo Parametri layout area.

Header.Parameters.PeriodStart = Početak perioda; AreaHeader.Parameters.EndPeriod = Kraj Period;

Nema više akcije obima Kapa proizvođač nije potreban, pa ćemo njegovo polje prikazati u dokumentu proračunske tablice.

TabDoc.Output(RegionHeader);

Zatim napišemo upit bazi podataka, uz pomoć kojeg ćemo preuzeti promet na računu 62 iz računovodstvenog registra samoodrživi. Definirajmo varijablu u kojoj će se nalaziti naš zahtjev.

Zahtjev = novi zahtjev;

Prije nego što počnemo pisati tekst zahtjeva, proslijedit ćemo mu potrebne parametre. Pošto pišemo zahtjev za fakturu 62 računovodstvo, tada ćemo prije svega kreirati parametar za njega

Query.SetParameter("Account62" ,Kontni planovi.Samonosivi.FindByCode("62" ));

Takođe je potrebno proslediti period generisanja izveštaja zahtevu. Ne zaboravite da imamo posebne detalje izvještaja za period generiranja i prosljeđujemo ih kao parametre.

Query.SetParameter("StartPeriod",StartPeriod); Query.SetParameter("EndPeriod",EndPeriod);

Počnimo da pišemo tekst upita, to ćemo učiniti pomoću alata za pravljenje upita. Mnogi tutorijali kažu da morate biti u mogućnosti da napišete upit i ručno i koristeći konstruktor, ali u praksi to nije slučaj. U zadacima s kojima se stalno suočava 1C programer, prioritet je brzo i kvalitetno pisanje koda, a prilikom ručnog sastavljanja upita bazi podataka, to je gotovo nemoguće postići, potrošit ćete puno dragocjenog vremena na ispravan rad. reprodukujte sve konstrukcije upita, pronađite greške u kucanju koje ste napravili prilikom pisanja, itd. Zato nemojte gubiti vreme pokušavajući da ručno pišete upite, već koristite konstruktor upita. To će vam uštedjeti vrijeme i omogućiti vam da pišete složene upite bez puno truda. Za početak pisanja teksta zahtjeva upišemo kod:

Request.Text = "" ;

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

Sada treba da izaberemo tabelu baze podataka 1C 8. Potrebna nam je virtuelna tabela Promet računovodstveni registar samoodrživi. Pronađite ga na lijevoj strani prozora dizajnera

Premjestimo to na područje stolovi i popunimo parametre. Za sve virtuelne tabele upita postoji poseban skup parametara koji vam omogućavaju da izaberete potrebne podatke iz glavne tabele (u našem slučaju, glavna tabela Registar računovodstva samoodrživi). Otvorimo prozor parametara virtuelne tabele.

Popunimo parametre, period koji smo prenijeli na zahtjev. Da biste koristili parametar u tekstu zahtjeva, morate napisati simbol ispred njegovog imena ampersand(&)

Ostaje ispuniti uslov na računu. računovodstvo. Da biste to učinili, pronađite liniju u parametrima virtualne tablice ConditionAccounts i pisati tamo

Bod u HIJERARHIJI (&Score62)

Također možete koristiti alat za izgradnju uvjeta klikom na dugme sa tri tačke.

Nema više uslova na virtuelnom stolu, pa pritisnite dugme uredu u prozoru opcija virtuelne tabele. Zatim moramo odabrati polja koja su nam potrebna iz tabele Samonosivi(naime: Druga strana, Ugovor sa drugom stranom, Prihodi i rashodi). Da vidite listu polja koja su dostupna u tabeli koju smo odabrali, pritisnite simbol “+” pored njenog naziva. Nakon toga, prevucite potrebna polja u krajnje desno područje alata za pravljenje upita, koje se zove: Polja. Ako otvorimo kontni plan, to ćemo vidjeti za račun 62 analytics by Za drugu stranu - ovo je Subconto1, and by Ugovor sa ugovaračem — Podkonto2.

Stoga iz polja virtuelne tabele izaberite Subconto1 i Subconto2. Pošto su nam potrebni prihodi i rashodi po iznosu, biramo i polja IznosTurnoverDt i IznosTurnoverKt

Popunimo pseudonime polja koja smo odabrali, za to ćemo otići na karticu Sindikati/aliasi i postavite željena imena polja.

Budući da će u našem izvještaju podaci biti prikazani hijerarhijski (Counterparty je na prvom nivou, a svi njeni ugovori su na drugom), mi ćemo podesiti izlaz podataka u hijerarhiji koristeći Rezultate. Idemo na karticu u konstruktoru Rezultati. Povucite i ispustite u polja za grupisanje uzastopno druga strana i Ugovor sa drugom stranom, i u finalu Dolazim i Potrošnja.

Ovo završava rad u konstruktoru upita, kliknite na dugme uredu i vidimo da se tekst našeg zahtjeva pojavio u programskom kodu.

Query.Text = "ODABIR | Samonosivi promet Subconto1 AS Counterparty, | Samonosivi promet. Subconto2 AS Ugovor sa ugovaračem, | SamonosiviTurnovers.AmountTurnoverDt AS Incoming, | Samonosivi obrti.IznosTurnoverKt AS Trošak OD | Registar Računovodstvo.Samonosivi.Promet (&Početak perioda, &Kraj perioda, Račun U HIJERARHIJI (&Račun62)) KAO Samonosivi promet REZULTATI | SUM (Prihod), | SUM (Razhod) | ON | druga strana, | Ugovor sa drugom stranom";

Nakon što završimo sa pisanjem zahtjeva, počinjemo popunjavati područja DataContractor, DataAgreementContractor i Podrum. Sve ove oblasti ćemo popuniti podacima dobijenim prilikom izvršavanja zahtjeva. Pošto naš upit sadrži grupisanje ( druga strana i Ugovor sa drugom stranom) odaberite podatke iz njega na sljedeći način:

SelectionContractor = Query.Execute().Select(BypassingQueryResult.By Groupings);

Tako ćemo dobiti evidenciju sa ukupnim iznosima za sve druge ugovorne strane.

Prije zaobilaženja uzoraka podataka pomoću petlje, inicijaliziramo varijable namijenjene za izračunavanje ukupnih vrijednosti za izvještaj:

Ukupan prihod = 0; TotalExpense = 0;

Da bi podaci izvještaja bili prikazani u hijerarhiji (i rašireni za ”+”), postavite početak automatskog grupisanja redova dokumenta proračunske tablice:

TabDoc.StartAutogroupRows();

Sve pripreme su gotove, sada počnimo zaobilaziti rezultate upita. Premosnica će se izvesti pomoću petlje Do

Dok SelectionContractor.Next() Cycle EndCycle ;

Na početku petlje, resetirajte parametre Dolazim i Potrošnja oblasti DataContractor. čemu služi? Zamislite situaciju u kojoj je druga strana Ujak Vasja, prihod 10 i rashod 5, a za narednu drugu ugovornu stranu Ujak Petya nema prihoda ni rashoda, u ovom slučaju, ako ne resetujemo parametre Dolazim i Potrošnja, zatim u redu po drugoj strani Ujak Petya biće prihod od 5 i rashod od 10.

AreaDataAccount.Parameters.Incoming = 0; AreaDataAccount.Parameters.Expense = 0;

Nakon toga popunite područje DataContractor uzorak podataka o artiklu

Fill inPropertyValues(AreaDataAccount.Parameters, SelectionAccount);

Nakon popunjavanja podataka, možete prikazati područje tabelarni dokument, Pošto koristimo automatsko grupisanje linija, potrebno je da navedemo nivo linije u grupisanju (u našem izveštaju će biti dva nivoa, za druge ugovorne strane prvi za ugovore drugi).

TabDoc.Output(AreaDataAccount,1);

Sada ćemo za ovu drugu stranu izvršiti selekciju prema njenim ugovorima.

SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings);

Premosnica će se izvesti pomoću petlje Do.

Dok SelectionAgreementContractor.Next() Cycle EndCycle ;

U ciklusu za ugovore sa drugim ugovornim stranama, mi ćemo resetovati parametre Dolazim i Potrošnja, ispunite područje DataContract iz selekcije i prikazati je u dokumentu proračunske tabele na drugom nivou zapisa.

AreaDataAgreement.Parameters.Income = 0; AreaDataAgreement.Parameters.Expense = 0; Fill inPropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataContract,2);

Takođe u ovom ciklusu ćemo dodati trenutne vrijednosti varijablama za izračunavanje ukupnih vrijednosti prihoda i rashoda.

TotalIncome = Ukupni prihod + SelectionAgreementContractor.Income; TotalExpense = TotalExpense + SelectionContractor's Agreement.Expense;

Ovim se završava izlaz podataka u području DataContractor, DataAgreementContractor završeno, ostaje da se završi automatsko grupisanje redova dokumenta proračunske tabele.

TabDoc.EndAutoGroupRows();

Potpuno ciklusi odgovorni za izlaz podataka u područje DataContractor i DataAgreementContractor izgleda ovako:

TabDoc.StartAutogroupRows(); Dok SelectionContractor.Next() Loop AreaDataContractor.Parameters.Incoming = 0 ; AreaDataAccount.Parameters.Expense = 0 ; Fill inPropertyValues(AreaDataAccount.Parameters, SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectAgentContract = SelectContractor.Select(BypassingQueryResult.By Groupings); Dok SelectionAgreementContractor.Next() Loop AreaDataAgreement.Parameters.Incoming = 0 ; AreaDataAgreement.Parameters.Expense = 0 ; Fill inPropertyValues(AreaDataContract.Parameters, SelectionContractorContract); TabDoc.Output(AreaDataAgreement,2); TotalIncome = Ukupni prihod + SelectionAgreementContractor.Income; TotalExpense = TotalExpense + SelectionContractor's Agreement.Expense; EndCycle ; EndCycle ; TabDoc.EndAutoGroupRows();

Ostaje prikazati ukupne podatke u području Podrum i prikažite samo područje tabelarni dokument.

AreaBasement.Parameters.TotalIncome = Ukupni prihod; AreaBasement.Parameters.TotalExpense = TotalExpense; TabDoc.Output(RegionFooter);

Ovim se završava proces pisanja eksternog izvještaja za 1C 8 bez korištenja ACS-a. Sada se može generirati u načinu 1C: Enterprise 8 i dodati u direktorij ExternalProcessing Datoteku izvještaja o kojoj se govori u članku možete preuzeti od .

Pogledajte video o kreiranju eksternog štampača za upravljanu aplikaciju:

Top Related Articles