Otvoren
Zatvoriti

Dodavanje eksterne ispisne forme u bazu podataka. Dodavanje eksterne ispisne forme u bazu podataka Postavljanje ispisnih formi u 1s 8.2

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 konfiguracija 1C 8 - Računovodstvo 2.0. Izrada tiskanog obrasca 1C faze pisanja:

  • Izrada eksterne datoteke obrasca za ispis;
  • Izrada izgleda tiskanog obrasca;
  • Pisanje programskog koda za prikaz ispisanih podataka obrazaca na ekranu;
  • Izrada parametara za automatsku registraciju tiskanog obrasca;
  • Spajanje vanjske tiskovne forme na bazu 1C poduzeća.

Izrada tiskanog obrasca 1C. Formulacija problema

Potrebni smo u konfiguraciji Računovodstvo 2.0 izraditi tiskani obrazac za dokument Prijem robe i usluga. U zaglavlju ispisanog obrasca prikazati sljedeće podatke:

  • Organizacija;
  • protustranka;
  • Ugovor o drugoj ugovornoj strani;
  • Datum primitka.

Podatke u tabelarnom dijelu prikažite kao tablicu Roba dokument. Tablica treba sadržavati sljedeće stupce:

  • Nomenklatura;
  • Količina;
  • Cijena;
  • Iznos;
  • Također i cijenu artikla za tekući datum (prema vrsti cijene iz dokumenta).

Vanjska datoteka za obradu

Prijeđimo na rješavanje problema. Prvo, otvorimo 1C 8 u modu Konfigurator. U ovom načinu se odvijaju svi razvoji na platformi 1C 8. Sada moramo stvoriti vanjsku datoteku za obradu. Da biste to učinili, kliknite na izbornik Datoteka -> Novo… ili ikonom nove datoteke.

U prozoru koji se otvori odaberite stavku Vanjska obrada.

Sljedeći na terenu Ime Morate unijeti naziv vanjske obrade. U našem slučaju, jednostavno ćemo ga nazvati "PrintForm"; polje sinonima će se popuniti automatski. Imajte na umu da u polju Ime, vanjske obrade, naziv treba pisati bez razmaka i interpunkcijskih znakova.

Dodajmo vanjske atribute obrade LinkToObject i odaberite tip za njega DocumentLink Prijem robe i usluga. Da biste to učinili, u stablu metapodataka vanjske obrade 1C odaberite stavku Rekviziti i pritisnite tipku Dodati(gumb sa zelenim plusom). Na desnoj strani ekrana, u polju, otvorit će se prozor svojstava atributa Ime idemo pisati - Referenca na objekt. U polje Tip pritisnite tipku s tri točkice.

Proširimo granu u stablu tipa DocumentLink, te tamo pronađite element Prijem robe i usluga, označite kvadratić pored njega i kliknite U REDU.

Spremimo vanjsku datoteku za obradu na tvrdi disk; upotrijebimo izbornik Datoteka -> Spremi, piktogram Uštedjeti(plava disketa) ili tipkovnički prečac Ctrl+S. Nazovimo spremljenu datoteku “PrintForm”.

Izrada izgleda tiskanog obrasca

Počnimo stvarati izgled 1C tiskarske forme. Izgled služi kao predložak za ispis tiskanog obrasca, pa ako želite da vaš ispisani obrazac dobro izgleda, obratite pozornost na njega.

Dodajmo novi izgled u stablo metapodataka za vanjsku obradu; nećemo ništa mijenjati u prozoru dizajnera izgleda i kliknemo na gumb Spreman.

U novom izgledu koji se otvori kreirat ćemo nekoliko područja potrebnih za prikaz ispisanog obrasca. Sva područja izgleda koja su nam potrebna bit će vodoravna, pa da biste stvorili novo područje, odaberite potreban broj redaka izgleda i idite na izbornik Tablica -> Imena -> Dodijeli naziv ili koristite tipkovni prečac Ctrl + Shift + N, zatim u okvir unesite naziv regije. Kada stvarate područje izgleda, nemojte se bojati pogriješiti s brojem redaka; uvijek ih možete dodati ili ukloniti. Da biste izbrisali liniju izgleda 1C, odaberite željenu liniju i odaberite stavku u kontekstnom izborniku Izbrisati. Da biste dodali novi red u izgled, odaberite bilo koji redak u rasporedu i odaberite stavku u kontekstnom izborniku Proširiti.

Dodavanje zaglavlja izgleda

Prije svega, stvorimo područje Policajac, prikazat će podatke za zaglavlje ispisanog obrasca. Za ovo područje trebat će nam sedam linija izgleda. Odaberimo ih i, kao što sam gore napisao, pritisnite kombinaciju tipki Ctrl + Shift + N, u polju Ime napišite "Šešir" i pritisnite gumb u redu.

Ispunimo područje izgleda podacima koji su nam potrebni. Obično niti jedan tiskani obrazac nije potpun bez naslova, stoga stvorimo i jedan u našem zaglavlju izgleda. Budući da ćemo u naslovu osim naziva ispisanog obrasca prikazati i broj dokumenta iz kojeg je ispisan, tekst naslova u prijelomu postavit ćemo kao parametar. Parametar izgleda je posebno određena ćelija izgleda u koju se mogu ispisati različiti podaci pomoću ugrađenog jezika 1C 8. Naslov bi trebao biti prikazan preko cijele širine ispisnog obrasca, pa odlučimo koliko će nam ćelija rasporeda biti dovoljno za ispis na standardnoj pejzažnoj orijentaciji lista.

Obično je dovoljno trinaest ili četrnaest ćelija rasporeda, odaberite ih u prvom redu područja Policajac i spojite u jednu ćeliju ( Kontekstni izbornik -> Spoji). Nakon toga dvaput kliknite na dobivenu veliku ćeliju i napišite naziv parametra, u našem slučaju “TitleText”. Kako bi uneseni tekst postao punopravni parametar, desnom tipkom miša kliknite ćeliju i odaberite stavku u kontekstnom izborniku Svojstva. Na knjižnoj oznaci Izgled nađimo polje Punjenje i odaberite vrijednost Parametar. Parametri u rasporedu 1C označeni su zagradama "<>».

Naslov ispisanog obrasca trebao bi se isticati među ostalim tekstom, stoga ponovno odaberite ćeliju i upotrijebite ikone na ploči za oblikovanje izgleda da postavite poravnanje teksta Centrirano i veličina slova 14.

