Kako spojiti eksterni izvještaj za 1s 8.3. Računovodstvene informacije

Razmislite o stvaranju eksterni izvještaj u 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 na račun računovodstva 62 u kojem će se promet za navedeni period prikazati u kontekstu 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 (npr 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 vanjski izgled izvještaja

Za generiranje izvještaja za 1s 8 potreban vam je izgled, ovo je predložak za izlaz podataka u kojem svi željene parametre, crtaju se 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 o drugoj strani - 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 Layout 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:

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

U području 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 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 obrascu.

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, gde ć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 s dijalozima - HandlerPeriodSettingPressing, potrebno je da mu prosledite detalje izveš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 kojem ćemo ispisivati ​​podatke, to nije potrebno, samo će zapis poziva prema njemu biti kraći, što znači programski kod biće čitljiviji.

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 je izgled primljen, 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, napravili smo dva parametra u ovoj oblasti Početak perioda I EndPeriod, tamo ćemo proslijediti vrijednosti perioda generiranja izvještaja, za to ćemo koristiti svojstvo Opcije 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. U mnogima nastavna sredstva 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 stalno susreće 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 ispravno 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. Da počnemo pisati tekst zahtjeva, upišimo kod:

Request.Text = "" ;

Nakon toga, stavite kursor između navodnika, pritisnite desno dugme 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). Otvorite prozor sa opcijama virtuelni sto.

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 biste vidjeli 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 njegovi 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.Iznos obrtaKt 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 (Rashod) | 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 hijerarhijski prikazani (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 uzorka i izlaz na njega tabelarni dokument na drugi nivo evidencije.

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 kada je završeno, ostaje da se završi automatsko grupisanje redova dokumenta 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 prikazati samu oblast tabelarni dokument.

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

Ovo je proces pisanja eksternog izvještaja za 1C 8 bez upotreba ACS-a završeno. 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 štampanom obliku za upravljanu aplikaciju:

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 će se odmah otvoriti dijaloški okvir za odabir datoteke sa izvještajem u kojem trebate 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 sa liste željeni dio programi:


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

Sada otvorite izvještaj iz programskog interfejsa:


Lista je prazna, kliknite ovdje Prilagodi 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:


Preuzmite univerzalnu obradu objekata 1C 8.3.

U uobičajenoj primjeni verzije 1C platforme 8.2 i 8.1 (na običnim obrascima) postojala je tako divna obrada kao što je "Univerzalni odabir i obrada objekata". To je uvelike pojednostavilo život programera i programskih administratora.

Pojavila se ista 1C obrada za upravljanu aplikaciju (8.3 i 8.2). Prije toga, u 1C 8.3, bilo je potrebno proći sa tipičnom obradom grupne promjene u detaljima, ali to ne rješava sve zadatke koji su potrebni u svakodnevnom radu 1C korisnika ili programera.

Pretraga i odabir objekata

Nakon preuzimanja obrade, možemo je pokrenuti kao eksternu. Ko ne zna, to se radi preko menija "Datoteka" - "Otvori". Pojavit će se prozor za obradu:

Na prvoj kartici moramo odabrati objekat s kojim ćemo raditi. I tako je u polju „Objekat pretrage“ već izabran dokument „Provedba (akti, fakture)“. To je zato što su već izabrali dati objekat. Obrada može zapamtiti.

Klikom na dugme "Postavke filtera" možemo postaviti filter za skoro svako polje objekta:

Ako ovi odabiri nisu dovoljni, možete odabrati željene objekte pomoću proizvoljan zahtjev. Da biste to učinili, pomaknite prekidač "Način odabira" u odgovarajući položaj.

Nakon svih podešavanja potrebno je odabrati objekte. Kliknite na dugme "Pronađi objekte" i pogledajte rezultat odabira:

Rukovanje elementima

Idemo na karticu "Obrada":

Odvojeni pregled Vrijedi, možda, samo prva tri tretmana. Rad ostalih je po imenu jasan i ne zahtijevaju podešavanja.

Proizvoljni algoritam

Obrada "Proizvoljnog algoritma" omogućava vam da napišete program akcija na objektima na internom jeziku 1C. Obrada zahteva veštine programiranja i njen opis je vredan posebnog članka. Uz njegovu pomoć možete izvoditi praktične radnje na objektima:

Postavljanje rekvizita

Obrada "Detalji instalacije" omogućava promjenu detalja odabranih dokumenata ili imenika, kao i registara informacija. Prilično korisna, a ponekad i samo neophodna obrada. Na primjer, zamijenimo valutu dokumenta u odabranim dokumentima:

Odmah treba napomenuti da se obrada može izvršiti odmah, ili možete sačuvati postavku. Ova postavka će biti prikazana u stablu obrade.

Prenumeracija objekata

Obrada "Prenumeracije objekata" u skladu s tim vam omogućava da prenumerirate dokumente ili promijenite referentne kodove. Obrada pruža bogat skup akcija. Na primjer, odlučite promijeniti prefiks dokumenata koje ste odabrali:

Sada da vidimo šta možemo učiniti sa sačuvanim postavkama. Ispostavilo se da možemo izvršiti u jednom paketu prebacivanjem u prozor "Izabrana obrada":

Sada možemo sekvencijalno izvršiti odabrane postavke klikom na dugme "Pokreni".

Izvor: programmer1s.ru

Razmotrite u ovom članku upute korak po korak za kreiranje eksterne obrade u 1C 8.3 u režimu upravljane aplikacije, odnosno, koristićemo upravljane obrasce. I što je najvažnije, naučit ćemo kako ga povezati s mehanizmom "vanjske obrade" 1C konfiguracija izgrađenih na biblioteci standardnih podsistema verzije 2.0 i novije.

Zadatak će biti sljedeći: stvoriti najjednostavniji eksterna obrada, koji će izvršiti grupnu radnju na referentnoj knjizi „Nomenklatura“, odnosno postaviti izabrani procenat stope PDV-a za navedenu grupu artikala.

Da bismo to učinili, odmah ćemo izvršiti potrebna podešavanja u programu (razmatra se konfiguracija 1C 8.3: „Računovodstvo preduzeća 3.0“ na upravljane forme).

Označavanje ovog polja nam daje mogućnost da koristimo eksternu obradu.

Kreiranje nove vanjske obrade u 1C 8.3 na primjeru

Sada idemo na konfigurator. Odaberite "Novo..." iz menija "Datoteka". Otvara se prozor za odabir vrste datoteke koja se kreira. Odaberite "Spoljna obrada":

Otvoriće se novi prozor za eksternu obradu. Hajde da joj damo ime odmah. Biće ponuđeno prilikom snimanja obrade na disk:

Dodajmo novi obrazac za upravljanu obradu. Naznačavamo da je ovo obrazac za obradu i da je glavni:

Na obrascu ćemo imati dva rekvizita:

  • Grupa nomenklature - link na referentnu knjigu "Nomenklatura";
  • Odaberi stopu PDV-a – link na listu stope PDV-a.

Detalje kreiramo u koloni "Rekviziti" u gornjem desnom prozoru. Prevucite ih mišem u gornji lijevi prozor. Novi detalji bi se trebali odmah pojaviti na donjem obrascu.

Redoslijed detalja se može mijenjati strelicama "gore" - "dolje":

Nabavite 267 1C video lekcija besplatno:

Ostaje dodati dugme "Instaliraj". U upravljanim obrascima, ne možete jednostavno dodati dugme u obrazac. Čak i ako ga dodate strukturi elemenata obrasca, neće biti vidljiv na samom obrascu. Dugme mora biti povezano s naredbom koju će izvršiti. Idite na karticu "Komande" i dodajte naredbu "Postavi stopu PDV-a". Kreirajte akciju u svojstvima naredbe. Odaberite rukovatelj naredbama "Na klijentu". Naredba se također može dodati u obrazac jednostavnim prevlačenjem i ispuštanjem u odjeljak sa elementima obrasca.

U modulu obrasca biće kreirana procedura istog imena. U njemu pozivamo proceduru na serveru:

&AtClient

Procedura Postavljanje stope PDV-a (naredba)

SetVATRateOnServer();

EndProcedure

U proceduri na serveru ćemo napisati mali upit i radnje vezane za postavljanje stope PDV-a:

&Na serveru

Procedura SetVATRateOnServer()

Zahtjev = Novi zahtjev;
Request.Text =
„IZABIR
| Nomenklatura.Link
OD
| Imenik Nomenklatura AS Nomenklatura
|WHERE
| Nomenklatura. Referenca U HIJERARHIJI (&Nomenklaturna grupa)
| A NE Nomenklatura. Oznaka za brisanje
| I NE Nomenklatura, ovo je Grupa”;

Query.SetParameter("Nomenklaturna grupa", Nomenklaturna grupa);
RequestRes = Request.Execute();
SelectDetRecords = ResRequest.Select();

Dok SelectDetRecord.Next() petlja

Pokušaj
SprNo.Object.Write();
Izuzetak
Report("Greška u pisanju objekta """ + SprNoobObject + """!
|» + DescriptionError());
Kraj pokušaja;

EndCycle;

EndProcedure

Vraćamo se na karticu "Obrazac", dodamo dugme u obrazac i povezujemo ga sa naredbom:

Kao takva, naša obrada je spremna za upotrebu. Da biste ga pozvali, u režimu "1C Enterprise" potrebno je da odete u meni "Datoteka" - "Otvori" i izaberete kreiranu datoteku.

Međutim, rad u ovom načinu rada je zgodan za obradu otklanjanja grešaka i nije sasvim prikladan za korisnika. Korisnici su navikli da im sve bude „pri ruci“, odnosno u samoj bazi podataka.

Za to se koristi rubrika "Dodatni izvještaji i obrada".

Ali da bismo tamo dodali našu obradu, prvo mu moramo dati opis i reći programu njegova svojstva.

Opis eksternih detalja obrade

Navest ću primjer sadržaja ove funkcije. Mora se izvoziti i, shodno tome, nalaziti u modulu za obradu:

Funkcija DetailOnExternalProcessing() Izvoz

DataForReg = Nova struktura();
DataForReg.Insert("Naziv", "Postavljanje stope PDV-a");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Verzija", "ver.: 1.001");
DataForReg.Insert("Informacije", "Obrada za postavljanje stope PDV-a u imeniku Nomenklature");
DataForReg.Insert("View", "AdditionalProcessing");

TabZnCommands = Nove vrijednosti tablice;
TabZnCommands.Columns.Add("Identifier");
TabZnCommands.Columns.Add("Upotreba");
TabZnCommands.Columns.Add("View");

Nova linija = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewLine.Usage = "FormOpen";
NewLine.View = "Otvorena obrada";
DataForReg.Insert("Commands", TabZnCommands);

Return DataForReg;

EndFunctions

Da biste bolje razumjeli koja polja strukture podataka registracije trebate koristiti, pogledajmo detalje direktorija "Dodatni izvještaji i obrada":

Kao što vidite, sve je prilično jednostavno. Samo jedan atribut se ne podudara: “Opcija pokretanja” - “Koristi”. Ako pogledamo kod jednog od uobičajenih modula, vidjet ćemo kako nastaje gomila ovih polja:

Da biste odredili koja su polja strukture potrebna, prvo je ne možete opisati, samo kreirajte prazno, a zatim upotrijebite program za otklanjanje pogrešaka. Ako pratite module prilikom registracije obrade, odmah postaje jasno koja polja su obavezna, a koja nisu.

Povezivanje vanjske obrade u 1C 8.3



Učitavanje...
Top