Publikācijas. Publikācijas Drukājamas veidlapas 1s

Katru 1C elektronisko dokumentu var izdrukāt uz papīra, un tas tiek darīts, izmantojot 1C drukas veidlapas. Drukājamie materiāli sastāv no nosauktiem blokiem, piemēram, galvene, rinda un kājene.

Kā izveidot drukātu formu, tas jau ir skaidrs. Kā to sadalīt blokos - arī. Bet kā drukāšana darbojas 1C šajā visā? Un jo īpaši – kā attēlot ne tikai maketa tekstu, bet elektroniskā dokumenta saturu?

Tas ir tas, ko mēs šobrīd skatāmies.

Izkārtojuma sagatavošana drukāšanai 1C

Lai sāktu, jums būs jāsāk ar vienkāršāko un jāaizpilda izkārtojums drukāšanai 1C formātā ar statisku tekstu un tabulas līnijām. Galu galā kādam ir jādara šis garlaicīgais darbs?

Mēs ievietojam statisku tekstu drukāšanai 1C

Sākumā būtu jauki ievietot mūsu drukājamā nosaukuma nosaukumu. Atlasiet vairākas šūnas pēc kārtas un atlasiet izvēlnes vienumu Table/Merge. Rezultātā vairākas šūnas tiks apvienotas vienā.

Tagad šajā šūnā mēs ierakstīsim dokumenta nosaukumu. Tā kā šis ir virsraksts, mēs, iespējams, vēlamies to padarīt treknrakstā lielu fontu (skatiet attēlu) un ievietot to vidū.

Izkārtojuma dizainu ievietojam drukāšanai 1C

Mums ir nosaukts apgabals String. Tajā, drukājot 1C, tiks parādīta katra Preču dokumentu tabulas rinda. Droši vien mēs vēlētos, lai 1C drukātā tabula izskatās pēc galda? Tad jums ir jānovelk robežas.

Lai to izdarītu, atlasiet rindas šūnas un panelī atlasiet pogu Robežas. Mēs izvēlējāmies iespēju Robeža visur – tā zīmē šūnu robežas no visām pusēm uzreiz. Ja jums jāierobežo sevi tikai ar vienu pusi, tad jums ir jāizvēlas atbilstošā poga.

Lai līnijas, ko izmanto apmaļu zīmēšanai, atšķirtos no standarta, atlasiet šūnas un ar peles labo pogu noklikšķiniet. Parādītajā izvēlnē atlasiet Rekvizīti.

Pazīstamajā rekvizītu logā varat izvēlēties līniju veidu un krāsu apmaļu zīmēšanai.

Izvietojam attēlus un citus vizulis drukāšanai 1C

Daudzi cilvēki jautā - kā uz 1C drukātās veidlapas ievietot kaut ko citu, izņemot tekstu? Piemēram, bilde.

Un tas ir ļoti vienkārši. Turklāt uzreiz teikšu, ka svītrkods (ja vajag izdrukāt) arī ir attēls.

Novietojiet kursoru uz jebkuras šūnas. Atlasiet izvēlni Tabula/attēli. Šī ir visa apakšizvēlne, kas ļauj 1C izkārtojumā ievietot ne tikai attēlu vai zīmēšanas objektu, bet arī objektus no ārpuses 1C, kas reģistrēti datorā, izmantojot COM klasi (piemēram, nolaižamo sarakstu). kontrole).

Tiem, kurus interesē sarežģītu dizainu izveide 1C drukāšanai uz izkārtojuma, skatiet arī nolaižamo izvēlni Tabulas / Drukas iestatījumi. Šeit varat iestatīt apgabala atkārtošanos katrā lappusē, galvenes un kājenes un drukas apgabalu.

Kā ievietot elektroniskā dokumenta saturu, drukājot 1C

Lai ievietotu izkārtojumā, drukājot 1C formātā elektroniskā dokumenta saturu, tiek izmantota aizstāšanas metode. Tas sastāv no divām daļām.

Pirmā daļa. Izkārtojumā ir jāievieto parametri, ar kuriem jūs aizstāsit vērtības, drukājot 1C.

Novietojiet kursoru šūnā. Ievadiet parametra nosaukumu (vārdu sakot, bez atstarpēm un citiem atkritumiem). Tālāk ievadīsim šīs šūnas rekvizītus (kā minēts iepriekš) un atlasiet Filling = Parametrs.

Otrā daļa. Vērtību aizstāšana tiek veikta nevis tad, kad programmējat konfiguratorā, bet gan dokumenta drukāšanas laikā 1C. Attiecīgi, izmantojot programmēšanu, jums jānorāda 1C, kas jāaizstāj šajā parametrā.

Tas tiek darīts šādi:

Izkārtojums = GetLayout("LayoutName");
regionWhat = Layout.GetArea("ApgabalaNosaukums");
regionSome.Parameters.ParameterName = "Ar ko es vēlos aizstāt no datu bāzes";

Kā redzat, mēs vienkārši iegūstam pašu izkārtojumu pēc nosaukuma, pēc tam vienu no tā apgabaliem un pēc tam vienkārši atsaucamies uz parametru pēc tā nosaukuma.

Protams, vērtība var būt virkne vai skaitlis, vai dokumentā norādītā vērtība.

Kā izdrukāt izkārtojumu 1C

Kad izkārtojums ir gatavs, ir pienācis laiks domāt par drukāšanas procesa programmēšanu 1C.

Drukāšana 1C formātā parasti tiek ieprogrammēta ar vairākām procedūrām, kas atrodas dokumenta objekta modulī. .

Procedūra Print() parasti tiek atzīmēta kā Eksportēt, un tā kontrolē dokumenta drukāšanu 1C formātā, izmantojot parametru LayoutName, kas pārraida to, ko vēlaties drukāt.

Katram izkārtojuma variantam tiek veikta procedūra PrintLayoutName(), kas nosaka konkrēta maketa drukāšanu. Šeit mēs to tagad redzēsim.

Drukāšanas programmēšana 1C sastāv no trim punktiem.