Nakon naslovnog teksta prikazat ćemo ga u području Policajac informacije o organizaciji, drugoj ugovornoj strani, ugovoru druge ugovorne strane i datumu primitka robe. Budući da su svi ti podaci također preuzeti iz dokumenta, formalizirat ćemo ih i parametrima. Osim toga, prije svakog parametra trebate napisati tekst objašnjenja kako bi korisnik mogao lako razumjeti gdje se nalazi organizacija, gdje je druga ugovorna strana itd. Sve te radnje slične su stvaranju naslova, pa se neću detaljno zadržavati na njima, samo ću dati sliku onoga što bi se na kraju trebalo dogoditi.

Slika pokazuje kako se parametri izgleda razlikuju od uobičajenog teksta.

Dodavanje zaglavlja tablice izgleda

Zadnje što trebamo kreirati u ovom području izgleda je zaglavlje tablice u kojem će se prikazivati ​​podaci tabelarnog dijela Roba. Stupci potrebni za tablicu opisani su u odjeljku "Izjava o problemu". Također ćemo stvoriti zaglavlje tablice koristeći kombinaciju ćelija i pisanje teksta (imena stupaca). Pomoću alata odaberite granice zaglavlja tablice Okvir, koji se nalazi na ploči za oblikovanje izgleda.

Dodavanje tablice u izgled

Kreirajmo još jedno područje u izgledu - Podaci. U njemu će se prikazati tablica podataka tabelarnog dijela Roba. Za ovo područje trebamo samo jedan redak rasporeda. Za prikaz svih redaka tabelarnog dijela u tiskanom obliku, ovo područje ispunit ćemo i prikazati potreban broj puta. Kolone u području Podaci treba se podudarati sa stupcima zaglavlja tablice, tako da neće biti teško popuniti ga. Razlika je samo u površini Podaci trebamo parametre, a ne samo tekst. Također imajte na umu da su prema zadanim postavkama numerički parametri oblikovani udesno, a tekstualni ulijevo. Za odabir stupaca također morate koristiti alat Okvir.

Dodavanje podnožja u izgled

Posljednje područje rasporeda koje trebamo je Podrum. Prikazat će ukupne iznose prema količini i iznosu. Stvaranje je slično stvaranju područja Podaci, ali dodatno rezultate treba istaknuti masnim slovima.

Krajnji rezultat trebao bi biti izgled koji izgleda ovako:

Izrada tiskanog obrasca 1C. Programiranje

Krenimo s programiranjem - ovo je najvažnija faza u stvaranju tiskanog obrasca. Prije svega, idemo na objektni modul obrasca za vanjski ispis, tu ćemo programirati. Da biste to učinili, u glavnom prozoru za vanjsku obradu kliknite Akcije -> Otvori objektni modul.

Morate kreirati funkciju izvoza u objektnom modulu obrasca za vanjski ispis Pečat().

Funkcija Ispis() Eksport EndFunction

Imajte na umu da je ova značajka potrebna za vanjske obrasce za ispis u konfiguracijama koje koriste uobičajenu aplikaciju. Sav kasniji programski kod potreban za prikaz ispisanog obrasca bit će zapisan unutar ove funkcije.

Inicijalizacija osnovnih varijabli

Kreirajmo varijablu TabDoc, koji će sadržavati tablični dokument - to je upravo ispisani obrazac u koji ćemo prikazati popunjena područja izgleda.

TabDoc = novi TabularDocument;

Na varijablu Izgled Dobit ćemo izgled tiskanog obrasca koji smo izradili. Za to koristimo ugrađenu funkciju GetLayout(<ИмяМакета>).

Izgled = GetLayout("Izgled");

Sva područja izgleda pretvorit ćemo u varijable. Za to koristimo metodu izgleda GetArea(<ИмяОбласти>) .

HeaderArea = Layout.GetArea("Zaglavlje"); AreaData = Layout.GetArea("Podaci"); AreaFooter = Layout.GetArea("Podnožje");

Ispis zaglavlja ispisanog obrasca u dokument proračunske tablice

Sve potrebne varijable su inicijalizirane. Počnimo ispunjavati i prikazivati ​​područja izgleda u dokumentu proračunske tablice. Prije svega, ispunimo naslov obrasca za ispis; za ovo trebamo unijeti parametar Tekst naslova, koji smo izradili u izgledu, tekst koji nam je potreban. Za popunjavanje vrijednosti parametara, područje izgleda ima posebnu zbirku koja se zove - Mogućnosti. Od čega kroz "." možete dobiti bilo koji parametar. U tekstu zaglavlja prenijet ćemo tekst: “Tiskani obrazac”, kao i broj dokumenta.

Područje zaglavlja.Parametri.TitleText = "Ispiši obrazac"+VezaNaObjekt.Broj;

Preostale parametre zaglavlja ispunit ćemo na sličan način; iz detalja ćemo dobiti sve potrebne vrijednosti za njih Referenca objekta, koji sadrži poveznicu na dokument koji se ispisuje.

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 izradili, za to koristimo metodu Izlaz(<Область>) .

TabDoc.Output(HeaderArea);

Pisanje zahtjeva za tiskani hendikep

Počnimo ispunjavati i iscrtavati područje Podaci. Izrada tiskanog obrasca 1C također uključuje pisanje upita; Roba i cijene Nomenklature za trenutni datum koji ćemo koristiti Zahtjev. Jezik upita 1C 8 sličan je SQL-u, odnosno praktički kopira mogućnosti njegovog operatora SELECT, ali je cijeli upit napisan na ruskom jeziku. Stoga, ako ste barem nejasno upoznati sa SQL-om, lako ćete razumjeti jezik upita 1C 8.

U ovom tiskanom 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 njegove kompetentne upotrebe jedna je od glavnih vještina 1C programera. Upiti vam omogućuju da dobijete složene uzorke podataka koristeći manje resursa, a tekst upita puno je lakše razumjeti nego programski kod napisan bez upotrebe upita (ili uz njegovu minimalnu upotrebu). Osim toga, 1C 8 ima vrlo dobar dizajner upita koji vam omogućuje interaktivno sastavljanje upita iz potrebnih tablica.

Kreirajmo varijablu koja će sadržavati zahtjev.

Zahtjev = Novi zahtjev;

Tekst zahtjeva ćemo sastaviti pomoću konstruktora zahtjeva. Za početak napišimo:

Request.Text = "";

Postavite kursor miša između navodnika i pritisnite desnu tipku miša. U kontekstnom izborniku koji se otvori odaberite stavku Konstruktor zahtjeva, puno će nam pomoći u izradi 1C tiskovne forme. Nakon toga otvorit će se prozor dizajnera upita; sadrži mnogo kartica, ali za naš upit trebat će nam samo četiri: "Tablice i polja", "Relacije", "Uvjeti", "Spoji / aliasi".

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

