Kontakti      O sajtu

Kreiranje štampanog obrasca 1s 8.3 scratch. Dodavanje eksterne forme za štampanje bazi podataka. Pisanje zahteva za štampani hendikep

Razmotrimo pisanje najjednostavnijeg štampanog oblika 1s 8.1 - 8.2 koristeći primjer konfiguracije Računovodstvo preduzeća 2.0. Recimo da treba da napišete eksternu štampanu formu za dokument: prikažite osnovne podatke dokumenta, kao i iz tabelarnog dela Roba: nomenklatura, cijena, količina i količina.

Dobijeni primjer možete preuzeti sa .

U konfiguratoru 1C preduzeća 8 kreirati eksternu obradu ( Fajl->Novo->Spoljna obrada), postavite naziv, kreirajte potrebne detalje za eksternu štampanu formu Referenca objekta sa tipom DocumentLink Prodaja roba i usluga.

Kreiranje izgleda štampane forme

Dodajte novi raspored, ostavite tip izgleda tabelarni dokument. Na rasporedu kreiramo tri oblasti: Zaglavlje, podaci I Podrum. To se može učiniti odabirom potrebnog broja linija i klikom na meni Tabela->Imena->Dodijeli ime (Ctrl+Shift+N).

Nakon toga počinjemo postavljati tekst i parametre u područja. Stavićemo to u zaglavlje naziv štampanog obrasca, broj dokumenta I organizacija, a također nacrtajte granice zaglavlja tabele i napišite imena kolona. Kada kreirate parametar u svojstvima ćelije, na kartici Layout trebate postaviti svojstvo Punjenje u značenju Parametar.

U području Podaci napravimo parametre za prikaz redova u tabelarnom dijelu ( Nomenklatura, cijena itd.), i na tom području Podrum za zbrojeve po količini i iznosu.

Programiranje

Idemo na modul objekta za štampanje Akcije->Otvori objektni modul.

Kreirajmo tamo funkciju izvoza koja je obavezna za štampane obrasce. pečat().

Funkcija Print () Izvoz EndFunction

U funkciji ćemo kreirati varijablu za tabelarni dokument, u koji će se ispisati štampana forma, dobijamo raspored I raspored područja.

TabDoc = novi TabularDocument; Layout = GetLayout("Layout" ); HeaderArea = Layout.GetArea("Header"); AreaData = Layout.GetArea("Podaci"); AreaFooter = Layout.GetArea("Footer" );

Hajde da popunimo parametre šeširi i dovedi ga tabelarni dokument .

HeaderArea.Parameters.HeaderText = +LinkToObject.Number; HeaderArea.Parameters.Organization = LinkToObject.Organization; TabDoc.Output(HeaderArea);

Da dobijete redove tabele Roba koristimo zahtjev.

Zahtjev = novi zahtjev; Request.SetParameter("Link", ObjectLink); Query.Text = "ODABIR | Prodaja robe i usluga Roba. Nomenklatura, | Prodaja robe i usluga Roba. Iznos, | Prodaja robe i usluga Roba. Cijena, | Prodaja robe i usluga Roba|OD | Dokument Prodaja robe i usluga Roba KAKO Prodaja robe i usluga Roba|WHERE | Prodaja robe i usluga Roba. Link = &Link";

Mi prosljeđujemo detalje u parametar zahtjeva Referenca objekta, da se naznači u stanju GDJE, da su nam potrebni podaci samo iz dokumenta iz kojeg izvodimo štampanu formu. Da bismo dobili uzorak upita, prvo ga izvršavamo, a zatim odabiremo redove.

Odaberite = Query.Run().Select();