Pirms elektroniska dokumenta drukāšanas 1C, mums ir jāpieprasa tā dati no datu bāzes. Acīmredzot, lai izdrukātu dokumentu, lietotājs parasti tajā "ievada" (atver tā formu) un nospiež pogu Drukāt. Tāpēc drukāšanas procedūrā varētu vienkārši atsaukties uz dokumenta detaļām (kas tas ir - apspriests šeit) ar nosaukumu.

Tomēr tas tiek uzskatīts par neglītu, ne universālu utt. Piemēram, pēkšņi tiks izmantota dokumentu masveida drukāšanas apstrāde (cik bieži to izmanto?). Tāpēc drukāšanas procedūrā ir ierasts veikt datu bāzes vaicājumu, kas pieprasa dokumenta datus. Piemēram, šādi:

Pieprasījums = jauns pieprasījums;
Query.Text = "ATLASĪT
Datums,
numurs,
Organizācija
NO
Dokuments.Dokumenta nosaukums
KUR
Saite = &DocumentToPrint";
Query.SetParameter("DocumentToPrint", Saite);
Atlase = Query.Execute().Select();
Atlase.Next();

Punkts 2. Izkārtojuma aizpildīšana drukāšanai 1C

Drukāšana 1C formātā tiek veikta izklājlapas dokumentā. Šis ir īpašs 1C objekts, kas ļauj ekrānā parādīt un izdrukāt tabulas, piemēram, Excel. Protams, pārmaiņus tiek drukāts izkārtojums vai drīzāk tā apgabali.

Attiecīgi mums vispirms jāiegūst izklājlapas dokuments, pēc tam izkārtojums. Laukumus drukājam pa vienam, aizpildot izkārtojuma parametrus.

TabDoc = New SpreadsheetDocument;
Izkārtojums = GetLayout("LayoutName"); //vai GetGeneralLayout("")

regionChat = izkārtojums GetArea("Cepure");
TabDoc.Output(regionHat);

regionString = Layout.GetRegion("String");
Atlasot dokumenta rindas. Nākamā() cilpa
regionString.Parameters.Item = Selection ofDocumentLines.Item;
TabDoc.Output(regString);
EndCycle;

regionHap = Layout.GetArea("Pagrabs");
TabDoc.Output(RegionBasement);

2. punkts. Dokumenta drukāšana 1C

Pēdējais vienums ir saņemtā dokumenta izvade uz ekrānu vai printeri. Tipiskās konfigurācijās šim nolūkam tiek izmantota standarta procedūra (katrai var būt sava), piemēram, UniversalMechanisms.PrintDocument().

Citos gadījumos varat vienkārši izmantot vispārīgās SpreadDocument objekta funkcijas: TabDoc.Show() vai TabDoc.Print() .

Ārējos drukājamos materiālus parastai lietojumprogrammai (konfigurācijai Enterprise Accounting 2.0, Payroll and Human Resources 2.5, Retail Management 10.3 utt.) ir salīdzinoši viegli izveidot, salīdzinot ar ārējiem drukājamiem materiāliem pārvaldītai lietojumprogrammai.

Kāpēc izveidot ārējus izdrukas

Ārējās drukājamās ierīces priekšrocība salīdzinājumā ar parasto drukājamo ir tāda, ka tas ļauj izvairīties no informācijas bāzes konfigurācijas maiņas. Tas nozīmē, ka turpmāko konfigurācijas atjauninājumu process nebūs sarežģīts. Turklāt ārējās drukas veidlapas kopā ar ārējo apstrādi ir vienīgā iespēja paplašināt 1C konfigurāciju pamata versiju funkcionalitāti, kuras vispār nevar mainīt.

Un pēdējā lieta: ārējās drukas formas ir vieglāk pavairot, jo. tie ir atsevišķs fails, ko var ātri savienot ar informācijas bāzi.

Kā izveidot ārēju drukājamu

Apsveriet ārējās drukas veidlapas 1C izveides procesu pa soļiem:

  1. Mēs veidojam ārējo apstrādi. Lai to izdarītu, konfiguratorā atlasiet izvēlnes vienumu Fails — jauns... Un atvērtajā dialoglodziņā - Ārējā apstrāde.
  2. Izveidojiet ārējās apstrādes atribūtu ar nosaukumu ReferenceToObject. Atribūta veids ir saite uz direktoriju vai dokumentu, kuram tiek veidota ārēja drukājama versija. Viena un tā pati forma var attiekties uz vairākiem objektu tipiem, šajā gadījumā atribūta datu tips ReferenceToObject jābūt saliktam.
  3. Objekta modulī mēs izveidojam eksportēšanas funkciju ar nosaukumu Ronis, kam jāatgriež izdrukāts izklājlapas dokuments.

Bieži gadās, ka jums ir nedaudz jāpielāgo esošā drukājamā izkārtojums un jāpadara tas ārējs. Piemēram, izkārtojumam pievienojiet organizācijas zīmogu un vadītāja parakstu.

Ārējās drukas plāksnes izveidošana uz standarta bāzes ar nelielām izmaiņām