Na lijevoj strani prozora dizajnera nalazimo stupac Baza podataka. Sadrži stablo svih metapodataka, pronađimo one koje trebamo. Da bismo to učinili, otvorimo temu Dokumentacija i pronađite dokument Prijem robe i usluga, otvorimo ga i pronađemo tablični dio Roba, povucite ga u stupac dizajnera upita Stolovi. Možete povlačiti na tri načina: povlačenjem, dvoklikom na tablicu ili odabirom i klikom na gumb “>”. Otvorimo temu Informacijski registri i nađi stol tamo PricesNomenclature.ShortcutLatest, također ga povucite u stupac Stolovi. Ove dvije tablice su dovoljne za naš upit.

Odaberimo polja koja su nam potrebna iz dobivenih tablica. Da biste to učinili, u stupcu Stolovi otvorimo stol i pronađite polja: Nomenklatura, iznos, cijena, količina i povucite ih u treći stupac konstruktora - Polja. Proširimo tablicu , hajdemo pronaći teren Cijena i također ga povucite na Polja.

Struktura tablica i polja našeg zahtjeva je spremna, sada prijeđimo na uvjete. Trebaju nam tablični podaci Roba nisu preuzete sa svih potvrda, već samo iz one koju tiskamo. Da bismo to učinili, nametnut ćemo uvjet na stolu Prijem RobeUslugeRobe. Idemo na karticu "Uvjeti" u dizajneru upita. U kolumni Polja nalaze se tablice koje smo ranije odabrali, za uvjet će nam trebati polje Veza sa stola Prijem robe i usluga Roba, Povucite ga u prozor Uvjeti.

U upitima 1C možete koristiti parametre; oni su potrebni za prijenos podataka u zahtjev. Na primjer, ako želimo ograničiti izbor dokumenata na određeni dokument, tada možemo upotrijebiti parametar za prosljeđivanje poveznice na ovaj dokument zahtjevu i koristiti ovaj parametar u uvjetu. Upravo to ćemo učiniti u našem zahtjevu.

Nakon prozora Uvjeti dodali smo polje Veza, sam dizajner upita će kreirati parametar s istim imenom i staviti ga iza znaka “=”. Po želji se ovaj parametar 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 to trebate zapamtiti. Kako prenijeti vrijednost parametru zahtjeva 1C, raspravljat ćemo u nastavku.

Budući da u zahtjevu ne koristimo punu tablicu cijena proizvoda, već virtualnu (isječak potonje u ovom slučaju), moramo postaviti uvjete za formiranje ove virtualne tablice, u našem slučaju to je datum presjeka i uvjet za vrstu cijene (cijene koje imaju strogo definiranu vrstu cijene je ona navedena u dokumentu primitka koji ispisujemo).

Da biste ispunili parametre virtualne tablice, idite na karticu Tablice i polja konstruktor upita, u stupcu Stolovi odaberite tablicu CijeneNomenklaturaRezanjeNajnovije i pritisnite tipku Mogućnosti virtualnog stola, koji se nalazi na vrhu. U prozoru koji se otvori, u polju Razdoblje trebate postaviti parametar na koji će se prebaciti datum na koji će se napraviti sniženje cijene. U našem slučaju to će biti trenutni datum (odnosno danas), pa ćemo parametar nazvati “&TrenutniDatum”. U polje uvjeta ćemo napisati uvjete za tip cijene, također ćemo ga proslijediti u parametar koji ćemo nazvati “&TypePrice”. Rezultirajući uvjet će izgledati ovako (gdje TypePrice- registarsko mjerenje Cijene artikala):

PriceType = &PriceType

Parametri virtualne tablice su ispunjeni, kliknite gumb u redu.

Sada kada smo ograničili izbor samo na dokument koji nam je potreban, stvorimo veze između tablica upita. Ako se to ne učini, tada cijene iz tablice PricesNomenclatureSliceLast neće biti povezane s artiklom iz računa. Idemo na karticu Veze dizajner upita. Stvorimo vezu preko polja Nomenklatura između naša dva stola. Da biste to učinili, pritisnite gumb Dodati, u polju stol 1 odaberite stol Prijem RobeUslugeRobe, a u polju Tablica 2 - CijeneNomenklaturaSliceZad. U uvjetima komunikacije odaberite polja Nomenklatura s oba stola.

Također treba napomenuti da u odabiru upita moramo dobiti sve retke iz dijela kartice Roba a cijene samo ako su dostupne na tekući datum za vrstu cijene dokumenta. Dakle, tablični podaci Roba su obvezni, ali podaci o raščlanjivanju cijena nisu dostupni. Stoga je u relacijama između ovih tablica potrebno koristiti tzv. LEFT JOIN, a lijeva (ili obavezna) tablica bit će Prijem RobeUslugeRobe, i desno (ili izborno) PriceNomenclatureSliceLast. Kako bi lijevo spajanje tablica upita radilo kao što sam gore opisao, morate potvrditi okvir svi nakon polja Stol 1.


Zahtjev je skoro gotov, još samo treba malo poraditi na terenskim aliasima. Idemo na knjižnu oznaku Unije/pseudonimi i postavite pseudonim za polje PricesNomenclature Slice Latest.Price. Nadimak će biti - Cijena Kao Danas, potrebno je kako bi se nazivi polja za izbor upita i nazivi parametara u izgledu ispisanog obrasca podudarali.

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

Zahtjev.Text = "Odaberite | Primanje robeServicesProducts.NomenClatura, | Primanje robeServicesProducts.amount, | Primanje robeServicesProducts.Price, | Primanje robeServicesProducts.Quantity, | PriceNomenClature Slices As PriceToday | GoodsServices.Goods AS Receipt ProductsServicesProducts |. LEFT CONNECTION RegisterInformation.PricesNomenclature.SliceLast (| &CurrentDate, PriceType = &PriceType) AS PricesNomenclatureSliceLast |

Izvršavanje zahtjeva

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

Pokrenimo upit da dobijemo uzorak s podacima koji su nam potrebni. Da biste to učinili, prvo upotrijebite metodu zahtjeva Trčanje(), a zatim metoda Odaberite ().

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

Popunjavanje tablice tiskanog obrasca

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

Dok Select.Next() Loop EndLoop;

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

Ukupni zbroj = 0; TotalQuantity = 0;

