Kako dodati vrijeme eksternom štampanom obrascu. Publikacije. Inicijalizacija osnovnih varijabli

Eksterni štampani obrasci za redovnu aplikaciju (za konfiguraciju Računovodstvo preduzeća 2.0, Upravljanje platama i ljudskim resursima 2.5, Upravljanje trgovinom 10.3, itd.) kreiraju se prilično jednostavno u poređenju sa eksternim štampanim obrascima za upravljanu aplikaciju.

Zašto kreirati eksterne štamparske forme?

Prednost eksterne štampane forme u odnosu na konvencionalnu je u tome što vam omogućava da izbegnete promenu konfiguracije baze podataka. To znači da proces naknadnih ažuriranja konfiguracije neće biti komplikovan. Osim toga, eksterni štampani obrasci, uz eksternu obradu, jedina su opcija za proširenje funkcionalnosti osnovnih verzija 1C konfiguracija, koje se uopće ne mogu mijenjati.

I poslednja stvar: eksterne štampane forme je lakše replicirati, jer oni su zasebna datoteka koja se može brzo povezati sa info bazom.

Kako kreirati eksterni obrazac za štampanje

Pogledajmo korak po korak proces kreiranja eksternog 1C štampanog obrasca:

  1. Izrađujemo eksternu obradu. Da biste to učinili, odaberite stavku menija u konfiguratoru Fajl - Novo... I u dijaloškom okviru koji se otvori - Eksterna obrada.
  2. Kreirajte eksterni atribut obrade s imenom Referenca objekta. Tip atributa je veza ka direktorijumu ili dokumentu za koji se kreira eksterni štampani obrazac. Isti oblik se može koristiti za nekoliko tipova objekata, u ovom slučaju tip podataka atributa Referenca objekta mora biti kompozitna.
  3. U objektnom modulu kreiramo funkciju za izvoz sa imenom Pečat, koji treba da vrati gotov odštampani dokument sa tabelama.

Često se dešava da morate malo prilagoditi izgled postojećeg štampanog obrasca i učiniti ga vanjskim. Na primjer, dodajte pečat organizacije i potpis menadžera na izgled.

Izrada eksterne štamparske forme na osnovu standardne sa manjim izmenama

Razmotrimo ovaj postupak na primjeru kreiranja eksterne štampane forme univerzalnog dokumenta za prijenos za dokument Prodaja robe i usluga 1C: Računovodstvo. Od standardnog štampanog obrasca će se razlikovati po prisustvu pečata organizacije.

  1. Kreiranje eksterne obrade sa rekvizitima Referenca objekta, tip podataka - DocumentLink. Prodaja robe i usluga.
  2. Pronalazimo izgled standardne UPD štampane forme (nalazi se u opštim rasporedima) i kopiramo (prevlačimo) ga u eksterni prozor za obradu. Izgledi drugih štampanih obrazaca mogu se nalaziti u samim dokumentima ili referentnim knjigama.
  3. Unosimo potrebne izmjene u kopirani izgled odštampanog obrasca.
  4. Pronalazimo funkciju odgovornu za generiranje štampane forme. Ova funkcija bi trebala vratiti generirani dokument proračunske tablice. Kopirajte njegov sadržaj u funkciju za izvoz pečat() u modulu eksternog objekta obrade.
    U našem slučaju to je funkcija PrintUniversalTransferDocument() Izvoz iz modula objekta dokumenta Prodaja robe i usluga.
    Ako su promjene izgleda bile značajne (promijenjene oblasti i/ili parametri), tada se moraju izvršiti odgovarajuća podešavanja funkcije ispisa.
  5. Pokušavamo sačuvati eksternu obradu. Međutim, vjerovatno ćete dobiti poruke o grešci koje ukazuju na to da nedostaju neke procedure i funkcije koje poziva funkcija print. Ove funkcije i procedure moraju se naći u izvornom dokumentu i također kopirati u eksterni modul za obradu. Ili prilagodite vezu ako je originalna funkcija ili procedura izvezena.
  6. (opciono). Za testiranje eksterne štamparske forme, zgodno je napraviti formu na koju ćete postaviti rekvizite Referenca objekta. Dugme Izvrši mora pozvati proceduru pečat() iz objektnog modula. Da biste to učinili, događaju klika na dugme data je procedura:

Ovaj članak opisuje kako povezati eksterni štampani obrazac sa 1C bazom podataka koristeći primjer konfiguracije "Upravljanje trgovinom 11.2"

Konfiguracija “Upravljanje trgovinom 11.2” je konfiguracija na “UPRAVLJANIM” obrascima!

Naše upute „pokazuju“ kako spojiti eksterni štampani obrazac u 1C informacijsku bazu sa konfiguracijom na „UPRAVLJENIM“ obrascima, i to:

  • "Računovodstvo 3.0"
  • "Upravljanje trgovinom 11.2"
  • "Plaća i upravljanje kadrovima 3.1"
  • "Sveobuhvatna automatizacija 2.0"
  • "Upravljanje malim firmama 1.6"
  • "Maloprodaja 2.2"
  • i druge slične konfiguracije.