Apsveriet šo procedūru, izmantojot piemēru par dokumenta universālā pārsūtīšanas dokumenta ārējās drukas formas izveidošanu Preču un pakalpojumu tirdzniecība 1C: Grāmatvedība. No standarta drukātās veidlapas tā atšķirsies ar organizācijas zīmoga klātbūtni.

  1. Ārējās apstrādes izveide ar rekvizītiem Objekta atsauce, datu tips - DocumentReference.Realization of PrecesPakalpojumi.
  2. Mēs atrodam standarta UPD izkārtojumu drukājamu (tas ir vispārīgajos izkārtojumos) un kopējam (velciet un nometiet) ārējā apstrādes logā. Citu drukas formu maketus var atrast pašos dokumentos vai uzziņu grāmatās.
  3. Veicam nepieciešamās izmaiņas drukātās veidlapas kopētajā izkārtojumā.
  4. Mēs atrodam funkciju, kas ir atbildīga par drukātās veidlapas veidošanu. Šai funkcijai ir jāatgriež ģenerētais izklājlapas dokuments. Kopējiet tā saturu uz eksportēšanas funkciju Ronis()ārējā apstrādes objekta modulī.
    Mūsu gadījumā šī ir funkcija PrintUniversal TransferDocument() Export no dokumenta objekta moduļa Preču un pakalpojumu realizācija.
    Ja izkārtojuma izmaiņas ir bijušas būtiskas (tika mainīti reģioni un/vai parametri), ir jāveic attiecīgi drukāšanas funkcijas pielāgojumi.
  5. Mēs cenšamies saglabāt ārējo apstrādi. Šajā gadījumā, visticamāk, parādīsies kļūdu ziņojumi, kas saistīti ar dažu procedūru un funkciju trūkumu, ko izsauc drukas funkcija. Šīs funkcijas un procedūras ir jāatrod avota dokumentā un arī jāiekopē ārējā apstrādes objekta modulī. Vai arī izlabojiet saiti, ja sākotnējā funkcija vai procedūra ir eksportēšanas funkcija.
  6. (nav nepieciešams). Lai pārbaudītu ārējo drukas formu, ir ērti izgatavot tās formu, uz kuras novietot rekvizītus ReferenceToObject. Poga Skrien vajadzētu izsaukt procedūru Ronis() no objekta moduļa. Lai to izdarītu, pogas noklikšķināšanas notikumam tiek dota procedūra:

Tas tiek veikts saskaņā ar izstrādātāju lietojumprogrammā iebūvēto drukātās veidlapas standarta izkārtojumu (to sauc par "piegādāto" izkārtojumu).

Ja nepieciešams, varat mainīt standarta izkārtojumu un turpmāk izdrukāt dokumentu, pamatojoties uz savu personīgo ("pielāgoto") izkārtojumu. Lai rediģētu drukātās veidlapas izkārtojumu, tiek nodrošināts mehānisms augšupielādei vietējā datorā. Izkārtojums tiek rediģēts lietojumprogrammas 1C:Enterprise vietējā versijā (jo īpaši varat izmantot bezmaksas lietojumprogrammu 1C:Enterprise — darbs ar failiem).


Lai mainītu drukājamo izkārtojumu, veiciet tālāk norādītās darbības.




Izdrukājamā izkārtojuma rediģēšana ir pabeigta, drukājot dokumentu, tiks izmantots izkārtojums, kurā tika veiktas izmaiņas.

Ja vēlaties atgriezties pie iepriekšējā drukājamā izkārtojuma, noklikšķiniet uz pogas Izmantojiet standarta izkārtojumu. Šādā gadījumā rediģētais izkārtojums joprojām būs pieejams serverī, un to var atkārtoti iespējot, nospiežot pogu Mainīt.

Novēlam patīkamu darbu!

Kā drukātās veidlapas izkārtojumā ievietot uzņēmuma logotipu?

Sniegsim konkrētu drukājama izkārtojuma rediģēšanas piemēru Rēķini apmaksai, proti, apsveriet, kā tajā ievietot attēlu, piemēram, uzņēmuma logotipu (šis attēls vispirms jāsagatavo un jāsaglabā kā grafisks fails, piemēram, png vai jpg formātā).


Tādējādi tagad apmaksas rēķiniem, kurus sagatavojat pārskaitīšanai saviem darījuma partneriem, būs jūsu uzņēmuma logotips. Lai logotipu pievienotu citiem dokumentiem, jums būs jāatkārto aprakstītās darbības šo dokumentu atbilstošajām drukātajām veidlapām.

Novēlam patīkamu darbu!

Šajā rakstā tiks sīki aprakstīts, kā iesācējs, kurš labi nezina 1C 8, var izveidot drukājamu. Piemēram, ņemsim vienu no visizplatītākajām 1C 8 konfigurācijām - Grāmatvedība 2.0. Drukājamas 1C rakstīšanas posmu izveide:

  • Ārēja drukājama faila izveide;
  • Drukātas formas maketa izveide;
  • Programmas koda rakstīšana drukātās formas datu attēlošanai uz ekrāna;
  • Parametru izveide drukātas veidlapas automātiskai reģistrācijai;
  • Ārējās drukas formas pievienošana pamatnei 1C uzņēmumi.

Drukātas veidlapas 1C izveide. Problēmas formulēšana

Mēs esam nepieciešami konfigurācijā Grāmatvedība 2.0 izveidot drukājamu dokumentu Preču un pakalpojumu saņemšana. Drukātās veidlapas galvenē parādiet šādus datus:

  • Organizācija;
  • Darījuma partneris;
  • darījuma partnera līgums;
  • Saņemšanas datums.

Parādīt tabulas datus tabulas veidā Preces dokumentu. Tabulā jāiekļauj šādas kolonnas:

  • Nomenklatūra;
  • Daudzums;
  • Cena;
  • Summa;
  • Kā arī preces cena kārtējam datumam (pēc cenu veida no dokumenta).

Ārējās apstrādes fails

Pāriesim pie problēmas risināšanas. Lai sāktu, atveriet 1C 8 režīmā Konfigurators. Tieši šajā režīmā visas izstrādes tiek veiktas uz platformas 1C 8. Tagad mums ir jāizveido ārējs apstrādes fails. Lai to izdarītu, noklikšķiniet uz izvēlnes Fails -> Jauns... vai ar jaunā faila ikonu.

Atvērtajā logā atlasiet vienumu Ārējā apstrāde.

Tālāk laukā Vārds jāievada ārējās apstrādes nosaukums. Mūsu gadījumā sauksim to vienkārši: "Drukāšanas forma", sinonīmu lauks tiks aizpildīts automātiski. Lūdzu, ņemiet vērā, ka laukā Vārds,ārējā apstrāde, nosaukums jāraksta bez atstarpēm un pieturzīmēm.

Pievienojiet ārējās apstrādes atribūtu ObjectReference un atlasiet viņam tips DocumentReference.Preču saņemšanaPakalpojumi. Lai to izdarītu, ārējās apstrādes 1C metadatu kokā atlasiet vienumu Rekvizīti un nospiediet pogu Pievienot(zaļa plusa poga). Ekrāna labajā pusē tiks atvērts atribūtu rekvizītu logs laukā Vārds rakstīt - LinkToObject. IN lauks Tips nospiediet pogu ar trim punktiem.