Unutar petlje ispunit ćemo područje Podaci podatke iz trenutnog elementa odabira u varijable TotalAmount I Ukupna količina dodati vrijednosti zbroja i količine te na kraju prikazati područje u dokumentu proračunske tablice koristeći nam već poznatu metodu Izlaz(). Budući da se nazivi polja našeg zahtjeva potpuno podudaraju s nazivima parametara područja Podaci, tada ćemo za popunjavanje koristiti ugrađenu proceduru FillPropertyValues(<Приемник>, <Источник>), koji kopira vrijednosti svojstava<Источника>na svojstva<Приемника>.

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

Ispis podnožja ispisanog obrasca u dokument proračunske tablice

Ostaje ispuniti i prikazati posljednje područje izgleda - Podrum. Već smo pripremili podatke za punjenje, punjenje i isplata se odvijaju po istoj shemi.

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

Tablični dokument je u potpunosti ispunjen, preostaje ga samo prikazati na ekranu kako bi korisnik mogao vidjeti ispisani obrazac i ispisati ga ako je potrebno. Ali u tipičnim konfiguracijama 1C 8, postupci posebnih modula odgovorni su za izlaz vanjskih tiskanih obrazaca. Dakle, dovoljno je vratiti se s funkcije Pečat() dovršen dokument proračunske tablice.

Vrati TabDoc;

U ovom trenutku je faza programiranja završena i izrada 1c tiskovne forme je gotovo gotova. Cijeli tekst funkcije Pečat() Neću ga dati ovdje, možete ga pogledati u datoteci za ispis, koju možete preuzeti na dnu članka.

Izrada tiskanog obrasca 1C. Mogućnosti automatske registracije

Pri povezivanju eksterne ispisne forme s bazom podataka sustav ne određuje automatski kojem je dokumentu ili priručniku namijenjena ispisna forma, već je morate ručno odabrati. A ako je druga osoba napisala tiskani obrazac, a vi imate samo zadatak povezati ga, tada izbor može postati dvosmislen. Kako bi se izbjegli takvi problemi, u svim vanjskim tiskanim obrascima potrebno je izraditi izgled s parametrima za autoregistraciju. Ako je kreiran i ispravno formatiran, sustav automatski određuje za koji je dokument ili priručnik namijenjen ispisani obrazac.

To se radi na sljedeći način:

  • U vanjskoj obradi izrađujemo novi izgled. Mi to zovemo "Settings_Auto-Registration" (važno je ne pogriješiti!).
  • U prvoj ćeliji izgleda pišemo Dokumentacija.(ili Imenici.) i naziv dokumenta s kojim trebate povezati ispisani obrazac.

Spajanje vanjske tiskovne forme na bazu

  • Pokrenite 1C 8 u načinu rada Društvo;
  • Idite na izbornik Usluga -> Dodatni izvještaji i obrade -> Dodatni eksterni tiskani obrasci;
  • Pritisnite gumb Dodati;
  • U prozoru koji se otvori kliknite na ikonu Zamijenite vanjsku datoteku za obradu;
  • Ako ste izradili parametre automatske registracije, pristajemo ih koristiti;
  • Ako niste izradili parametre automatske registracije, tada u tabličnom odjeljku Pribor za tiskarske ploče dodati traženi dokument ili referentnu knjigu;
  • pritisni gumb U REDU.

Nakon toga će u izborniku biti dostupan vanjski obrazac za ispis Pečat dokument Prijem robe i usluga. Stvaranje 1C tiskanog obrasca sada se može smatrati dovršenim.

Život ide dalje, zakonodavstvo se mijenja, programer izdaje ažuriranja konfiguracije i opet imamo izbor: instalirati ažuriranje sami ili ponovno pozvati programera da “instalira novo izdanje”...

Upoznajmo se s mehanizmom za promjenu tiskovnih formi bez promjene konfiguracije.


U praksi svakog računovođe koji koristi 1C, ikada je postojala potreba za izmjenom konfiguracije za sebe: neki su prilagodili točnost cijene ili iznosa na računu, neki su umetnuli logotip i prilagodili izgled računa. Sve bi bilo u redu, ali se jako puno takvih promjena nakupi tijekom vremena i kada dođe vrijeme za ažuriranje izdanja, javlja se dilema: ili izgubiti sve napravljene promjene, ili pozvati programera da prenese sve promjene u novo izdanje (od tečaj uz nadoplatu). Kako biti? Kako bi nekako pojednostavili ažuriranje konfiguracija, programeri su stvorili novi mehanizam: "Vanjska obrada, tiskani obrasci, obrada za ispunjavanje tabelarnih dijelova." Danas ćemo se osvrnuti samo na dio ovog mehanizma – tiskarske forme.


Svaki predmet najbolje se uči na primjeru. Postavimo si sljedeći zadatak: konfiguraciji dodamo mogućnost ispisa računa (dokument “Prodaja roba i usluga”) s logotipom naše tvrtke. Osim toga, potrebno je da u zaglavlju dokumenta budu natpisi "pružatelj" I "kupac" istaknuti su masnim slovima i na kraju, potrebno je da na dnu dokumenta postoji mjesto za potpis službe sigurnosti koja je odobrila pošiljku.


Uvedimo dva dodatna uvjeta:

  • Novi tiskani obrazac treba zamijeniti stari obrazac "Dostavnica"
  • Konfiguracija se ne može mijenjati jer želimo koristiti automatsko ažuriranje konfiguracije u budućnosti

Pa, koji je zadatak? Čini se previše kompliciranim? Pa, što je složeniji, to je zanimljiviji i to ga više želite riješiti. Onda na posao.


Pokrećemo našu bazu podataka u načinu rada konfiguratora. Otvorite konfiguraciju odabirom naredbe u glavnom izborniku "Konfiguracija > Otvori konfiguraciju". Ni pod kojim uvjetima nećemo mijenjati samu konfiguraciju. Koristit ćemo ga kao prototip. Ovdje ćemo obaviti glavni posao, ali uredit ćemo vanjsku obradu. Vanjsku obradu kreiramo naredbom u glavnom izborniku "Datoteka > Novo". Odabir vrste dokumenta "Vanjska obrada". Za prvu obradu postavimo ime "Brandirana faktura"


Važno! Naziv obrade ne smije sadržavati razmake, baš kao ni nazivi varijabli.


