Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Greške
  • 1c 8.3 eksterni izvještaj za dokument. Dodavanje eksternog izvještaja u bazu podataka

1c 8.3 eksterni izvještaj za dokument. Dodavanje eksternog izvještaja u bazu podataka

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 Šešir 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 Šešir trebalo bi izgledati ovako:

U regiji od 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.

U regiji od DataAgreementContractor napravićemo parametre za prikaz naziva ugovora, kao i za prihode i rashode za račun 62, koristeći alat Borders, iscrtać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.

U regiji od 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). Još nećemo pisati programski kod za njega, 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 Razvoj, 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 Šešir 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 u izvještaju bili prikazani u hijerarhiji (i rašireni za ”+”), postavite početak automatskog grupisanja redova dokumenta tabele:

TabDoc.StartAutogroupRows();

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

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 ćao.

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:

Izvještaji 1C 8.3 je poseban objekat metapodataka dizajniran da formira laku prezentaciju podataka iz tablica 1C baze podataka.

Hajde da to shvatimo kako postaviti izvještaje, čemu služe, po čemu se vanjski izvještaji razlikuju od ugrađenih i kako se izvještaji razlikuju od obrade.

Da biste kreirali ili prilagodili izvještaj, morate znati ugrađene i . Sviđali vam se to ili ne, kreiranje gotovo svakog izvještaja zasniva se na početnom zahtjevu koji prima podatke. Ove podatke obrađujemo i prikazujemo u obliku prilagođenom korisniku.

Izveštaji su glavna stvar u svakom informacionom sistemu, pa je 1C posvetio veliku pažnju razvoju izveštaja i stvorio veliki broj dizajnera i mehanizama za njihovo kreiranje.

Razmotrite osnovne metode kreiranja izvještaja

Kako napraviti izvještaj u 1C koristeći izgled

Kreiranje sa rasporedom je najrutinskiji način. Međutim, često se tome pribjegava iz beznađa, jer. na taj način programer u potpunosti propisuje kod za svaku akciju, što znači da možemo sve. Drugi mehanizmi se ovim ne mogu pohvaliti.

Ali u ovom slučaju, svi modni stilovi, meniji i ostali "lukovi" morat će se napisati ručno, što oduzima mnogo vremena.

Nabavite 267 1C video lekcija besplatno:

Kreirajte izvještaj pomoću dizajnera izlazne forme

Konstruktor izlaznog obrasca je mehanizam ugrađen u platformu koji olakšava razvoj izvještaja. Konstruktor je dostupan samo za normalne forme.

Konstruktoru se daje zahtjev i svi potrebni parametri budućeg izvještaja, a on zauzvrat generiše module izvještaja i forme. Mehanizam je zasnovan na objektu ugrađenog jezika 1C 8.2 - Report Builder.

Kreiranje izvještaja pomoću generičkog izvještaja

Univerzalni izvještaj ima odličnu funkcionalnost, zgodno sučelje postavki, poznato korisniku:

Izvještaji zasnovani na sistemu sastavljanja podataka

Ovo je najprogresivniji način kreiranja izvještaja u 1C, koji preporučuje sam 1C. pojavio se u 1C platformi u verziji 8.1.

SKD vam omogućava da kreirate jednostavne izveštaje bez programske linije, jer ima veoma fleksibilan i funkcionalan konstruktor za kreiranje šeme sastava podataka:

U svim novijim konfiguracijama, svi izvještaji su napisani korištenjem sistema za sastavljanje podataka.

Koja je razlika između eksternih izvještaja i ugrađenih izvještaja

Kako piše u dokumentaciji - ništa. Mehanizam eksternog izvještavanja je kreiran kako bi se otklonili izvještaji tokom razvoja.

Jedina razlika pri razvoju rješenja je u tome što se na vanjski izvještaj ne možete pozivati ​​„po imenu“, za razliku od ugrađenog izvještaja.

Po čemu se izvještaj razlikuje od obrade?

U stvari, praktično ništa. Glavna razlika je svrha korištenja objekta: izvještaji su potrebni za prikaz informacija i - za promjenu informacija.

Glavne razlike u svojstvima: u izvještajima možete odrediti osnovnu šemu sastava podataka (SKD) i odrediti postavke za spremanje parametara izvještaja.

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 radi uređivanja, 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.

Kažu da je naziv 1C prvobitno značio izraz "jedna sekunda", tj. programi treba da proizvode izvještaje brzo, "u jednoj sekundi". Brzina izvještaja je vrlo važna, ali je još važnije da izvještaji daju ispravne informacije - time ćemo se pozabaviti na primjeru kreiranja jednostavnog izvještaja u 1C 8.3 na osnovu konfiguracije Trade Management 10.3. Da biste kreirali ispravne izvještaje, poželjno je (čak i jako preporučljivo) biti u mogućnosti konfigurirati 1C i biti sposoban malo programirati na internom jeziku i jeziku upita 1C, iako je, s druge strane, kreiranje izvještaja odlična prilika za počnite savladavati ove vještine.