Izvērsiet zaru tipa kokā DocumentLink, un tur atrodiet vienumu Preču un pakalpojumu saņemšana, atzīmējiet tai blakus esošo rūtiņu un noklikšķiniet LABI.

Saglabāsim ārējās apstrādes failu cietajā diskā, šim nolūkam izmantosim izvēlni Fails -> Saglabāt, ikona Saglabāt(zilā diskete) vai īsinājumtaustiņu ctrl+s. Nosauksim saglabāto failu "PrintForm".

Izveidojiet drukājamu izkārtojumu

Sāksim veidot 1C drukājamu izkārtojumu. Izkārtojums kalpo kā veidne drukājamā materiāla izvadei, tādēļ, ja vēlaties, lai drukājamais materiāls izskatītos labi, jums tam jāpievērš uzmanība.

Pievienosim jaunu izkārtojumu ārējās apstrādes metadatu kokā, izkārtojuma noformētāja logā neko nemainīsim un nospiediet pogu Gatavs.

Jaunajā izkārtojumā, kas tiek atvērts, izveidosim vairākus apgabalus, kas nepieciešami drukātās veidlapas attēlošanai. Visas mums nepieciešamās izkārtojuma zonas būs horizontālas, tāpēc, lai izveidotu jaunu apgabalu, atlasiet vajadzīgo izkārtojuma rindu skaitu un dodieties uz izvēlni Tabula -> Vārdi -> Piešķirt nosaukumu vai izmantojiet īsinājumtaustiņus Ctrl+Shift+N pēc tam lodziņā ievadiet reģiona nosaukumu. Veidojot izkārtojuma apgabalu, nebaidieties kļūdīties ar rindu skaitu, vienmēr varat tās pievienot vai noņemt. Lai izdzēstu 1C izkārtojuma rindu, atlasiet vajadzīgo rindu un atlasiet vienumu konteksta izvēlnē Dzēst. Lai izkārtojumam pievienotu jaunu rindiņu, atlasiet jebkuru izkārtojuma rindiņu un atlasiet vienumu konteksta izvēlnē izstumt.

Izkārtojuma galvenes pievienošana

Vispirms izveidosim apgabalu. Cepure, tiks parādīti drukātās veidlapas galvenes dati. Šajā jomā mums ir vajadzīgas septiņas izkārtojuma līnijas. Atlasiet tos un, kā jau rakstīju iepriekš, nospiediet īsinājumtaustiņu Ctrl+Shift+N, laukā Vārds ierakstiet "Cepure" un nospiediet pogu labi.

Aizpildīsim izkārtojuma apgabalu ar mums nepieciešamajiem datiem. Parasti neviena drukātā veidlapa nav pabeigta bez galvenes, tāpēc mēs to izveidosim arī mūsu izkārtojuma galvenē. Tā kā galvenē papildus drukātās veidlapas nosaukumam parādīsim arī dokumenta numuru, no kura tas tika izdrukāts, kā parametru izkārtojumā iestatīsim galvenes tekstu. Izkārtojuma parametrs ir īpaši noteikta izkārtojuma šūna, kurā var parādīt dažādus datus, izmantojot iebūvēto 1C 8 valodu. Virsrakstam jābūt attēlotam visā drukātās veidlapas platumā, tāpēc izlemsim, cik izkārtojuma šūnu mums pietiks, lai mēs varētu drukāt uz lapas standarta ainavas orientācijas.

Parasti pietiek ar trīspadsmit vai četrpadsmit izkārtojuma šūnām, atlasiet tās apgabala pirmajā rindā Cepure un apvienot vienā šūnā ( Konteksta izvēlne -> Apvienot). Pēc tam veiciet dubultklikšķi uz iegūtās lielās šūnas un ierakstiet parametra nosaukumu, mūsu gadījumā "HeaderText". Lai ievadītais teksts kļūtu par pilnvērtīgu parametru, ar peles labo pogu noklikšķiniet uz šūnas un konteksta izvēlnē atlasiet vienumu Īpašības. Grāmatzīme Izkārtojums atrast lauku pildījums un izvēlieties vērtību Parametrs. Parametri 1C izkārtojumā ir norādīti iekavās "<>».

Drukātās veidlapas nosaukumam ir jāizceļas starp citu tekstu, tāpēc vēlreiz atlasiet šūnu un izmantojiet ikonas izkārtojuma formatēšanas panelī, lai iestatītu teksta līdzinājumu. Centrēts un fonta lielums 14.

Pēc virsraksta teksta mēs parādīsim apgabalā Cepure dati par organizāciju, darījumu partneri, darījuma partnera līgumu un preces saņemšanas datumu. Tā kā visi šie dati ir ņemti arī no dokumenta, mēs tos arī izrotāsim ar parametriem. Turklāt pirms katra parametra ir jāuzraksta paskaidrojošs teksts, lai lietotājs varētu viegli saprast, kur atrodas organizācija, kur atrodas darījuma partneris utt. Visas šīs darbības ir līdzīgas galvenes izveidei, tāpēc es pie tām sīkāk nekavēšos, sniegšu tikai attēlu ar to, kam beigās vajadzētu izrādīties.

Attēlā parādīts, kā izkārtojuma opcijas atšķiras no vienkārša teksta.

Izkārtojuma tabulas galvenes pievienošana

Pēdējā lieta, kas mums jāizveido šajā izkārtojuma apgabalā, ir tabulas galvene, kurā tiks parādīti tabulas daļas dati. Preces. Tabulai nepieciešamās kolonnas bija aprakstītas sadaļā "Problēmas paziņojums". Mēs arī izveidosim tabulas galveni, izmantojot šūnu sapludināšanu un teksta (kolonnu nosaukumu) rakstīšanu. Izmantojot rīku, atlasiet tabulas galvenes apmales Rāmis, kas atrodas izkārtojuma formatēšanas joslā.

Tabulas pievienošana izkārtojumam