Sada učinimo malo "plagijat". Kopirajmo izgled "Dostavnica" iz dokumenta "Prodaja roba i usluga". Da bismo to učinili, pronaći ćemo ga u grani "Dokumentacija" stablo konfiguracije. Proširite ovu nit klikom na ikonu «+» i pronaći raspored koji nam je potreban "Dostavnica"(u temi je "Izgledi"). Kako biste kopirali ovaj objekt, trebate odabrati ovaj izgled u stablu i pokrenuti naredbu "Uredi > Kopiraj"(ista se radnja događa s kombinacijom CTRL+C). Sada idemo na obradu koju smo stvorili, odaberite oznaku u stablu "Izgledi" i u glavnom izborniku odaberite stavku - "Uredi > Zalijepi" (CTRL+V). Rezultat bi trebao izgledati kao na slici 1.


Sada dvaput kliknite da biste otvorili izgled.

Što je "izgled"

Recimo nekoliko riječi o namjeni izgleda.

Izgled- skladištenje "građevni blokovi", područja od kojih se poput opeka gradi tabularni dokument koji smo navikli zvati tiskanom formom. Područja su definirana horizontalnim i vertikalnim presjecima ili njihovim sjecištima. Naš izgled ima samo vodoravne dijelove: “Zaglavlje”, “Dobavljač”, “Kupac”, “Zaglavlje tablice”, “Red” (vidi sliku 2). Područje je skup ćelija. Kao iu MS Excelu, ćelije se mogu spajati, mijenjati boje teksta i pozadine, fontove i tako dalje. Sve postavke ćelije mogu se pregledati i promijeniti u prozoru svojstava ćelije. Prozor postavki možete otvoriti desnim klikom na ćeliju i odabirom stavke kontekstnog izbornika "Svojstva"(isti rezultat se postiže tipkovničkim prečacem Alt+Enter).


Ćelija može sadržavati jednu od tri vrste vrijednosti:

  1. tekst– vrijednost ove vrste bit će ispisana u istom obliku;
  2. parametar– ćelija ovog tipa sadrži naziv varijable čija se vrijednost ispisuje.
  3. uzorak– ćelije ove vrste kombinacija su prve i druge opcije. Ćelija može sadržavati tekst i varijable. Kako bi program mogao razlikovati tekst od varijable, varijable moraju biti u uglatim zagradama: "Danas je [datum]".

Važno! Uređivač tablice prikazuje vrijednosti ćelija druge i treće vrste u trokutastim zagradama. Na slici 2 nalazi se ćelija s tekstom "Kupac"- izgleda kao tekst, a desno od ćelije "Predstavljanje kupca"- parametar.

Zašto sve ovo pričam? Sada znate u kojim ćelijama možete lako promijeniti sadržaj, au kojima je nepoželjno bilo što mijenjati, jer ćete morati promijeniti algoritam ispisa.

Vratimo se sada našem zadatku. Napravili smo obradu, kopirali izgled i spremni smo ga modificirati kako nam odgovara. Prvo, pogledajmo ga pobliže.

Što je uključeno u izgled za ispis

Struktura izgleda svih dokumenata vrlo je slična. Nakon što smo pažljivo pregledali jedan dokument, možemo se pozabaviti ostalima. Prvi odjeljak "Titula". Kada se prikaže ovaj odjeljak, generira se zaglavlje dokumenta koje se sastoji od vrste, datuma i broja dokumenta. Nakon njega slijede odjeljci "Dobavljač" i "Kupac", u kojem će program prikazati podatke o dobavljaču, odnosno kupcu. Sljedeći je zanimljiviji dio "Dodatne informacije", koji programeri koriste za prikaz drugih informacija na dokumentu, na primjer, informacije o ugovoru s njegovim brojem i datumom. Posebnost ovog odjeljka je da se može prikazati više puta, a svaki put može sadržavati različite informacije. Što točno ispisati i kada je opisano u algoritmu ispisa.

Ovo dovršava zaglavlje dokumenta. Nakon zaglavlja obično slijedi tabularni dio. Zanimljivo je da izgled opisuje dvije opcije za prikaz tabelarnog dijela: "Zaglavlje tablice", "String" i "HeaderTablePlaces" I "StringPlace". Ovisno o tome je li vam stupac popunjen ili ne "mjesto" u dokumentu će se koristiti prva ili druga opcija za prikaz tabelarnog dijela dokumenta. Znatiželjni se čitatelj vjerojatno već zapitao: zašto u odjeljku ispisa zaglavlja "Cijena" I "Iznos" stavljaju u trokutaste zagrade kao da su varijable? Tako je - to su varijable u kojima će se, ovisno o postavkama dokumenta, prikazati natpis "Cijena", "Cijena sa PDV-om" ili "Cijena bez PDV-a" a slično i za iznos.

Pa, ispod u izgledu postoje odjeljci uz pomoć kojih se prikazuju rezultati dokumenta i potpisa.

Uređivanje izgleda

Bilo bi lijepo staviti logo iznad podataka o dobavljaču i kupcu. Predlažem da uredite područje izgleda "Titula". Potrebno je smanjiti veličinu ćelije koja sadrži sadržaj "Tekst naslova". Ova se ćelija sastoji od nekoliko spojenih ćelija. Veličinu mijenjamo na sljedeći način:

  1. Pažljivo kopirajmo sadržaj spojene ćelije "Tekst naslova"(da biste to učinili, trebate odabrati ćeliju i koristiti naredbu “Uredi > Kopiraj” ili tipkovnički prečac CTRL+C)
  2. Nakon odabira ove ćelije odaberite stavku u glavnom izborniku "Tablica - spoji", što će dovesti do suprotnog učinka - spojena ćelija će se podijeliti na mnogo originalnih ćelija
  3. Odaberimo sada manji broj ćelija - umjesto ćelije 2 stupca, započet ćemo spajanje od stupca 6, završavajući u stupcu 32 - i ponovo kliknimo na gumb "Sjediniti"
  4. Tim "Uredi > Zalijepi" (CTRL+V) umetnite sadržaj prethodne spojene ćelije u novu spojenu ćeliju
  5. Jednostavno izbrišemo slobodne ćelije u stupcima 2 – 5 (selektiramo ih i pritisnemo tipku Delete)

Sada možete umetnuti sliku s logotipom u slobodni prostor. Da biste to učinili, odaberite stavku u izborniku “Tablica > Slike > Slika...”. Na disku pronađite datoteku s našim logom i kliknite “ u redu" Sada premjestimo sliku na slobodni prostor. Rezultat bi trebao izgledati kao na slici 3.


Sada označimo vrijednosti u ćelijama podebljanim slovima "Dobavljač" I "Kupac"(slika 4). Da biste to učinili, pronađite parametar u svojstvima ćelije "Font" i postavite stil na podebljano.