Da bismo povezali eksterni obrazac za štampanje u 1C, moraćemo da prođemo kroz 11 koraka.

1 — Meni „Glavni podaci i administracija“ (U drugim konfiguracijama, kao što je Enterprise Accounting 3.0, može se zvati jednostavno „Administracija“). 2 — Odaberite “Štampani obrasci, izvještaji i obrada” (vidi sliku ispod ↓)

3 — Proširite podmeni „Izveštaji i obrada“ (U drugim konfiguracijama, kao što je Enterprise Accounting 3.0, možda ne postoji takav podmeni, pa odmah prelazimo na sledeći korak). 4 — Označite polje „Korišćenje dodatnih izvještaja i obrada“. 5 — Idite na odjeljak: Dodatni izvještaji i obrada. (vidi sliku ispod ↓) ()

6 — Kliknite na dugme „Kreiraj“. (vidi sliku ispod ↓)

U novim verzijama 1C (počevši od kolovoza 2016.) program ima ugrađeni mehanizam upozorenja o opasnosti korištenja nepoznate vanjske obrade koja može sadržavati „viruse“ u ranijim verzijama programa upozorenje se neće pojaviti! Ako se to dogodi, za povezivanje eksterne štamparske forme biće potrebno - 7 — kliknite na dugme „Nastavi“. (vidi sliku ispod ↓)

8 — Odaberite direktorij u kojem se nalazi obrada. 9 — Odaberite ga (obrada koja nam je potrebna). 10 — Kliknite na dugme „Otvori“. Ili, umjesto koraka 9 i 10, možete jednostavno dvaput kliknuti na vanjski odštampani obrazac koji nam je potreban u prozoru za odabir. (vidi sliku ispod ↓)

Ako trebamo dodati smještaj za dodatnu obradu (Na primjer, ovo je univerzalni obrazac ugovora sa naše web stranice i potrebna nam je naredba za ispis ovog obrasca da bi se prikazao u nekom objektu u kojem nije inicijalno prikazan) - 11 — kliknite na liniju za postavljanje (“Place in:”, možda “Placement:”) i odaberite potrebne direktorije i dokumente. 12 — Dovršavamo korake za povezivanje eksternog obrasca za štampanje klikom na dugme „Snimi i zatvori“. (vidi sliku ispod ↓)

To je to! Čestitamo! Spojena eksterna štamparska ploča! Jesmo li sve uradili kako treba? hajde da proverimo...

Prije snimanja i zatvaranja primijetili smo da se ova eksterna štampana forma nalazi u dokumentu Prodaja robe i usluga, što znači da možemo otvoriti opcije štampanja za bilo koji dokument tipa: „Prodaja robe i usluga“. pritisnite dugme “Print” i vidite da se pojavio prozor za izbor štampanih obrazaca, među kojima se nalazi - 13 — eksterna štamparska forma povezana sa nama (vidi sliku ispod ↓)

Sada je to to sigurno. Nadamo se da vam je ovaj članak bio koristan.

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 Dodaj. 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.Ako se to ne dogodi, potrebno je naznačiti na koji dokument će ovaj obrazac biti povezan. Da biste to učinili, 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:


Neophodno 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 Kreiraj:


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:


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 ispisanih podataka obrasca na ekranu;
  • Kreiranje parametara za automatsku registraciju tiskanog obrasca;
  • Povezivanje eksterne štamparske forme na bazu 1C preduzeća.