Izkārtojumā izveidosim citu apgabalu - Dati. Tas parādīs tabulas daļas datu tabulu Preces.Šajā apgabalā mums ir nepieciešama tikai viena izkārtojuma līnija. Lai visas tabulas daļas rindas parādītu drukātā veidā, šo laukumu aizpildīsim un parādīsim nepieciešamo reižu skaitu. Skaļruņi zonā Dati jāatbilst tabulas galvenes kolonnām, tāpēc tās aizpildīšana nebūs grūta. Vienīgā atšķirība ir apgabalā Dati mums ir vajadzīgas iespējas, ne tikai teksts. Ņemiet vērā arī to, ka pēc noklusējuma ciparu parametri tiek formatēti labajā malā un teksta parametri kreisajā pusē. Lai atlasītu kolonnas, jāizmanto arī rīks Rāmis.

Kājenes pievienošana izkārtojumam

Pēdējais mums nepieciešamā izkārtojuma apgabals ir Pagrabs. Tas parādīs kopsummas pēc daudzuma un summas. Radīšana ir līdzīga apgabala izveidei Dati, bet turklāt rezultāti ir jāizceļ treknrakstā.

Rezultātam vajadzētu būt izkārtojumam, kas izskatās šādi:

Drukātas veidlapas 1C izveide. Programmēšana

Sāksim programmēt – tas ir svarīgākais posms drukātas formas izveidē. Vispirms ejam uz ārējās drukas plates objekta moduli, tur mēs ieprogrammēsim. Lai to izdarītu, ārējās apstrādes galvenajā logā nospiediet Darbības -> Atvērt objekta moduli.

Ārējās drukas formas objekta modulī ir jāizveido eksportēšanas funkcija Ronis().

Funkcija Drukāt() Eksportēt EndFunction

Lūdzu, ņemiet vērā, ka šī funkcija ir nepieciešama ārējiem drukājamiem materiāliem konfigurācijās, kurās tiek izmantota parasta lietojumprogramma. Mēs ierakstīsim visu turpmāko programmas kodu, kas nepieciešams, lai šīs funkcijas ietvaros parādītu drukāto veidlapu.

Pamata mainīgo inicializācija

Izveidosim mainīgo TabDoc, kurā būs izklājlapas dokuments - tas ir tas, kurš ir drukātā forma, kurā mēs parādīsim aizpildītos izkārtojuma apgabalus.

TabDoc = jauns SpreadsheetDocument;

par mainīgo Izkārtojums saņemsim mūsu izveidoto drukātās formas maketu. Lai to izdarītu, mēs izmantojam iebūvēto funkciju GetLayout(<ИмяМакета>).

Izkārtojums = GetLayout("Izkārtojums");

Visas izkārtojuma zonas iegūsim mainīgajos. Lai to izdarītu, mēs izmantojam izkārtojuma metodi GetRegion(<ИмяОбласти>) .

Header Area = izkārtojums GetArea("Galvene"); AreaData = Layout.GetArea("Dati"); AreaFooter = Layout.GetArea("Pagrabs");

Drukājamas galvenes parādīšana izklājlapas dokumentā

Visi nepieciešamie mainīgie tiek inicializēti. Sāksim aizpildīt un parādīt izkārtojuma apgabalus izklājlapas dokumentā. Vispirms aizpildīsim drukātās veidlapas nosaukumu, lai to izdarītu, mums jāievada parametrs Virsraksta teksts, kuru izveidojām izkārtojumā, mums nepieciešamais teksts. Lai aizpildītu parametru vērtības, izkārtojuma apgabalā ir īpaša kolekcija, ko sauc - Iespējas. No kuras caur "." jūs varat iegūt jebkuru parametru. Virsraksta tekstā nodosim tekstu: “Drukāšanas forma”, kā arī dokumenta numuru.

Header Area.Parameters.HeaderText = "Drukāšanas veidlapa"+ReferenceToObject.Number;

Pārējie galvenes parametri tiks aizpildīti līdzīgi, visas tiem nepieciešamās vērtības tiks iegūtas no rekvizītiem ReferenceToObject, kurā ir saite uz drukājamo dokumentu.

HeaderScope.Parameters.Organization = LinkToObject.Organization; Header area.Parameters.Account = LinkToObject.Account; Header Area.Parameters.IncomingDate = ObjectReference.Date; Header Area.Parameters.Counterparty Agreement = LinkToObject.Counterparty Agreement;

Visi galvenes parametri ir aizpildīti, mēs to parādīsim mūsu izveidotajā izklājlapas dokumentā, šim nolūkam mēs izmantojam metodi izvade(<Область>) .

TabDoc.Output(HeaderArea);

Pieprasījuma rakstīšana par drukātu handikapu

Sāksim aizpildīt un parādīt laukumu Dati. 1C izdrukājamā attēla izveide nozīmē arī vaicājuma rakstīšanu, mums tas ir nepieciešams, lai iegūtu tabulas daļas datus Preces un cenas Nomenklatūras pašreizējam datumam mēs izmantosim Pieprasīt. 1C 8 vaicājumu valoda ir līdzīga SQL, vai drīzāk, praktiski kopē tās SELECT priekšraksta iespējas, bet viss vaicājums ir rakstīts krievu valodā. Tāpēc, ja vismaz attālināti pārzināt SQL, tad viegli sapratīsit 1C 8 vaicājumu valodu.

Šajā drukātajā formā pieprasījums būs diezgan vienkāršs un daudzi teiks, ka bez tā varētu iztikt, taču vaicājumu valodas zināšanas un prasme to pareizi lietot ir viena no galvenajām 1C programmētāja prasmēm. Vaicājumi ļauj izmantot mazāk resursu, lai iegūtu vissarežģītākās datu atlases, kā arī ir daudz vieglāk saprast vaicājuma tekstu nekā programmas kodā, kas rakstīts, neizmantojot vaicājumu (vai ar minimālu tā izmantošanu). Turklāt 1C 8 ir ļoti labs vaicājumu veidotājs, kas ļauj interaktīvi savākt vaicājumu no nepieciešamajām tabulām.

Izveidosim mainīgo, kas saturēs pieprasījumu.

Pieprasījums = jauns pieprasījums;

Pieprasījuma teksts tiks izveidots, izmantojot vaicājumu veidotāju. Sāksim ar rakstīšanu:

Request.Text = "";

Novietojiet peles kursoru starp pēdiņām, nospiediet peles labo pogu. Atvērtajā konteksta izvēlnē atlasiet vienumu Pieprasīt konstruktoru, tas mums ļoti palīdzēs, veidojot 1C drukājamu. Pēc tam atvērsies vaicājumu noformētāja logs, kurā ir daudz cilņu, bet mūsu vaicājumam būs nepieciešamas tikai četras: "Tabulas un lauki", "Saistības", "Nosacījumi", "Pievienojumi / Pseidonīmi".

Mūsu vaicājumam mums ir vajadzīgas divas tabulas: tabulas daļa Preces dokumentu Preču un pakalpojumu saņemšana un jaunākās informācijas šķēle par pašreizējo reģistra datumu Preču cenas.

Dizainera loga kreisajā daļā atrodiet kolonnu Datu bāze. Tajā ir visu metadatu objektu koks, meklēsim tos, kas mums nepieciešami. Lai to izdarītu, atveriet filiāli Dokumentācija un atrodiet dokumentu Ienākošo preču pakalpojumi, izvērsiet to un atrodiet tabulas daļu Preces, velciet to uz vaicājuma noformētāja kolonnu tabulas. Ir trīs veidi, kā vilkt un nomest: velkot, veicot dubultklikšķi uz tabulas vai atlasot to un noklikšķinot uz pogas ">". Atvērsim filiāli ReģistriInformācija un atrodi tur galdiņu CenasPreces.SliceLast, arī velciet to uz kolonnu tabulas. Mūsu vaicājumam pietiek ar šīm divām tabulām.

No iegūtajām tabulām atlasīsim vajadzīgos laukus. Lai to izdarītu, kolonnā tabulas atver galdu un atrodiet laukus: Nomenklatūra, daudzums, cena, daudzums un velciet tos uz konstruktora trešo kolonnu - lauki. Atveram galdu , atrodiet lauku Cena un arī velciet to uz lauki.

Mūsu pieprasījuma tabulu un lauku struktūra ir gatava, tagad tiksim galā ar nosacījumiem. Mums ir nepieciešami tabulas daļas dati Preces netika ņemti no visām čekiem, bet tikai no tā, kuru mēs drukājam. Lai to izdarītu, mēs uzliekam nosacījumu uz galda Ienākošās preces Pakalpojumi Preces. Dodamies uz vaicājumu veidotāja cilni "Nosacījumi". Kolonnā lauki tabulas, kuras mēs atlasījām iepriekš, atrodas, nosacījumam mums ir nepieciešams lauks Saite no galda Preču, pakalpojumu, preču saņemšana, velciet to uz nosacījumu logu.

1C vaicājumos varat izmantot parametrus, tie ir nepieciešami datu pārsūtīšanai uz vaicājumu. Piemēram, ja mēs vēlamies ierobežot dokumentu atlasi ar konkrētu dokumentu, tad mēs varam izmantot parametru, lai nosūtītu saiti uz šo dokumentu pieprasījumam un izmantotu šo parametru nosacījumā. Tieši to mēs darīsim savā pieprasījumā.

Vienreiz ārā pa logu Nosacījumi mēs pievienojām lauku Saite, vaicājumu veidotājs izveidos parametru ar tādu pašu nosaukumu un ievietos to aiz zīmes "=". Ja vēlaties, šo parametru var pārdēvēt. Pieprasījuma tekstā parametri ir atzīmēti ar “&” zīmi, taču šajā gadījumā tas nav nepieciešams, jo tiek pieņemts, ka parametrs atrodas nosacījuma otrajā daļā, jums tas vienkārši jāatceras. Tālāk tiks apspriests, kā nodot vērtību 1C pieprasījuma parametram.

Tā kā vaicājumā mēs izmantojam nevis pilnu preces cenu tabulu, bet gan virtuālo (šajā gadījumā daļu no pēdējās), mums ir jāiestata nosacījumi šīs virtuālās tabulas veidošanai, mūsu gadījumā šī ir griešanas datums un cenu veida nosacījums (jāizvēlas cenas, kurām ir stingri noteikts cenas veids - tas, kas norādīts kvīts dokumentā, kuru izdrukājam).

Lai aizpildītu virtuālās tabulas parametrus, dodieties uz cilni Tabulas un lauki vaicājuma konstruktors, kolonnā tabulas izvēlieties tabulu CenasPrecesSliceJaunākais un nospiediet pogu Virtuālā galda opcijas atrodas augšpusē. Atvērtajā logā laukā Periods jāiestata parametrs, līdz kuram tiks pārcelts datums, par kuru tiks veikta cenas samazināšana. Mūsu gadījumā tas būs pašreizējais datums (tas ir, šodiena), tāpēc parametram tiks dots nosaukums "&CurrentDate". Nosacījuma laukā ierakstīsim nosacījumus cenas veidam, nodosim arī parametrā, ko sauksim par “&PriceType”. Iegūtais nosacījums izskatīsies šādi (kur Cenas veids- reģistrēt mērījumus Preču cenas):

PriceType = &Cenas veids

Virtuālās tabulas parametri ir aizpildīti, noklikšķiniet uz pogas labi.

Tagad, kad esam ierobežojuši atlasi tikai līdz vajadzīgajam dokumentam, izveidosim attiecības starp vaicājumu tabulām. Ja tas nav izdarīts, cenas no tabulas PricesItemsSliceLast netiks saistītas ar preci no kvīts. Dosimies uz cilni Savienojumi vaicājumu konstruktors. Izveidosim saiti pēc lauka Nomenklatūra starp mūsu diviem galdiem. Lai to izdarītu, nospiediet pogu Pievienot, laukā 1. tabula izvēlēties galdu Ienākošās preces Pakalpojumi Preces, un laukā 2. tabula - Preču cenas Pēdējās šķēle. Savienojuma nosacījumos atlasiet laukus Nomenklatūra no abām tabulām.