Ovaj opis je edukativan za razumijevanje osnovnih principa kreiranja izvještaja 1C

Kako kreirati izvještaj u 1C 8.3

Da biste kreirali izvještaj, morate otvoriti 1C u načinu konfiguratora, za to u prozoru za pokretanje 1C odaberite željenu bazu podataka na listi i kliknite na dugme Konfigurator:

U samom konfiguratoru idite na meni Datoteka i izaberite stavku Nova:


U meniju koji se pojavi izaberite stavku Eksterni izveštaj i pritisnite dugme OK:


Ovo će otvoriti novi prozor izvještaja. U polje Naziv unesite naziv izvještaja, mora biti bez razmaka i posebnih znakova:


Kako napraviti izvještaj koristeći izgled

Ova metoda najviše zahtijeva vještine programiranja u 1C, ali ovdje nećemo analizirati mehanizme za primanje i obradu podataka, već ćemo napraviti jednostavan izvještaj kako bismo razumjeli mehanizam za pokretanje izvještaja i prikazivanje obrasca izvještaja na ekranu:

U prozoru izveštaja (koji se otvara prilikom kreiranja izveštaja), u donjoj listi, postavite kursor na stavku Layouts i kada kliknete desnim tasterom miša, kliknite na Add u meniju koji se pojavi:


U konstruktoru izgleda koji se otvori, možete odrediti naziv izgleda, kao tip izgleda treba odabrati Spreadsheet Document, a zatim kliknite na dugme Završi u konstruktoru:


Ovo će otvoriti prozor izgleda koji liči na Excel list:


U ovom rasporedu potrebno je kreirati oblasti - grupe redova ili kolona koje će program koristiti kao predloške, u njih zamijeniti podatke primljene iz baze podataka i prikazati te šablone na ekranu, slažući tako izvještaj iz ovih dijelova.

Napravimo izvještaj koji prikazuje listu nomenklature. Da bismo to učinili, kreirat ćemo dva područja izgleda: zaglavlje izvještaja i red stavke.

Da biste kreirali oblast zaglavlja, kliknite levim tasterom miša na zaglavlje reda (gde je označen broj reda) da biste izabrali red ovako (ceo red bi trebalo da se selektuje jednim klikom na zaglavlje):


Nakon toga idite na meni Table glavnog menija, idite na podmeni Imena i kliknite na stavku Dodeli ime:


Program će od vas tražiti da navedete Naziv područja, naziv također ne bi trebao sadržavati razmake i specijalne znakove, nakon toga kliknite OK, trebalo bi ispasti ovako:


Sada u kreiranom području trebate unijeti tekst koji će biti prikazan u izvještaju i formatirati ga. Da biste to učinili, unesite tekst u prvu ćeliju, na primjer, "Lista nomenklature". Rad sa ćelijama je sličan Excelu.

Da biste formatirali tekst u ćeliji, kliknite desnim tasterom miša na ćeliju i kliknite na Svojstva. Prozor sa svojstvima ćelije će se otvoriti sa desne strane. Pomičući se prema dolje kroz sadržaj prozora, pronađite polje Font i kliknite na dugme "...":


U prozoru koji se otvori, u odeljku Stil označite polje za potvrdu Bold i kliknite na dugme U redu:


Raspored bi trebao izgledati ovako:


Na isti način kreiramo područje ​linije nomenklature, ali ga ne ističemo podebljanim slovima:


U području linije potrebno je naznačiti da je Naziv parametar, tj. da će pravi naziv nomenklature tu biti zamijenjen kada se izvještaj prikaže. Da biste to učinili, otvorite svojstva ćelije s imenom i u svojstvima u polju Ispuna odaberite vrijednost parametra, čime se dovršava postavljanje izgleda:


Vraćamo se na glavni prozor izvještaja i desnom tipkom miša kliknemo na stavku Obrasci na donjoj listi i kliknemo Dodaj:


U dizajneru obrasca izvještaja koji se otvori, kliknite na dugme Završi, otvorit će se obrazac izvještaja, dvaput kliknite na dugme Generiraj:


Kao rezultat, prozor sa svojstvima dugmeta će se otvoriti na desnoj strani ekrana, u polju Akcija, kliknite na lupu:


Nakon toga će se otvoriti modul obrasca u kojem je potrebno programirati generiranje izvještaja:


Prvo unesite sljedeći tekst programskog koda umjesto odabranog teksta:

//kreirajte dokument tabele koji će biti ispunjen dijelovima izvještaja i prikazan na ekranu
TabDocument = Novi dokument tabele;
//sljedeće, dobijemo izgled koji je kreiran prilikom kreiranja izvještaja
Layout = GetLayout("Layout");
// sada trebate prikazati zaglavlje izvještaja, za ovo dobijamo područje zaglavlja iz izgleda i prikazujemo ga u dokumentu proračunske tablice
AreaHat = Layout.GetArea("Šešir");
TabDocument.Output(RegionHeader);
//koristeći upit, dobijamo izbor imena stavki koje je potrebno prikazati u izvještaju
Zahtjev = Novi zahtjev;
Request.Text = "
|CHOOSE
| Ime
OD
| Imenik.Nomenklatura
|";
// dobijemo područje linije stavke iz izgleda - referiraćemo se na njega u petlji da prikažemo svaku stavku
AreaString = Layout.GetRegion("String");
// svako ime iz primljene selekcije obrađujemo u petlji
Selection = Query.Execute().Select();
Dok Selection.Next() petlja
//da biste prikazali sljedeći red, morate navesti sljedeće ime u parametru područja (sami postavljamo parametar prilikom kreiranja izgleda)
ScopeString.Parameters.Name = Selection.Name;
//parametar popunjen, sada možete ispisati string
TabDocument.Output(AreaString);
EndCycle;
//proračunski dokument je formiran, sada ga prikazujemo na ekranu
TabDocument.Show("Lista nomenklature");

Kada se tekst kopira u modul forme, redovi koji počinju dvostrukom kosom crtom "//" bit će označeni zelenom bojom - ovo su komentari, oni opisuju šta radi svaki red koda:


Hajde da sumiramo koje su linije programskog koda potrebne za generiranje izvještaja:

  1. Potrebno je kreirati tabelarni dokument koji će biti popunjen dijelovima izvještaja i prikazan na ekranu, to se radi linijom „TabDocument = New SpreadsheetDocument;“
  2. Moramo dobiti izgled izvještaja iz kojeg ćemo dobiti strukturu izvještaja po dijelovima (oblastima), to se radi linijom "Layout = GetLayout("Layout")"
  3. Da biste prikazali svako od područja, potrebno ga je izvaditi iz izgleda i ispisati u tabelarni dokument, to se radi sa linijama "AreaHat = Layout.GetArea("Hat")" i "TabDocument.Output(AreaHat)"
  4. Ako trebate popuniti parametre koji postaju poznati tek kada se program izvrši, tada prije prikaza područja morate popuniti takve parametre, to se radi sa linijom "AreaString.Parameters.Name = Selection.Name"
  5. I tek kada se tabelarni dokument popuni sa svim potrebnim delovima izveštaja, on se prikazuje na ekranu, to se radi sa linijom "TabDocument.Show("Lista nomenklature")"

A sada možete provjeriti rad izvještaja - otvorite 1C u režimu preduzeća (dugme 1C: Enterprise u prozoru za pokretanje 1C). U glavnom meniju idite na meni fajl, kliknite na Otvori:


Pronađite i otvorite sačuvanu datoteku izvještaja. U obrascu koji se otvori kliknite na dugme Generiraj:


i dobijete listu nomenklature:


Ovo je samo jedan od načina za kreiranje izvještaja u 1C. Istražit ćemo druge u budućim člancima.

U gornjem meniju idite na Servis->->.

Nakon toga, pojavit će se obrazac liste imenika. U gornjem meniju kliknite Dodati.

Pojavljuje se prozor za dodavanje novog izvještaja. Pritisnemo dugme Otvori.

Odaberite datoteku sa željenim izvještajem i kliknite Otvori. Nakon dodavanja datoteke, ako je potrebno, promijenite naziv izvještaja (način na koji će biti prikazan na listi). Kliknite uredu.

Kao rezultat, novi izvještaj se pojavljuje na listi.

Nakon toga, izvještaj se može koristiti, dodavanje je završeno. Da biste kasnije otvorili ovaj izvještaj, također idite na Servis->Dodatni izvještaji i obrada->Dodatni eksterni izvještaji.

Za BP 3.0, ZUP 3.0, UT 11, ERP 2.0.

Da bismo dodali eksterni izvještaj u konfiguracije 1C:Enterprise 8.3 u upravljanom sučelju (na primjer, Računovodstvo 3.0), ući ćemo u odgovarajući odjeljak programa:


Neophodno je da se omogući oznaka korišćenja dodatnih izveštaja, pratite hipervezu:

Na listi koja se otvori kliknite na dugme Stvoriti:


Nakon toga, odmah će se otvoriti dijaloški okvir za odabir datoteke sa izvještajem u kojem je potrebno odabrati željeni fajl (u mom slučaju je to datoteka sa plansko-činjeničnom analizom troškova).

Sada morate postaviti smještaj(mesto u programu gde će izveštaj biti dostupan):


Nasumično odaberite željeni dio programa sa liste:


Sada trebate zabilježiti promjene u vanjskom izvještaju:

Sada otvorite izvještaj iz programskog interfejsa:


Lista je prazna, kliknite ovdje Prilagodite listu:


U obrascu za odabir označujemo naš izvještaj:


Sada se pojavio na listi:


Po dugmetu Trči otvara se obrazac za izvještaj:


Top Related Articles