I na kraju, ostaje još dodati potpis zaštitarske službe. Ovu informaciju objavit ćemo u odjeljku "Potpisi". Da biste dobili prostor za potpise morate proširiti odjeljak. Odaberite liniju 37, kliknite je desnom tipkom miša i odaberite "Proširiti", i tako dva puta. U jednom od dodanih redaka stavit ćemo mjesto za potpis zaštitarske službe. Kao rezultat, sve bi trebalo izgledati kao na slici 5.



Važno! U tipičnoj konfiguraciji koriste se dva jezika: ruski i ukrajinski. Izgled pohranjuje prikaz teksta na oba jezika (dizajn ćelije je opći). Da biste unijeli ukrajinsku verziju natpisa koji smo dodali, morate ići na svojstva ćelije i na polje "Tekst" pritisni gumb "traži". Otvorit će se prozor za unos prikaza teksta na različitim jezicima (slika 6).

Kako osigurati ispis

Dakle, izgled je spreman. Sada je vrijeme za rad na algoritmu za ispis.

Kako bismo bezbolno integrirali ovaj izgled u konfiguraciju i koristili ga, obrada koju smo izradili mora zadovoljiti sljedeće uvjete:

  1. Morate izraditi rekvizite u obradi "Veza objekta" s tipom "Bilo koji link"
  2. Morate kreirati proceduru u modulu za obradu "Ispis() izvoz" bez parametara i obavezno navedite ključnu riječ " Izvoz"

Prva točka je potrebna kako bi algoritam za ispis znao odakle dobiti podatke za ispis, a druga je sam algoritam za ispis. Ispunimo ove uvjete.

Na panelu prozora odaberite prozor za uređivanje naše obrade (na slici 7). Otvorit će se prozor sa stablom objekata za našu obradu. Odabir grane "Rekviziti" i pritisnite tipku "Dodati",. Otvorit će se prozor svojstava atributa. Upišimo ime - "Veza objekta" i označite vrstu "Bilo koji link". Sada možemo prijeći na tekst modula za ispis. Nećemo ga pisati ispočetka; umjesto toga, kopirat ćemo ga iz dokumenta "Prodaja roba i usluga".



Da biste to učinili, pronađite u konfiguracijskom stablu među dokumentima "Prodaja roba i usluga", desnom tipkom miša kliknite na njega i odaberite "Otvori objektni modul"(vidi sliku 8).



Ovo će otvoriti modul dokumenta. Trebamo prvu funkciju "Ispiši dokument". Njegov tekst mora biti označen i kopiran. Vrlo je zgodno istaknuti tekst funkcije kada je sažeta, ali također morate istaknuti red ispod nje, inače riskirate kopiranje samo naslova.

Vidite sliku 9, označili smo naslov i liniju ispod njega. Nakon toga kopirajte ga u međuspremnik. Glavni izbornik "Uredi > Kopiraj" (ili CTRL+C).



Zapamtili smo tekst u međuspremniku, a sada idemo ponovno na našu obradu "Brandirana faktura". Kliknite na gumb "Akcije > Otvori modul objekta"(slika 10).



Zalijepite kopirani tekst: "Uredi > Zalijepi" (ili CTRL+V).

Sada je potrebno malo urediti kopirani tekst, jer je napisan za ispis dokumenta iz samog dokumenta, a mi ga prikupljamo iz vanjske obrade. Da biste to učinili potrebno vam je:

  1. Promijenite naziv funkcije u "Ispis"
  2. Zamijeniti "Ovaj objekt" na "Veza objekta"
  3. Zamijeniti "Ovaj objekt" na "Veza objekta"
  4. Zamijeniti "Bankovni račun organizacije" na “Veza na bankovni račun Object.Organization”
  5. Zamijeniti "Proizvodi. Sažetak" na "LinkToObject.Products.Total"

Za ove radnje možete koristiti stavku glavnog izbornika "Uredi > Zamijeni".

Nakon toga morate provjeriti sintaksu. Za to postoji čarobna kombinacija: CTRL+F7. Kao rezultat, trebala bi se pojaviti sljedeća poruka: "Nisu pronađene sintaktičke pogreške!"

E, ovime smo završili sav prljavi posao. Sada možemo, na primjer, spremiti rezultate našeg rada u datoteku "Brandirana faktura.epf". Da biste to učinili, morate aktivirati prozor za ovu obradu i spremiti ga pomoću glavnog izbornika programa "Datoteka > Spremi kao...". Obrada naziva datoteke – "Brandirana faktura.epf"(bit će ponuđeno prema zadanim postavkama). Možete ga privremeno spremiti na svoju radnu površinu kako biste ga kasnije mogli brže pronaći.

Važno! Kao što ste vidjeli, nismo napravili nikakve promjene unutar naše konfiguracije. Za sve radnje opisane gore, ne morate ga čak ni ukloniti iz podrške (to jest, omogućiti mogućnost promjene).

Povezivanje vanjske obrade s konfiguracijom

Sada možemo povezati obradu s našom fakturom. Da biste to učinili, pokrenite u načinu rada. Idite na izbornik "Servis", gdje postoje tri točke vezane uz mehanizam “Vanjska obrada, tiskanje obrazaca, obrada za popunjavanje tabelarnih dijelova”. U našem slučaju, trebamo samo predmet "Vanjske tiskarske forme"(vidi sliku 11).



Ovo će otvoriti imenik "Vanjska obrada", s izborom po vrsti "tiskani obrasci". Pohranit će popis svih vanjskih tiskanih obrazaca, s naznakom za koje dokumente su iu kojim slučajevima ih je potrebno pokazati.



Važno! Sama obrada će biti pohranjena u bazi zajedno s ostalim podacima, odnosno nakon spremanja obrade unutar baze neće nam trebati eksterna datoteka.

Moramo stvoriti novi element u imeniku. Klik Umetnuti. Sada pogledajmo sadržaj elementa. U naziv uključujemo smisleni kratki opis suštine ovog oblika, npr. "Faktura tvrtke". Kao i svaki drugi imenik, i on ima šifru. Ostavimo to kao zadano. Atribut tipa popunjen je prema zadanim postavkama i ne može se uređivati ​​– "Ispiši obrazac". I posljednji element zaglavlja je komentar. Ovdje, kao i obično, više detalja o namjeni tiskovne forme. Osim zaglavlja, elementi ovog imenika imaju dvije knjižne oznake. Drugi sadrži informacije o ograničavanju prava pristupa ovoj obradi. Ova tema je izvan dosega ovog članka (o ovoj i drugim postavkama prava pristupa bez izmjene konfiguracije govorit ćemo u jednom od nadolazećih brojeva).