Jāņem vērā arī tas, ka vaicājuma atlasē mums ir jāiegūst visas rindas no cilnes daļas Preces un cenas tikai tad, ja tās ir pieejamas aktuālajam datumam pēc dokumenta cenas veida. Tādējādi šīs cilnes daļas Preces ir obligāti, bet cenu nogriešanas dati nav. Tāpēc saitēs starp šīm tabulām ir nepieciešams izmantot tā saukto LEFT JOIN, un kreisā (vai obligātā) tabula būs Ienākošās preces Pakalpojumi Preces, un labo (vai neobligāto) PriceItemSliceLast. Lai vaicājumu tabulu kreisais savienojums darbotos, kā aprakstīju iepriekš, jums ir jāatzīmē izvēles rūtiņa Visi pēc lauka 1. tabula.


Pieprasījums ir gandrīz gatavs, atliek tikai nedaudz strādāt pie lauka pseidonīmiem. Dodieties uz grāmatzīmi Arodbiedrības / Pseidonīmi un iestatiet lauka aizstājvārdu CenasPrecesSliceLast.Price. Pseidonīms būs − Cena šodienai, tas nepieciešams, lai vaicājuma atlases lauku nosaukumi un parametru nosaukumi drukātās formas izkārtojumā sakristu.

Darbs vaicājumu noformētājā ir beidzies, spiedīsim pogu OK. Pēc konstruktora loga aizvēršanas jūs redzēsiet, ka rinda ar pieprasījuma tekstu ir aizpildīta un izskatās šādi:

Query.Text = "SELECT | Ienākošās preces/pakalpojumu preces. Nomenklatūra, | Ienākošās preces/pakalpojumu preces. Summa, | Ienākošās preces/pakalpojumu preces. Cena, | Ienākošās preces/pakalpojumu preces. LEFT JOIN (| &Pašreizējais datums, cenas veids = &cenas veids) AS CenasPrecesSliceLast | Pēc ienākošās precesPakalpojumiPreces.Nomenklatūra | = CenasPrecesSliceLast.Nomenklatūra |KUR | Ienākošās precesPakalpojumiPreces.Atsauce = &Atsauce";

Pieprasījuma izpilde

Mēs nosūtīsim pieprasījumam nepieciešamos parametrus, šim nolūkam izmantosim pieprasījuma metodi setParameter(<ИмяПараметра>,<Значение>). Lai iegūtu pašreizējo datumu, izmantojiet iebūvēto funkciju Pašreizējais datums (), tas atgriež datora datumu un laiku.

Izpildīsim vaicājumu, lai iegūtu atlasi ar nepieciešamajiem datiem. Lai to izdarītu, mēs vispirms izmantojam vaicājuma metodi Izpildīt(), un tad metode Izvēlēties ().

Atlase = Query.Execute().Select();

Drukājamās tabulas aizpildīšana

Rezultātā mainīgajā Paraugs būs ietverta vaicājuma rezultātu atlase, varat tajā pārvietoties, izmantojot metodi Nākamais(), un, lai apietu visu, būs nepieciešama cilpa Uz redzēšanos. Struktūra izskatīsies šādi:

Kamēr atlase.Next() Loop EndCycle;

Šajā ciklā mēs aizpildīsim un parādīsim izkārtojuma apgabalu Dati. Bet vispirms inicializēsim divus ciparu tipa mainīgos. Tajos mēs apkoposim kopsummas pēc skaita un summas, kas mums jāparāda apgabalā Pagrabs.

Kopējā summa = 0; TotalNumber = 0;

Cilpas iekšpusē mēs aizpildīsim apgabalu Dati datus no pašreizējā atlases elementa mainīgajos Kopējā summa Un TotalNumber pievienojiet summas un daudzuma vērtības un, visbeidzot, parādiet apgabalu izklājlapas dokumentā, izmantojot mums jau pazīstamo metodi izvade (). Tā kā mūsu pieprasījuma lauku nosaukumi ir tieši tādi paši kā lauku parametru nosaukumi Dati, tad aizpildīšanai izmantosim iebūvēto procedūru FillPropertyValues(<Приемник>, <Источник>), kas kopē īpašuma vērtības<Источника>uz īpašumiem<Приемника>.

Kaut Selection.Next() Loop FillPropertyValues(DataArea.Parameters, Selection); TotalSum = KopējāSumma + Paraugs.Summa; TotalQuantity = TotalQuantity + Sample.Quantity; TabDoc.Output(Data Area); EndCycle;

Drukāšanas veidlapas kājenes izvade izklājlapas dokumentā

Atliek aizpildīt un parādīt pēdējo izkārtojuma apgabalu - Pagrabs. Mēs jau esam sagatavojuši datus aizpildīšanai, iepildīšana un izvade tiek veikta saskaņā ar to pašu shēmu.

AreaBasement.Parameters.TotalQuantity = TotalQuantity; RegionBasement.Parameters.TotalAmount = TotalAmount; TabDoc.Output(RegionFooter);

Izklājlapas dokuments ir pilnībā aizpildīts, atliek to parādīt ekrānā, lai lietotājs varētu apskatīt izdrukāto veidlapu un, ja nepieciešams, to izdrukāt. Bet tipiskās 1C 8 konfigurācijās īpašu moduļu procedūras ir atbildīgas par ārējo drukas formu izvadi. Tāpēc pietiek ar atgriešanos no funkcijas Ronis() pabeigta izklājlapa.

Atgriezt TabDoc;

Šajā posmā programmēšana ir pabeigta un drukājamās veidlapas 1c izveide ir gandrīz pabeigta. Pilns funkcijas teksts Ronis() Es to šeit nedošu, jūs to varat redzēt drukājamā failā, kuru varat lejupielādēt raksta apakšā.

Drukātas veidlapas 1C izveide. Automātiskās reģistrācijas iespējas

Pieslēdzot datubāzei ārējo drukājamo, sistēma automātiski nenosaka, kuram konkrētajam dokumentam vai direktorijam drukājamais ir paredzēts, tas ir jāizvēlas manuāli. Un, ja drukāto veidlapu uzrakstīja cita persona, un jums ir tikai uzdots to savienot, tad izvēle var kļūt neskaidra. Lai izvairītos no šādām problēmām, visos ārējos izdrukājumos ir nepieciešams izveidot izkārtojumu ar automātiskās reģistrācijas parametriem. Ja tā ir izveidota un pareizi formatēta, sistēma automātiski nosaka, kuram dokumentam vai direktorijam ir paredzēta drukātā forma.