Izrada štampanog obrasca 1C. Izjava o problemu

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;
  • Sum;
  • I takođe cena artikla za tekući datum (po vrsti cene 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 razvojni programi na platformi 1C 8. Sada moramo 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 “PrintForm”; 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 Detalji i pritisnite dugme Dodaj(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 OK.

Snimimo 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 štampanog obrasca, pa ako želite da vaša štampana forma izgleda dobro, obratite pažnju na to.

Dodajmo novi izgled u stablo metapodataka za eksternu obradu 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 koje možete uvijek 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širi.

Dodavanje zaglavlja izgleda

Prije svega, napravimo područje Cap, 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 OK.

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 Cap 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 Cap podatke o organizaciji, drugoj 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 rasporeda 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 sa programiranjem - ovo je najvažnija faza u kreiranju štampane forme. Prije svega, idemo na eksterni objektni modul za štampanje, tu ćemo programirati. Da biste to učinili, kliknite u glavnom prozoru za eksternu obradu 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 upisan 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 štampanje, za ovo moramo proći parametar Naslov teksta, koji smo kreirali u izgledu, tekst koji nam je potreban. Za popunjavanje vrijednosti parametara, područje izgleda ima posebnu kolekciju, 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 ćemo popuniti na sličan način, iz detalja ćemo dobiti sve potrebne vrijednosti Referenca objekta, koji sadrži vezu do dokumenta koji se štampa.

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 zahtjeva za štampani hendikep

Počnimo da popunjavamo i crtamo područje Podaci. Kreiranje 1C štampanog obrasca takođe uključuje pisanje upita potrebno nam je da dobijemo tabelarne podatke 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 upita ćemo sastaviti koristeći konstruktor upita. 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 Dokumenti 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 povuć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. 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 sa onog koji štampamo. Da bismo to učinili, nametnut ćemo uslov na stol Prijem robeUslugeRobe. Idemo na karticu "Uvjeti" dizajnera upita. U koloni Polja tabele koje smo ranije odabrali se nalaze, za uslov će nam trebati polje Link sa stola Prijem robe i usluga robe, Povucimo ga u prozor Uslovi.

U 1C upitima možete koristiti parametre koji 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 Link, 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 znakom “&”, ali u ovom slučaju to nije potrebno, jer se pretpostavlja da drugi dio uvjeta sadrži parametar, samo ovo treba zapamtiti. Kako proslijediti vrijednost parametru zahtjeva 1C bit će razmotreno u nastavku.

Budući da u zahtjevu ne koristimo kompletnu tablicu cijena proizvoda, već virtuelnu (u ovom slučaju dio ove druge), potrebno je postaviti uslove za formiranje ove virtualne tabele, u našem slučaju je to datum preseka i uslov za vrstu cene (cene koje imaju strogo definisanu vrstu cene je ona koja je 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 OK.

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 Dodaj, 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 spajanje tabela upita funkcionisalo kao što sam gore opisao, potrebno je da označite polje 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 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 robeUslugeProizvodi.Iznos, | Prijem robeUslugeProizvodi.Cijena, | Prijem robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, |Primanje robeUslugeProizvodi.Količina, | CijeneA.S.Nommenc.Ak. RobaServices.Roba AS Prijem ProizvodiUslugeProizvodi | LIJEVA POVEZANOST Registar Informacije.Cijene.SliceLast (|&TrenutniDatum, PriceType = &PriceType) AS PricesNomenclatureSliceLast ON Receivice of Goods.Br

Izvršavanje zahtjeva

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

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

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

Popunjavanje tabele štampanog obrasca

Kao rezultat, u varijabli Uzorakće sadržavati izbor rezultata upita, možete se kretati kroz njega pomoću metode Sljedeća(), 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() Loop FillPropertyValues(AreaData.Parameters,Selection);

TotalSum = TotalSum + Sample.Sum;

TotalQuantity = TotalQuantity + Sample.Quantity; Podrum TabDoc.Output(AreaData); EndCycle;

Izlaz podnožja štampanog obrasca u tabelarni dokument

Ostaje popuniti i prikazati posljednje područje izgleda - pečat(). 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);

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

Vrati TabDoc;

U ovom trenutku, faza programiranja je završena i kreiranje 1c obrasca za štampanje je skoro završeno. Cijeli tekst funkcije

Neću ga ovdje navoditi, možete ga pogledati u datoteci obrasca za štampanje, koji možete preuzeti na dnu članka.

  • Izrada štampanog obrasca 1C. Opcije automatske registracije
  • Prilikom povezivanja eksternog obrasca za štampanje sa bazom podataka, sistem ne određuje automatski za koji dokument ili priručnik je namenjena štamparska forma. 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, potrebno je kreirati izgled sa parametrima autoregistracije u svim eksternim štampanim formama. 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 rasporeda pišemo Dokumenti.

(ili

  • Imenici. ) i naziv dokumenta na koji treba da povežete štampani obrazac.
  • Povezivanje eksterne štamparske forme na bazu Usluga -> Dodatni izvještaji i obrada -> Dodatni eksterni štampani obrasci;
  • Kliknite na dugme Dodaj;
  • 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 referentnu knjigu;
  • Pritisnite dugme OK.

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.

Kako dodati (registrovati) eksterni štampani obrazac (ili obradu) u 1C računovodstvo 8.3 (revizija 3.0)

2019-05-15T13:40:54+00:00

Često je računovođi potreban dodatni štampani obrazac za jedan od standardnih dokumenata 1C: Računovodstvo 8.3 (revizija 3.0). Ili je potrebna dodatna obrada, na primjer, za automatsko popunjavanje dokumenta ili unošenje novog na osnovu njega. Obično je neko već razvio takvu funkciju i može se naći ili naručiti od programera. I sada je revizija primljena, ostaje samo da je dodate u računovodstvenu službu. Kako to učiniti? Više o tome u nastavku, korak po korak.

1. Otvorite 1C Accounting 3.0 i odaberite odjeljak “Administracija” -> “Štampanje obrazaca, izvještaja i obrada” na lijevoj ploči:

2. Ovdje pronađite i odaberite “Dodatni izvještaji i obrada”, nakon što označite polje za potvrdu “Dodatni izvještaji i obrada” na lijevoj strani:

3. Kliknite na dugme "Dodaj iz datoteke...".

4. I izaberite datoteku sa eksternom formom za štampanje ili obradom (epf ekstenzija).

5. U novom prozoru kliknite na dugme "Sačuvaj i zatvori".

6. Otvorite željeni dokument i uvjerite se da se druga opcija obrasca za štampanje pojavljuje na dugmetu za štampanje ili stavka u meniju „Kreiraj na osnovu“ ili novo dugme na traci sa alatkama obrasca. Spremni!

S poštovanjem, Vladimir Milkin(nastavnik i programer).