Pogledajmo pobliže prvu karticu.

Kartica sadrži četiri stupca. Prikaz predmeta– vrstu dokumenta za koji želimo koristiti našu tiskarsku formu,

Izbor– uvjet pod kojim bi ovaj tiskani obrazac trebao biti dostupan. Primjerice, redizajnirali smo tiskani oblik računa i preveli ga na engleski jezik. I mi želimo za klijente iz mape "europski" umjesto standardnog tiskanog obrasca "Prodajna faktura" Tiskan je novi obrazac na engleskom jeziku. Da biste to učinili, možete koristiti stupac "Izbor". Primjer takvog odabira prikazan je na slici 13.



Ali u našem zadatku nisu potrebne selekcije.

Datoteka obrasca za ispis– označava datoteku iz koje treba preuzeti izgled i postupak ispisa. U ovoj ćeliji trebate odabrati datoteku koju smo spremili na radnu površinu.

Zamjenjiva tiskarska ploča– ako želimo da tiskani obrazac koji smo izradili zamijeni jedan od standardnih za ovaj dokument, tada moramo naznačiti koji treba zamijeniti. Ako nemate što odabrati, pojavit će se dodatni ispisani obrazac.

U našem slučaju, moramo "Brandirana faktura" je ispisan umjesto uobičajenog računa. Da biste to učinili, odaberite u ovom polju "Prodajna faktura".

Sada spremimo ovaj element. I otvori bilo koju fakturu.

Trebao bi izgledati kao što je prikazano na slici 14.



Pa, ovime završavamo zadatak koji smo si postavili na početku članka. Vjerujemo da smo uspjeli ilustrirati mogućnosti koje korištenje vanjskog obradnog mehanizma otvara korisniku.

Da biste učvrstili svoje vještine, možete pokušati samostalno dodati konfiguraciji dodatni ispisani obrazac „Na skladište” za dokument „Primitak robe i usluga”, koji bi ponovio uobičajeni račun, ali bez cijena i iznosa, a također bi sadrže polja za unos prihvaćene količine.

Razmotrimo pisanje najjednostavnijeg tiskanog oblika 1s 8.1 - 8.2 koristeći primjer konfiguracije Računovodstvo poduzeća 2.0. Recimo da trebate napisati vanjski tiskani obrazac za dokument: prikazati osnovne podatke dokumenta, kao i iz tabelarnog dijela Roba: nomenklatura, cijena, količina i iznos.

Rezultirajući primjer možete preuzeti s .

U konfiguratoru 1C poduzeća 8 stvoriti vanjsku obradu ( Datoteka->Novo->Vanjska obrada), postavite naziv, kreirajte potrebne podatke za vanjski tiskani obrazac Referenca objekta s tipom DocumentLink Prodaja roba i usluga.

Izrada izgleda tiskanog obrasca

Dodaj novi raspored, ostavite vrstu izgleda dokument proračunske tablice. Na rasporedu stvaramo tri područja: Zaglavlje, podaci I Podrum. To možete učiniti odabirom potrebnog broja redaka i klikom na izbornik Tablica->Imena->Dodijeli naziv (Ctrl+Shift+N).

Nakon toga počinjemo postavljati tekst i parametre u područja. Stavićemo to u zaglavlje naziv tiskanog obrasca, broj dokumenta I organizacija, a također nacrtajte granice zaglavlja tablice i napišite nazive stupaca. Prilikom kreiranja parametra u svojstvima ćelije, na kartici Izgled trebate postaviti svojstvo Punjenje u smislu Parametar.

U području Podaci kreirajmo parametre za prikaz redaka u tabličnom dijelu( Nomenklatura, cijena itd.), i na području Podrum za ukupne iznose po količini i iznosu.

Programiranje

Idemo na objektni modul ispisne forme Akcije->Otvori objektni modul.

Kreirajmo ondje funkciju izvoza koja je obavezna za tiskane obrasce. Pečat().

Ispis funkcije () Izvoz EndFunction

U funkciji za koju ćemo kreirati varijablu dokument proračunske tablice, u koji će biti ispisan ispisani obrazac, dobivamo raspored I područja rasporeda.

TabDoc = novi TabularDocument; Izgled = GetLayout("Izgled" ); HeaderArea = Layout.GetArea("Header" ); AreaData = Layout.GetArea("Podaci" ); AreaFooter = Layout.GetArea("Podnožje" );

Ispunimo parametre šeširi i dovesti do dokument proračunske tablice.

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

Da biste dobili redove tablice Roba koristimo zahtjev.

Zahtjev = novi Zahtjev; Request.SetParameter("Link", ObjectLink); Query.Text = "SELECT | Nomenklatura prodaje roba i usluga, | Prodaja roba i usluga Roba,. | Prodaja roba i usluga Roba,. | Prodaja roba i usluga Količina|OD | Dokument. Prodaja robe i usluga Roba KAKO Prodaja robe i usluga Roba|GDJE | Prodaja robe i usluga Roba Link = &Link";

Pojedinosti prosljeđujemo parametru zahtjeva Referenca objekta, naznačiti u stanju GDJE, da su nam potrebni podaci samo iz dokumenta iz kojeg izvodimo tiskani obrazac. Da bismo dobili ogledni upit, prvo ga izvršavamo, a zatim odabiremo retke.

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

Zatim u petlji ispunjavamo parametre područja Podaci za svaki redak uzorka dokumenta i prikazati ih u dokument proračunske tablice. Također izračunavamo ukupne vrijednosti u petlji količinama I iznose. Nećemo popunjavati svaki parametar zasebno, već ćemo se pridržavati procedure Ispunite PropertyValues((<Приемник>, <Источник>) iz globalni kontekst, kopira vrijednosti svojstava <Источника> na svojstva <Приемника> . Spajanje se vrši prema imenima svojstava. Više o ovome možete pročitati u pomoćnik za sintaksu 1C Enterprise 8.

Ukupni zbroj = 0; TotalQuantity = 0; While Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection); TotalSum = TotalSum + Sample.Sum; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(AreaData); Kraj ciklusa ;

Ispunite i prikažite područje Podrum.

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

Vraćanje dovršenog tabličnog dokumenta iz funkcije Pečat().

povratak TabDoc;

Ako koristite jednu od standardnih konfiguracija, tada nakon vraćanja dokumenta proračunske tablice 1C prikazat će ispisani obrazac na ekranu. Također možete koristiti metodu proračunske tablice za izlaz. Pokazati().

5. Povezivanje ispisanog obrasca s dokumentom