Tas tiek darīts šādi:

  • Ārējā apstrādē mēs izveidojam jaunu izkārtojumu. Mēs to saucam par “Parameters_Autoregistration” (svarīgi nemaldīties!).
  • Izkārtojuma pirmajā šūnā mēs rakstām Dokumentācija.(vai Uzziņu grāmatas.) un tā dokumenta nosaukumu, kuram vēlaties pievienot drukājamo.

Savienojums ar ārējās drukas formas pamatni

  • Palaidiet 1C 8 režīmā Uzņēmums;
  • Dodieties uz izvēlni Pakalpojums -> Papildus atskaites un apstrāde -> Papildus ārējās drukas veidlapas;
  • Noklikšķiniet uz pogas Pievienot;
  • Atvērtajā logā noklikšķiniet uz ikonas Aizstāt ārējo apstrādes failu;
  • Ja esat izveidojis automātiskās reģistrācijas parametrus, tad mēs piekrītam to izmantošanai;
  • Ja neesat izveidojis automātiskās reģistrācijas parametrus, tad tabulas sadaļā Drukas plates piederums pievienot nepieciešamo dokumentu vai direktoriju;
  • Nospiežam pogu LABI.

Pēc tam izvēlnē būs pieejams ārējais drukājamais materiāls Ronis dokumentu Preču un pakalpojumu piegāde. Var uzskatīt, ka 1C drukājama attēla izveide ir pabeigta.

Kolēģi!

Mēs turpinām ziņošanas tēmu 1C. Nesen mūsu klientam radās problēma, pārsūtot dokumentāciju no 1C 8.3.

Papildu informācijas ievadīšana drukātajā veidlapā, drukas lapu numurēšana, norādot datumu, laiku un lietotāju, kurš izsniedzis ziņojumu.

Mēs aplūkojām līdzīgu piemēru iepriekšējā laidienā 8.2 konfigurācijā. Tagad apskatīsim drukas iestatījumus, kas ļauj to visu izdarīt 8.3 konfigurācijā.

Turklāt liela daļa no tā ir automatizēta 8.3. versijā.

Tātad, kā jūs varat iekļaut iepriekš minēto informāciju drukātā veidā? Kas būtu jādara šajā gadījumā?

Mēs piedāvājam savu iespēju pārskatu, iespējams, tas arī jums noderēs.

1. iespēja. Tieši no izveidotās atskaites vai dokumenta drukātās formas:

Apmaksai veidojat drukātu rēķina formu un izsaucat to caur Ch. izvēlne - Tabula - Drukāšanas preferences - Galvenes un kājenes un iestatiet pēc vajadzības.
Tas tiek veikts vienreiz jebkurai FORMATĒTAI drukāšanas formai.

Galvenes lauku iestatīšana

Pievērsiet uzmanību ikonām veidlapas augšējā kreisajā stūrī:

Tas ir kārtībā: lapas numurs, lappušu skaits, datums un laiks. Pārvietojiet peli uz vēlamo vietu galvenē vai kājenē un noklikšķiniet uz vajadzīgās ikonas. Pēc noklikšķināšanas uz Labi, izdrukājot, šie dati tiks parādīti jūsu norādītajā drukātajā formā.

2. iespēja. Konfigurēts jebkurai drukāšanai (atskaites, dokumenti, sertifikāti) no programmas

Ja nevēlaties katru reizi iestatīt galvenes un kājenes manuāli, varat konfigurēt vispārīgo galveņu un kājenes skatu drukāšanai, izmantojot sadaļu Administrēšana — galvenes un kājenes iestatījumi.

Tas izskatās šādi:

Ir plašākas iespējas informācijas attēlošanai drukātās formās: tiek pievienoti dati "Pārskata nosaukums" un "Lietotājs". Šis ir tikai mūsu gadījums.

Datu atlase galvenēs un kājenēs tiek veikta, kā aprakstīts 1. opcijā, tikai ikonu vietā mēs atlasām teksta pogas "Laiks", "Datums", "Pārskata nosaukums" utt. Bet būtība no tā nemainās. . Pēc nepieciešamās informācijas norādīšanas pareizajās formas vietās iestatījums tiek saglabāts.

Drukājot veidlapu, tajā tiks parādīti visi norādītie dati.

3. iespēja: izkārtojuma rediģēšana lietotāja režīmā

Kāpēc es šeit apsveru arī šo metodi, kurai ir sava funkcionalitāte un kas, stingri ņemot, neattiecas uz aplūkojamo tēmu.

Jo bieži gadās, ka, lai sasniegtu vēlamo rezultātu, ir jāizmanto šīs metodes un drukas iestatījumu kombinācija. Drukājamo izkārtojumu rediģēšana ļauj mums uzzīmēt dažas lietas, kas mums vajadzīgas tieši šī drukājamā materiāla izkārtojumā.

Izkārtojumi tiek mainīti sadaļā Administrēšana - Drukas veidlapas, atskaites, apstrāde - Drukas veidlapu maketi.

Šeit ir Rēķina-pasūtījuma izkārtojuma rediģēšanas piemērs (rēķins apmaksai pircēja dokumentā):

Izvēlamies izkārtojumu, pie ieejas norādot, ka rediģēsim un beigās pievienosim kādu teksta informāciju.

Piemēram, šādi:

Izmaiņas saglabājam un veidojam drukātu formu.

Un mēs drukājam ar izmaiņām.
Taču šādas rediģēšanas iespējas ir ierobežotas.)

Tātad 3. variants ir ērti lietojams informācijas ievadīšanai pastāvīgā, nemainīgā veidā, visam pārējam programmētājam būs jāaizpilda drukātā veidlapa.

Bet bieži vien ar to pietiek. 🙂

Līdzīgi raksti

2023 liveps.ru. Mājas darbi un gatavie uzdevumi ķīmijā un bioloģijā.