Zatim u petlji popunjavamo parametre područja Podaci za svaki red uzorka dokumenta i prikazati ih u tabelarni dokument. Također izračunavamo ukupne vrijednosti u petlji količine I iznosi. Nećemo popunjavati svaki parametar posebno, već ćemo koristiti proceduru Popunite vrijednosti svojstva((<Приемник>, <Источник>) od globalnom kontekstu, kopira vrijednosti svojstava <Источника> na svojstva <Приемника> . Uparivanje se vrši po imenima svojstava. Više o ovome možete pročitati u pomoćnik za sintaksu 1C Enterprise 8.

TotalSum = 0 ; TotalQuantity = 0 ; Dok Selection.Next() Petlja FillPropertyValues(AreaData.Parameters,Selection); TotalSum = TotalSum + Sample.Sum; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(AreaData); EndCycle ;

Popunite i prikažite područje Podrum.

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

Vraćanje dovršenog dokumenta proračunske tablice iz funkcije pečat().

return TabDoc;

Ako koristite jednu od standardnih konfiguracija, onda nakon vraćanja dokumenta proračunske tablice 1Cće prikazati odštampani obrazac na ekranu. Za izlaz možete koristiti i metodu dokumenta proračunske tablice. Prikaži().

5. Povezivanje štampane forme sa dokumentom

IN standardne konfiguracije 1C 8 Postoji imenik za registraciju eksternih štampanih obrazaca ExternalProcessing. Da biste se povezali, idite na meni u režimu preduzeća Usluga->Dodatni izvještaji i obrada->Dodatni eksterni štampani obrasci.

Dodati novi element direktorijum, učitajte ispisani obrazac sa diska i odaberite vrstu dokumenta.

Sada u dokumentu Prodaja robe i usluga Pojavit će se novi ispis.

Automatska registracija štampanog obrasca

Da biste osigurali da prilikom povezivanja obrasca za štampanje ne morate ručno birati vrstu dokumenta, možete konfigurisati automatska registracija. Da biste to učinili, dodajte novi izgled i pozovite ga Postavke_Automatska registracija(ovo je jedini način) i u njegovu prvu ćeliju upisujemo Dokumentacija.<Наименование документа> (ili Imenici.<Наименование справочника> ).

Sada, kada povezujemo formu za štampanje, od nas će se tražiti da koristimo parametri automatske registracije.

Dakle! Postoji konfiguracija (npr. „Upravljanje trgovinom“, izdanje 10.3), a za nju je potrebno razviti eksternu štampanu formu. Na primjer, uzmimo standardni dokument "Faktura za plaćanje kupcu" (iako se eksterni štampani obrasci mogu kreirati ne samo za dokumente, već i za imenike).

Primjer za 1C 8.3 (upravljani obrasci)

Može se pogledati primjer razvoja eksternog štampanog obrasca za upravljanu aplikaciju.

Zadatak

Izraditi eksternu štampanu formu koja će biti dostupna iz dokumenta „Račun za plaćanje kupcu“, a koja će sadržati naziv organizacije, ugovornu stranu i spisak robe sa cenom, količinom i količinom.

Idi!

Prva stvar koju treba da uradite je da kreirate eksternu datoteku za obradu. Obrada treba da sadrži tri glavne tačke:
  1. Atribut “Object Link” tipa “DocumentLink.Faktura za plaćanje kupcu”
  2. Izgled koji će biti odštampan
  3. Izvoz funkcija "Print()" koja vraća dokument proračunske tablice
Ove radnje su vidljive na slici 1

"Crtanje rasporeda"

Naš izgled će sadržavati dvije oblasti:
  1. Naslov (zaglavlje) dokumenta (u ovoj oblasti će se postaviti nazivi organizacije i druge ugovorne strane), i zaglavlje tabele (sa nazivima kolona)
  2. Tabela sa robom (kolone sa imenom, količinom i količinom)
Slika br. 2 prikazuje izgled eksterne štamparske forme. Imajte na umu da ćelije tabele i zaglavlja sadrže parametre, a ne samo tekst.

Funkcija "Print()"

Obrazac je skoro spreman. Ostaje samo da napišete programsko popunjavanje polja dokumenta tabele. Ove radnje se izvode u modulu objekta obrade, u funkciji pod nazivom “Print”, koja MORA biti izvozna.
Faza br. 1. Primanje podataka za zaglavlje, popunjavanje parametara zaglavlja i njihovo ispisivanje u tabelarni dokument TabularDocument = Novi TabularDocument; Layout = GetLayout("OurLayout"); Zahtjev za podatke = Novi zahtjev("ODABIR | ZASTUPANJE(Faktura za plaćanje kupcu. Druga strana) KAO druga strana, | ZASTUPANJE(Faktura za plaćanje kupcu. Organizacija) AS Organizacija | IZ | Dokument. Faktura za plaćanje kupcu KAO faktura za plaćanje Kupcu | GDJE | Faktura za plaćanje Kupcu. Link = &Link"); Data Request.SetParameter("Link", ObjectLink); Zaglavlje = DataRequest.Execute().Select(); Cap.Next(); Oblast = Layout.GetArea("Zaglavlje"); Area.Options.Fill(Header); TabularDocument.Output(Oblast); Faza br. 2. Primanje tabelarnih podataka i linijski izlaz proizvoda
Data Request.Text = "SELECT | _Products.Line Number, | REPRESENTATION(_Products.Nomenclature) AS Nomenklatura, | _Products.Quantity, | _Products.Cijena, | _Products.Amount |FROM | Dokument.Faktura za plaćanje proizvoda Kupcu.Proizvode. AS _Proizvodi |GDJE | _Proizvodi. Link = &Link"; Dohvati = DataRequest.Execute().Select(); Oblast = Layout.GetArea("Podaci"); Dok Selection.Next() Loop Area.Parameters.Fill(Selection); TabularDocument.Output(Oblast); EndCycle; Faza br. 3. Vratite tabelarni dokument i funkciju ispisa return TabularDocument;

Dodavanje naše eksterne štamparske forme u 1C

Idite na meni "Usluga - Eksterne štamparske forme i obrada - Eksterne štamparske forme"

U prozoru za kreiranje elementa koji se otvori, izvršite sljedeće radnje:

  1. Učitavanje vanjske datoteke za obradu
  2. Naznačavamo za koji konfiguracijski dokument (ili direktorij) je namijenjena štampana forma
  3. Snimanje promjena

Štampajmo!

Otvorite bilo koji dokument „Račun za plaćanje kupcu“ (sa popunjenim tabelarnim delom „Proizvodi“, jer tu dobijamo podatke za popunjavanje), kliknite na dugme „Štampaj“, u prozoru koji se otvori izaberite NAŠI štampani obrazac i kliknite na “Print”


PAŽNJA! Ovaj razvojni algoritam je prikladan SAMO za “redovnu aplikaciju”. Ispis za konfiguracije kojima upravlja aplikacija je drugačiji!

Datoteka štampanog obrasca prikazana u primjeru može biti

Idemo na Servis->Dodatni izvještaji i obrada->Opcione vanjske ploče za štampanje.

Otvara se obrazac liste imenika sa eksternim štampanim obrascima. U gornjem meniju liste kliknite Dodati. Pojavljuje se obrazac za kreiranje stavke direktorija.

Kliknite na dugme Otvori i izaberite datoteku sa željenom formom za štampanje. Nakon toga, ako je potrebno, postavite željeno ime (polje Ime).

Ako štampani obrazac sadrži parametre automatske registracije, pojaviće se poruka o tome. Kliknite Da.Ukoliko se to ne desi, potrebno je naznačiti na koji dokument će ovaj formular biti povezan. Da biste to uradili, potrebno je dodati red u tabelarni dio „Pripadnost štampanog obrasca“, gdje je u „Predstava objekta“ polje biramo tip dokumenta na koji povezujemo obrazac. Pošto se u našem primjeru radi o aktu otpisa materijala, odabiremo dokument Zahtjev-faktura.

Nakon toga idite na bilo koji dokument Zahtjev-faktura, kliknite na Print i odaberite novododati obrazac.

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

Da bih demonstrirao dodavanje štampanog obrasca u upravljanom interfejsu, prikazaću dodavanje eksternog obrasca fakture za plaćanje u dokument istog imena u računovodstvu 3.0.

Idemo na odgovarajući odjeljak programa:


Potrebno je da je uključena zastavica za korišćenje eksternih izveštaja i obradu; pratite hipervezu do liste eksternih objekata:

Na listi koja se otvori kliknite Stvoriti:


U dijaloškom okviru odaberite željeni fajl:


Kartica eksternog objekta je popunjena: u izgledu vidimo tip osnovnog objekta na koji će obrazac biti pričvršćen i odmah ispod njegovog naziva:


Napišimo i zatvorimo formu kreiranog vanjskog objekta.

Sada idemo na bilo koji dokument Račun za plaćanje kupcu i prikažite meni za štampanje:


Instrukcije

Otvorite verziju programa 1C:Enterprise 8. Obratite pažnju na stavku menija „Usluga” - „Spoljna obrada i štampanje obrazaca”. Uz njegovu pomoć možete pohraniti eksterne izvještaje, obradu, štampane obrasce, kao i obradu za popunjavanje tabelarnih elemenata. Također možete povezati eksterni obrazac umjesto mijenjanja postojećeg, što bi značilo ometanje konfiguracije programa.

Pokrenite program 1C:Enterprise u načinu konfiguratora, a zatim kreirajte eksternu obradu, da biste to učinili, izvršite naredbu "Datoteka" - "Novo". U prozoru koji se pojavi odaberite "Spoljna obrada". Na ekranu će se pojaviti novi obrazac za eksternu obradu. Dajte mu ime “Spoljni”. Zatim dodajte novi atribut pod nazivom “Referenca objekta”, navedite tip za njega – “Document. Veza. Prodaja robe i usluga." Da biste kreirali ispis za drugu vrstu dokumenta, koristite odgovarajuću vrstu veze.

Dodajte novi izgled klikom na odgovarajuće dugme u novom prozoru obrasca. Nazovite ga “Layout”, kreirajte područje pod nazivom “Header”, dajte mu parametar “Header Text”. Zatim kliknite na dugme „Radnje“, izaberite komandu „Otvori objektni modul“. Zatim unesite tekst modula, možete koristiti primjer objavljen na web stranici http://www.uasoft.com.ua/content/articles/315/.

Pokrenite program 1C:Enterprise, idite na meni Alati, odaberite Obrasci za eksterno štampanje. Dodajte novi unos na listu obrazaca. Da biste to učinili, odaberite kreiranu datoteku za obradu i u tabličnom dijelu naznačite da obrazac pripada dokumentu „Prodaja robe“. Proverite da li nova štamparska ploča radi ispravno. Da biste to učinili, otvorite kreirani dokument, trasirajte ga, a zatim na dnu ekrana kliknite na dugme „Štampaj“, izaberite opciju „Forma za eksterno štampanje“.

Izvori:

  • kako promijeniti štampanu formu u 1c

Za kreiranje i uređivanje obrazaca objekata, program 1C:Enterprise nudi poseban uređivač obrazaca (ili Dizajner obrazaca). Objektni oblici aplikativnog rješenja dizajnirani su da vizualno predstavljaju podatke tokom rada s programom. Uređivač obrazaca sadrži nekoliko kartica koje pružaju mogućnost uređivanja svih elemenata obrasca.

Trebaće ti

  • kompjuter, 1C program

Instrukcije

Pomoću uređivača obrazaca možete dodati jedan ili više elemenata „Grupa – Stranice“ u obrazac; da biste to učinili, kliknite na zeleni znak plus u gornjem lijevom uglu uređivača dok ste na kartici „Elementi“.
U načinu rada 1C:Enterprise svi postojeći elementi grupe bit će prikazani na posebnoj kartici. Da biste ga pozicionirali iznad ili ispod radne, u prozoru „Svojstva” određene grupe, u stavci „Prikaz” izaberite odgovarajuću naredbu.

Također možete dodati elemente u obrazac tako što ćete povući potrebne detalje u stablo elemenata. Da biste olakšali navigaciju kontrolama obrasca prilikom uređivanja ili unosa podataka, postavite redoslijed koji vam odgovara, rasporedite elemente u stablu i podredite ih drugim elementima i postavite svojstva grupnih elemenata prema vašim potrebama.
Da biste uredili detalje obrasca - promijenite ih, kreirajte nove ili ih izbrišite, koristite panel u području stabla detalja na odgovarajućoj kartici.

Da biste uredili komandni interfejs, idite na odgovarajuću karticu. Vidjet ćete komandno stablo, čije su glavne grane “Navigacijski panel” i “Komandni panel”. Neke komande se automatski dodaju stablu komandnog interfejsa, ali ih možete dodati i sami prevlačenjem komandi koje su vam potrebne sa liste globalnih (opštih) komandi ili sa liste komandi obrasca.

Naredbe obrasca se uređuju u odgovarajućoj listi. Možete ih dodati, ukloniti sa liste, postaviti svojstva za svaku naredbu koristeći paletu svojstava koju možete pozvati klikom na ikonu olovke u komandnoj liniji liste.
Da biste uredili parametre obrasca, idite na karticu „Parametri“, gdje ih također možete dodati, izbrisati i postaviti željena svojstva.

Video na temu

Kontni plan, koji se koristi u računovodstvu za prikaz ekonomskih aktivnosti preduzeća, podržava hijerarhiju na više nivoa: račun - podračuni. Kako bi korisnik mogao vidjeti podatke sadržane u kontnom planu i ispraviti ih, 1C sistem vam omogućava promjenu forme računa. Osim toga, štampani oblik računa može se promijeniti u bilo kojem drugom dokumentu u 1C.

Trebaće ti

  • - personalni računar sa 1C.

Instrukcije

Za svaki račun ili podračun predviđeno je analitičko računovodstvo. Stoga, prilikom kreiranja i naknadnog uređivanja kontnog plana u 1C, može se isporučiti potreban broj podračuna, odnosno analitičkih računovodstvenih objekata. Štaviše, prilagođavanja na računima i podračunima može izvršiti ili korisnik koji radi sa automatskim računovodstvenim sistemom ili programer softvera.

Ovaj članak će vam detaljno reći kako početnik s malo znanja o 1C 8 može stvoriti tiskani obrazac. Na primjer, uzmimo jednu od najčešćih 1C 8 konfiguracija - Računovodstvo 2.0. Kreiranje štampanog obrasca 1C faze pisanja:

  • Kreiranje eksterne datoteke obrasca za štampanje;
  • Izrada izgleda tiskanog obrasca;
  • Pisanje programskog koda za prikaz štampanih podataka obrasca na ekranu;
  • Kreiranje parametara za automatsku registraciju tiskanog obrasca;
  • Povezivanje eksterne štamparske forme na bazu 1C preduzeća.

Izrada štampanog obrasca 1C. Formulacija problema

Potrebni smo u konfiguraciji Računovodstvo 2.0 kreirajte štampani obrazac za dokument Prijem robe i usluga. U zaglavlju štampanog obrasca prikažite sledeće podatke:

  • Organizacija;
  • Counterparty;
  • Ugovor o drugoj strani;
  • Datum prijema.

Prikažite podatke u tabelarnom dijelu kao tabelu Roba dokument. Tabela treba da sadrži sljedeće kolone:

  • Nomenklatura;
  • Količina;
  • Cijena;
  • Suma;
  • I također cijena artikla za tekući datum (po vrsti cijene iz dokumenta).

Eksterna datoteka za obradu

Pređimo na rješavanje problema. Prvo, otvorimo 1C 8 u modu Konfigurator. U ovom načinu rada se odvijaju svi razvoji na platformi 1C 8. Sada trebamo kreirati eksternu datoteku za obradu. Da biste to učinili, kliknite na meni Fajl -> Novo… ili ikonom nove datoteke.

U prozoru koji se otvori odaberite stavku Eksterna obrada.

Sledeći na terenu Ime Morate unijeti naziv eksterne obrade. U našem slučaju, jednostavno ćemo ga nazvati “PrintedForm”; polje za sinonim će se automatski popuniti. Imajte na umu da na terenu ime, eksternu obradu, naziv treba pisati bez razmaka i znakova interpunkcije.

Dodajmo eksterne atribute obrade LinkToObject i odaberite tip za njega DocumentLink Prijem robe i usluga. Da biste to učinili, u stablu metapodataka za eksternu obradu 1C odaberite stavku Requisites i pritisnite dugme Dodati(dugme sa zelenim plusom). Prozor svojstava atributa će se otvoriti na desnoj strani ekrana, u polju Ime hajde da napišemo - ReferenceToObject. IN polje Tip pritisnite dugme sa tri tačke.

Proširimo granu u stablu tipova DocumentLink, i tamo pronađite element Prijem robe i usluga, označite polje pored njega i kliknite UREDU.

Spremimo eksternu datoteku za obradu na čvrsti disk; da biste to uradili, koristite meni Datoteka -> Sačuvaj, piktogram Sačuvaj(plava disketa) ili prečica na tastaturi Ctrl+S. Nazovimo sačuvanu datoteku “PrintForm”.

Kreiranje izgleda štampane forme

Počnimo kreirati izgled 1C obrasca za štampanje. Izgled služi kao predložak za izlaz štamparske forme, pa ako želite da vaša štamparska forma izgleda dobro, obratite pažnju na to.

Dodajmo novi izgled u stablo metapodataka vanjske obrade; nećemo ništa mijenjati u prozoru dizajnera izgleda i kliknite na dugme Spreman.

U novom rasporedu koji se otvara kreiraćemo nekoliko oblasti neophodnih za prikaz štampane forme. Sva područja rasporeda koja su nam potrebna bit će horizontalna, tako da da biste kreirali novo područje, odaberite potreban broj linija rasporeda i idite na meni Tabela -> Imena -> Dodijeli ime ili koristite prečicu na tastaturi Ctrl + Shift + N, zatim unesite naziv regije u polje. Kada kreirate područje rasporeda, nemojte se bojati pogriješiti s brojem linija; uvijek ih možete dodati ili ukloniti. Da biste izbrisali liniju 1C izgleda, odaberite željenu liniju i odaberite stavku u kontekstnom izborniku Izbriši. Da biste dodali novu liniju u izgled, odaberite bilo koju liniju izgleda i odaberite stavku u kontekstnom izborniku Proširiti.

Dodavanje zaglavlja izgleda

Prije svega, napravimo područje Kapa, prikazaće podatke za zaglavlje štampanog obrasca. Za ovu oblast će nam trebati sedam linija rasporeda. Odaberimo ih i, kao što sam gore napisao, pritisnite kombinaciju tipki Ctrl + Shift + N, na terenu Ime napišite “Šešir” i pritisnite dugme uredu.

Popunimo područje rasporeda podacima koji su nam potrebni. Obično nijedan štampani obrazac nije potpun bez naslova, pa hajde da ga kreiramo iu našem zaglavlju izgleda. Budući da ćemo u naslovu pored naziva štampane forme prikazati i broj dokumenta iz kojeg je odštampan, kao parametar ćemo postaviti tekst naslova u izgledu. Parametar rasporeda je posebno određena ćelija rasporeda u koju se mogu izvesti različiti podaci pomoću ugrađenog 1C 8 jezika. Naslov bi trebao biti prikazan po cijeloj širini odštampanog obrasca, tako da odlučimo koliko će nam ćelija izgleda biti dovoljno za štampanje na standardnoj pejzažnoj orijentaciji lista.

Obično je dovoljno trinaest ili četrnaest ćelija rasporeda, odaberite ih u prvom redu područja Kapa i spojiti u jednu ćeliju ( Kontekstni meni -> Spoji). Nakon toga, dvaput kliknite na rezultirajuću veliku ćeliju i napišite naziv parametra, u našem slučaju "TitleText". Da bi uneseni tekst postao punopravni parametar, desnom tipkom miša kliknite ćeliju i odaberite stavku u kontekstnom izborniku Svojstva. Na obeleživaču Layout hajde da nađemo polje Punjenje i odaberite vrijednost Parametar. Parametri u 1C izgledu su označeni zagradama "<>».

Naslov odštampanog obrasca trebao bi se isticati među ostalim tekstom, pa ponovo odaberite ćeliju i koristite ikone na ploči za oblikovanje izgleda da postavite poravnanje teksta Centrirano i veličina fonta 14.

Nakon teksta naslova prikazat ćemo ga u području Kapa podatke o organizaciji, ugovornoj strani, ugovoru o drugoj strani i datumu prijema robe. S obzirom da su svi ovi podaci također preuzeti iz dokumenta, mi ćemo ga također formalizirati parametrima. Osim toga, prije svakog parametra treba napisati tekst objašnjenja kako bi korisnik mogao lako razumjeti gdje se nalazi organizacija, gdje je druga strana itd. Sve ove radnje su slične kreiranju naslova, pa se neću detaljnije zadržavati na njima, samo ću dati sliku šta bi se na kraju trebalo dogoditi.

Slika pokazuje kako se parametri izgleda razlikuju od običnog teksta.

Dodavanje zaglavlja tabele rasporeda

Posljednja stvar koju trebamo kreirati u ovom području izgleda je zaglavlje tabele u koje će biti prikazani podaci tabelarnog dijela Roba. Kolone potrebne za tabelu opisane su u odeljku „Izjava o problemu“. Također ćemo kreirati zaglavlje tablice koristeći kombinaciju ćelija i pisanja teksta (imena kolona). Odaberite ivice zaglavlja tabele pomoću alata Okvir, koji se nalazi u panelu za formatiranje izgleda.

Dodavanje tabele u izgled

Kreirajmo još jedno područje u rasporedu - Podaci. U njoj će biti prikazana tabela podataka tabelarnog dijela Roba. Za ovo područje nam je potrebna samo jedna linija rasporeda. Da bismo sve redove tabelarnog dela prikazali u štampanom obliku, ovo područje ćemo ispuniti i prikazati potreban broj puta. Kolone u okolini Podaci treba da se poklapa sa stupcima zaglavlja tabele, tako da njegovo popunjavanje neće biti teško. Jedina razlika je u području Podaci potrebni su nam parametri, a ne samo tekst. Također imajte na umu da se prema zadanim postavkama numerički parametri formatiraju na desno, a tekstualni parametri na lijevo. Da biste odabrali kolone, također morate koristiti alat Okvir.

Dodavanje podnožja u izgled

Posljednje područje koje nam treba je Podrum. Prikazaće ukupne vrednosti po količini i količini. Kreiranje je slično stvaranju područja Podaci, ali dodatno rezultate treba istaknuti podebljanim slovima.

Krajnji rezultat bi trebao biti izgled koji izgleda ovako:

Izrada štampanog obrasca 1C. Programiranje

Počnimo s programiranjem - ovo je najvažnija faza kreiranje štampane forme. Prije svega, idemo na eksterni objektni modul za štampanje, tu ćemo programirati. Da biste to učinili, u glavnom prozoru za eksternu obradu kliknite Akcije -> Otvori modul objekta.

Morate kreirati funkciju izvoza u eksternom objektnom modulu obrasca za ispis Seal().

Funkcija Print() Izvoz EndFunction

Imajte na umu da je ova funkcija potrebna za eksterne obrasce za štampanje u konfiguracijama koje koriste redovnu aplikaciju. Sav naredni programski kod potreban za prikaz štampanog obrasca biće napisan unutar ove funkcije.

Inicijalizacija osnovnih varijabli

Kreirajmo varijablu TabDoc, koji će sadržavati tabelarni dokument - to je upravo odštampani obrazac u koji ćemo prikazati popunjena područja izgleda.

TabDoc = novi TabularDocument;

Na varijablu Layout Dobit ćemo odštampani izgled obrasca koji smo kreirali. Za to koristimo ugrađenu funkciju GetLayout(<ИмяМакета>).

Layout = GetLayout("Layout");

Konvertovaćemo sve oblasti rasporeda u varijable. Za to koristimo metodu rasporeda GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Header"); AreaData = Layout.GetArea("Podaci"); AreaFooter = Layout.GetArea("Footer");

Izlaz zaglavlja štampanog obrasca u tabelarni dokument

Sve potrebne varijable su inicijalizirane. Počnimo da popunjavamo i prikazujemo područja rasporeda u dokumentu proračunske tabele. Prije svega, popunimo naslov obrasca za ispis; za to moramo proći parametar Naslov teksta, koji smo kreirali u izgledu, tekst koji nam je potreban. Za popunjavanje vrijednosti parametara za područje rasporeda postoji posebna kolekcija koja se zove - Opcije. Od čega preko “.” možete dobiti bilo koji parametar. U tekst zaglavlja prenijet ćemo tekst: “Štampani obrazac”, kao i broj dokumenta.

Header Area.Parameters.TitleText = "Obrazac za štampanje"+LinkToObject.Number;

Preostale parametre zaglavlja popunit ćemo na sličan način; sve potrebne vrijednosti za njih ćemo dobiti iz detalja Referenca objekta, koji sadrži vezu do dokumenta koji treba odštampati.

HeaderArea.Parameters.Organization = LinkToObject.Organization; HeaderArea.Parameters.Account = LinkToObject.Account; HeaderArea.Parameters.ReceiptDate = ObjectLink.Date; Header Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

Svi parametri zaglavlja su popunjeni, prikazat ćemo ga u dokumentu proračunske tablice koji smo kreirali, za to koristimo metodu Izlaz(<Область>) .

TabDoc.Output(HeaderArea);

Pisanje zahteva za štampani hendikep

Počnimo da popunjavamo i crtamo područje Podaci. Kreiranje 1C štampanog obrasca uključuje i pisanje upita; potreban nam je za dobijanje tabelarnih podataka Roba i cijene Nomenklature za trenutni datum koji ćemo koristiti Zahtjev. Jezik upita 1C 8 sličan je SQL-u, odnosno praktično kopira mogućnosti njegovog SELECT operatora, ali je cijeli upit napisan na ruskom. Stoga, ako ste barem nejasno upoznati sa SQL-om, onda ćete lako razumjeti 1C 8 jezik upita.

U ovom štampanom obliku zahtjev će biti prilično jednostavan i mnogi će reći da bi bilo moguće bez njega, ali poznavanje jezika upita i sposobnost da ga kompetentno koristite jedna je od glavnih vještina 1C programera. Upiti vam omogućavaju da dobijete složene uzorke podataka koristeći manje resursa, a tekst upita je mnogo lakši za razumevanje nego programski kod napisan bez upotrebe upita (ili uz minimalnu upotrebu). Osim toga, 1C 8 ima vrlo dobar dizajner upita koji vam omogućava da interaktivno sastavite upit iz potrebnih tabela.

Kreirajmo varijablu koja će sadržavati zahtjev.

Zahtjev = Novi zahtjev;

Tekst zahtjeva ćemo sastaviti koristeći konstruktor zahtjeva. Za početak, napišimo:

Request.Text = "";

Postavite kursor miša između navodnika i pritisnite desnu tipku miša. U kontekstnom meniju koji se otvori izaberite stavku Zahtjev za konstruktora, mnogo će nam pomoći u kreiranju 1C štamparske forme. Nakon toga, otvorit će se prozor dizajnera upita koji sadrži mnogo kartica, ali za naš upit će nam trebati samo četiri: “Tabele i polja”, “Relacije”, “Uvjeti”, “Pridruživanja/pseudonima”.

Za naš upit će nam trebati dvije tabele: dio tabele Roba dokument Prijem robe i usluga i snimak najnovijih informacija o trenutnom datumu registra Cijene artikala.

Na lijevoj strani prozora dizajnera nalazimo kolonu Baza podataka. Sadrži stablo svih metapodataka objekata, hajde da pronađemo one koji su nam potrebni. Da to uradimo, otvorimo temu Dokumentacija i pronađite dokument Prijem robe i usluga, otvorimo ga i pronađemo tabelarni dio Roba, prevucite ga u kolonu dizajnera upita Stolovi. Možete prevući na tri načina: prevlačenjem, dvostrukim klikom na tabelu ili odabirom i klikom na dugme “>”. Hajde da otvorimo temu Informacijski registri i nađi sto tamo CijeneNomenklatura.ShortcutLatest, također ga prevucite u kolonu Stolovi. Ove dvije tabele su dovoljne za naš upit.

Odaberimo polja koja su nam potrebna iz rezultirajućih tabela. Da biste to učinili, u koloni Stolovi hajde da otvorimo sto i pronađite polja: Nomenklatura, količina, cijena, količina i prevucite ih u treću kolonu konstruktora - Polja. Hajde da proširimo tabelu , hajde da nađemo polje Cijena i prevucite ga na Polja.

Struktura tabela i polja našeg zahteva je spremna, sada idemo na uslove. Potrebni su nam tabelarni podaci Roba nisu uzeti sa svih računa, već samo iz one koju štampamo. Da bismo to učinili, nametnut ćemo uslov na stol Prijem robeUslugeRobe. Idemo na karticu "Uvjeti" dizajnera upita. U koloni Polja nalaze se tabele koje smo ranije odabrali, za uslov će nam trebati polje Veza sa stola Prijem robe i usluga robe, Povucimo ga u prozor Uslovi.

U 1C upitima možete koristiti parametre; oni su potrebni za prijenos podataka u zahtjev. Na primjer, ako želimo da ograničimo izbor dokumenata na određeni dokument, onda možemo koristiti parametar da prosledimo vezu na ovaj dokument u zahtev i koristimo ovaj parametar u uslovu. Upravo to ćemo učiniti u našem zahtjevu.

Posle prozora Uslovi dodali smo polje Veza, sam dizajner upita će kreirati parametar sa istim imenom i postaviti ga iza znaka “=”. Ovaj parametar se po želji može preimenovati. U tekstu zahtjeva parametri su označeni sa “&”, ali u u ovom slučaju nema potrebe da se ovo radi, pošto se pretpostavlja da drugi deo uslova sadrži parametar, samo ovo treba da zapamtite. Kako proslijediti vrijednost parametru zahtjeva 1C bit će razmotreno u nastavku.

Budući da u zahtjevu ne koristimo punu tablicu cijena proizvoda, već virtuelnu (u ovom slučaju dio ove druge), moramo postaviti uslove za formiranje ove virtualne tablice, u našem slučaju je to datum preseka i uslov za vrstu cene (cene koje imaju strogo definisanu vrstu cene je ona navedena u prijemnom dokumentu koji štampamo).

Da biste popunili parametre virtuelne tabele, idite na karticu Tabele i polja konstruktor upita, u koloni Stolovi izaberite tabelu CijeneNomenklaturaCuttingLatest i pritisnite dugme Opcije virtuelne tabele, koji se nalazi na vrhu. U prozoru koji se otvori, u polju Period trebate postaviti parametar na koji će biti proslijeđen datum na koji će se cijena smanjiti. U našem slučaju, to će biti trenutni datum (odnosno danas), pa ćemo parametar zvati “&TrenutniDatum”. U polje uslova upisaćemo uslove za tip cene, takođe ćemo ga proslediti u parametar koji ćemo nazvati “&TypePrice”. Rezultat će izgledati ovako (gdje TypePrice- mjerenje registra Cijene artikala):

Vrsta cijene = &Tip cijene

Parametri virtuelne tabele su popunjeni, kliknite na dugme uredu.

Sada kada smo ograničili izbor samo na dokument koji nam je potreban, napravimo veze između tabela upita. Ako se to ne učini, cijene iz tablice PricesNomenclatureSliceLast neće biti povezane s artiklom iz računa. Idemo na karticu Veze dizajner upita. Hajde da stvorimo vezu preko polja Nomenklatura između naša dva stola. Da biste to uradili, pritisnite dugme Dodati, na terenu Tabela 1 odaberite sto Prijem robeUslugeRobe, a u polju Tabela 2 - CijeneNomenklaturaSliceLast. U uslovima komunikacije izaberite polja Nomenklatura sa oba stola.

Također treba napomenuti da u odabiru upita moramo dobiti sve redove iz dijela tab Roba a cijene samo ako su dostupne na tekući datum za tip cijene dokumenta. Dakle, tabelarni podaci Roba su obavezni, ali podaci o raščlanjenju cijena nisu dostupni. Stoga je u relacijama između ovih tabela potrebno koristiti tzv. LEFT JOIN, a lijeva (ili obavezna) tablica će biti Prijem robeUslugeRobe, i desnu (ili opcionalnu) PriceNomenclatureSliceLast. Da bi lijevo spojiti tabele upita su radile kako sam gore opisao, potrebno je da potvrdite izbor u polju Sve nakon terena Tabela 1.


Zahtjev je skoro spreman, ostalo je još malo poraditi na pseudonimima na terenu. Idemo na bookmark Sindikati/aliasi i postavite pseudonim za polje CijeneNomenklatura Slice Latest.Price. Nadimak će biti - PriceAsToday, potrebno je kako bi se nazivi polja za odabir upita i nazivi parametara u ispisanom izgledu obrasca poklapali.

Rad u dizajneru upita je sada završen, kliknite na OK. Nakon što se prozor dizajnera zatvori, vidjet ćete da je red s tekstom zahtjeva popunjen i izgleda ovako:

Request.Text = "ODABIR | Prijem robeUslugeProizvodi.Nomenklatura, | Prijem robeUslugeRobe.Iznos, | Prijem robeUslugeProizvodi.Cijena, | Prijem robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, | CijeneA.SliceNomenc.Ak.D. RobaServices.Roba AS ReceiptTo varsServicesProducts LEFT CONNECTION RegistarInformation.PricesNomenclature.SliceLast (| &CurrentDate, PriceType = &PriceType) KAKO Nomenklatura CijeneSliceLast | ON =SliceProducts.NomenclatureNomencla ture |WHERE | Prijem robeUslugeProizvodi.Link = &Link";

Izvršavanje zahtjeva

Proslijedimo potrebne parametre zahtjevu; za to ćemo koristiti metodu zahtjeva SetParameter(<ИмяПараметра>,<Значение>). Da biste dobili trenutni datum, koristite ugrađenu funkciju Trenutni datum(), vraća datum i vreme računara.

Pokrenimo upit da dobijemo uzorak sa podacima koji su nam potrebni. Da biste to učinili, prvo koristite metodu zahtjeva pokreni(), a zatim metodu Odaberi().

Odaberite = Query.Run().Select();

Popunjavanje tabele štampanog obrasca

Kao rezultat toga, u varijabli Uzorakće sadržavati izbor rezultata upita, možete se kretati kroz njega pomoću metode Sljedeći(), a da biste prošli kroz cijelu stvar potrebna vam je petlja ćao. Dizajn će biti sljedeći:

Dok Select.Next() Loop EndLoop;

U ovoj petlji ćemo popuniti i prikazati područje rasporeda Podaci. Ali prvo, inicijalizirajmo dvije varijable numeričkog tipa. U njima ćemo prikupiti ukupne iznose po količini i količini koju trebamo prikazati u području Podrum.

TotalSum = 0; TotalQuantity = 0;

Unutar petlje ćemo ispuniti područje Podaci podatke iz trenutnog elementa selekcije u varijable TotalAmount I TotalQuantity dodajte vrijednosti sume i količine i na kraju prikažite područje u dokumentu proračunske tablice koristeći metod koji nam je već poznat Izlaz(). Budući da se nazivi polja našeg zahtjeva potpuno poklapaju sa nazivima parametara područja Podaci, tada ćemo za popunjavanje koristiti ugrađenu proceduru FillPropertyValues(<Приемник>, <Источник>), koji kopira vrijednosti svojstava<Источника>na svojstva<Приемника>.

Dok Selection.Next() Petlja FillPropertyValues(AreaData.Parameters,Selection); TotalSum = TotalSum + Sample.Sum; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(AreaData); EndCycle;

Izlaz podnožja štampanog obrasca u tabelarni dokument

Ostaje popuniti i prikazati posljednje područje izgleda - Podrum. Već smo pripremili podatke za punjenje, punjenje i povlačenje se vrši po istoj šemi.

AreaFooter.Parameters.TotalQuantity = TotalQuantity; AreaFooter.Parameters.TotalSum = TotalSum; TabDoc.Output(AreaFooter);

Tabelarni dokument je u potpunosti popunjen, preostaje samo da se prikaže na ekranu kako bi korisnik mogao pregledati odštampani obrazac i po potrebi ga ispisati. Ali u tipičnim 1C 8 konfiguracijama, procedure posebnih modula su odgovorne za izlaz eksternih štampanih obrazaca. Stoga je dovoljno vratiti se iz funkcije pečat() popunjen dokument tabele.

Return TabDoc;

U ovom trenutku faza programiranja je završena i kreiranje 1c obrasca za štampanje je skoro završeno. Cijeli tekst funkcije pečat() Neću ga ovdje navoditi, možete ga pogledati u datoteci za ispis, koju možete preuzeti na dnu članka.

Izrada štampanog obrasca 1C. Opcije automatske registracije

Prilikom povezivanja eksterne štamparske forme sa bazom podataka, sistem ne određuje automatski za koji dokument ili referentnu knjigu je formular za štampanje namenjen, već ga morate izabrati ručno. A ako je druga osoba napisala štampani obrazac, a vi imate zadatak samo da ga povežete, onda izbor može postati dvosmislen. Kako bi se izbjegli ovakvi problemi, u svim eksternim štampanim formama potrebno je kreirati layout sa parametrima auto-registracije. Ako je kreiran i pravilno formatiran, sistem automatski određuje za koji dokument ili priručnik je namijenjena štampana forma.

Radi se na sljedeći način:

  • U vanjskoj obradi kreiramo novi izgled. Mi to zovemo “Settings_Auto-Registration” (važno je da ne pogriješite!).
  • U prvoj ćeliji izgleda pišemo Dokumentacija.(ili Imenici.) i naziv dokumenta na koji treba da povežete štampani obrazac.

Povezivanje eksterne štamparske forme na bazu

  • Pokrenite 1C 8 u načinu rada Kompanija;
  • Idi na meni Usluga -> Dodatni izvještaji i obrada -> Dodatni eksterni štampani obrasci;
  • Kliknite na dugme Dodati;
  • U prozoru koji se otvori kliknite na ikonu Zamijenite eksternu datoteku za obradu;
  • Ako ste kreirali parametre automatske registracije, slažemo se da ih koristimo;
  • Ako niste kreirali parametre automatske registracije, onda u tabelarnom dijelu Pribor za štamparske ploče dodati potreban dokument ili referentna knjiga;
  • Pritisnite dugme UREDU.

Nakon toga, eksterni obrazac za štampanje će biti dostupan u meniju Pečat dokument Prijem robe i usluga. Stvaranje 1C štampanog obrasca sada se može smatrati završenim.

Podijelite sa prijateljima ili sačuvajte za sebe:

Učitavanje...