U standardne konfiguracije 1C 8 Postoji imenik za registraciju vanjskih tiskanih obrazaca Vanjska obrada. Za povezivanje idite na izbornik u poslovnom načinu rada Usluga->Dodatna izvješća i obrade->Dodatni eksterni tiskani obrasci.

Dodajte novi element imenika, učitajte ispisani obrazac s diska i odaberite vrstu dokumenta.

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

Auto-registracija tiskanog obrasca

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

Sada, kada povezujemo obrazac za ispis, od nas će se tražiti da koristimo parametri automatske registracije.

Kao što je poznato - bez papirića ti... nijedan ozbiljan posao ne može bez. A kada kažemo da 1C ima neku vrstu elektroničkih dokumenata, odmah se postavlja pitanje kako ih ispisati u papirnatom obliku.

Proces ispisa elektroničkog dokumenta 1C naziva se ispisna forma 1C.

Svaki dokument može imati nekoliko tiskanih obrazaca 1C. Na primjer, dokument Prodaja robe i usluga (tj. prodaja) ispisuje se u 1C tiskanim obrascima: TORG-12, Račun, Otpremnica, Potvrda o obavljenim uslugama i tako dalje.

Bit 1C tiskanog obrasca je predložak (kao što je Excel dokument) u kojem su navedene varijable. Tijekom procesa ispisa, tekst iz elektroničkog dokumenta zamjenjuje se varijablama. Predložak je obično pohranjen u konfiguraciji.

Problem s promjenom standardnog 1C tiskanog obrasca je u tome što obično nije preporučljivo mijenjati standardnu ​​konfiguraciju, inače će biti teže ažurirati. Stoga su se pojavile različite metode za korištenje vanjskih 1C obrazaca za ispis i počele su ponovno izmišljati kotač.

Vanjska 1C forma za ispis je predložak za ispis koji se pohranjuje nekako odvojeno od same konfiguracije.

Međutim, ovo je sve teorija. Kako izraditi vlastiti tiskani obrazac? Ili još bolje, kako promijeniti postojeći?

Kako se ispisuje 1C dokument

Da biste ispisali bilo koji 1C dokument (koji se može ispisati), morate kliknuti gumb Ispis u dokumentu. 1C će ponuditi odabir 1C tiskanog obrasca za ovaj dokument s popisa.

Lijevo od gumba Ispis obično se nalazi gumb za brzi pristup zadnjem odabranom 1C obrascu za ispis.

Rezultat ispisa izgleda ovako. Da biste ga ispisali na pisač, trebate postaviti kursor u 1C obrazac za ispis, pritisnuti Ctrl+P ili gumb pisača na ploči s gumbima ili u izborniku Datoteka/Ispis.

Postavke ispisa (margine, orijentacija lista, itd.) nalaze se u izborniku File/Page Setup. Također možete konfigurirati korisničke postavke za izravan ispis na pisač.

Odakle ova tiskovna forma?

Gdje se nalazi tiskani obrazac 1C?

Idemo na konfigurator. Pronađite traženi dokument u konfiguracijskom prozoru. Proširimo njegovu granu Izgledi. Oni se pretvaraju u 1C tiskarsku formu kada se ispisuju.

Međutim, to neće biti dovoljno - ponuđeno nam je da odaberemo mnogo više opcija prilikom ispisa. Činjenica je da su mnogi izgledi tiskanih obrazaca 1C skriveni na drugom mjestu.

Vratimo se na vrh konfiguracijskog prozora 1C. Otvorimo granu General, a zatim granu General Layouts. Ovdje se nalazi većina rasporeda. To se posebno odnosi na državno regulirane tiskane obrasce 1C - TORG 12, Račun itd.

Usput, nije teško primijetiti da ćete vidjeti nekoliko izgleda TORG12 ili fakture. Zašto? Lako je to objasniti. Zakoni i zahtjevi se povremeno mijenjaju. Ali ne možemo samo promijeniti isti izgled - i ako moramo ispisati dokument od datuma koji je raniji od datuma promjene. Stoga se izrađuje nekoliko izgleda i, ovisno o datumu dokumenta, koristi se ispravan.

Ali to nije sve! Postoje i vanjski rasporedi. Gdje su pohranjeni?

Vratimo se na način rada 1C Enterprise. Kroz korisnički izbornik s administratorskim pravima Operacije/Imenici odaberite Imenik vanjske obrade.

Linije ovog imenika, koje imaju obrazac Tiskovni obrazac, dodaju mogućnosti ispisa dokumenta navedenog u tablici Vlasništvo tiskanog obrasca (na slici je to Prodaja roba i usluga).

Da bi ovo radilo, morate napraviti vanjsku obradu koja ima Print() proceduru u svom objektnom modulu s oznakom Export, koja organizira proces ispisa.
Ali idemo ispred sebe. Pogledajmo prvo kako je organiziran izgled 1C tiskarske forme.

Izgled tiskanog obrasca 1C

Izgled 1C tiskarske forme izgleda ovako.

Kao što vidite, podijeljen je u blokove. Blokovi mogu biti vodoravni (naziv lijevo) ili okomiti (naziv na vrhu).

Sam izgled, takav kakav jest, nije ispisan. Tiskaju se pojedinačni blokovi. Programer u postupku obrade ispisa zadaje redoslijed blokova i broj ponavljanja svakog bloka. Rezultat je ispisani obrazac.

Kako biste dodijelili područje, odaberite nekoliko redaka (ili nekoliko stupaca) i iz izbornika odaberite Tablica/Imena/Dodijeli naziv. Za uklanjanje postoji i naredba Remove name.

Ime je potrebno kako bi se području moglo pristupiti iz programskog koda. Naziv se može dodijeliti ne samo redovima ili stupcima, već i jednostavno nekoliko ćelija. Da biste to učinili, odaberite ćelije i odaberite isti izbornik.

Međutim, prema zadanim postavkama prilagođeni nazivi ćelija nisu prikazani. Da biste ih vidjeli, odaberite stavku izbornika Tablica/Imena/Prikaz imenovanih ćelija.

Dakle, danas smo naučili da se 1C tiskani obrazac formira pomoću izgleda. Raspored se sastoji od blokova – pametno nazvanih područja.

Tipični (često korišteni) blokovi za tiskarske ploče:

  • Zaglavlje – prikazuje se naslov dokumenta
  • Redak – prikazuje se jedan redak tablice, ovaj blok se ponavlja onoliko puta koliko redaka treba ispisati
  • Podnožje – prikazuje se kraj dokumenta.

Sada se moramo pozabaviti