Bahay - Palakasan para sa mga bata at matatanda
Paglikha ng naka-print na layout ng form

Sasabihin sa iyo ng artikulong ito nang detalyado kung paano ang isang baguhan na may kaunting kaalaman sa 1C 8 ay maaaring lumikha ng isang naka-print na form. Halimbawa, kunin natin ang isa sa mga pinakakaraniwang configuration ng 1C 8 - Accounting 2.0. Paglikha ng naka-print na form 1C na mga yugto ng pagsulat:

  • Paglikha ng isang panlabas na file ng form sa pag-print;
  • Paglikha ng isang naka-print na layout ng form;
  • Pagsusulat ng program code upang ipakita ang naka-print na data ng form sa screen;
  • Paglikha ng mga parameter para sa awtomatikong pagpaparehistro ng isang naka-print na form;
  • Pagkonekta ng panlabas na form sa pag-print sa base 1C Enterprises.

Paglikha ng isang naka-print na form 1C. Pahayag ng problema

Kami ay kinakailangan sa pagsasaayos Accounting 2.0 lumikha ng isang naka-print na form para sa isang dokumento Pagtanggap ng mga kalakal at serbisyo. Sa header ng naka-print na form, ipakita ang sumusunod na data:

  • Organisasyon;
  • Counterparty;
  • Kasunduan sa counterparty;
  • Petsa ng pagtanggap.

Ipakita ang data sa tabular na seksyon bilang isang talahanayan Mga paninda dokumento. Dapat isama sa talahanayan ang mga sumusunod na column:

  • Nomenclature;
  • Dami;
  • Presyo;
  • Sum;
  • At gayundin ang presyo ng item para sa kasalukuyang petsa (ayon sa uri ng presyo mula sa dokumento).

Panlabas na pagproseso ng file

Lumipat tayo sa paglutas ng problema. Una, buksan natin ang 1C 8 sa mode Configurator. Nasa mode na ito na ang lahat ng mga pag-unlad ay isinasagawa sa platform ng 1C 8 Ngayon ay kailangan nating lumikha ng isang panlabas na file sa pagproseso. Upang gawin ito, mag-click sa menu File -> Bago… o sa pamamagitan ng icon ng isang bagong file.

Sa window na bubukas, piliin ang item Panlabas na pagproseso.

Sunod sa field Pangalan Dapat mong ilagay ang pangalan ng panlabas na pagpoproseso. Sa aming kaso, tatawagin lang namin itong "PrintForm"; awtomatikong mapupunan ang field ng kasingkahulugan. Mangyaring tandaan na sa patlang Pangalan, panlabas na pagproseso, ang pangalan ay dapat na nakasulat nang walang mga puwang o mga bantas.

Magdagdag tayo ng mga panlabas na katangian sa pagpoproseso LinkToObject at piliin type para sa kanya DocumentLink. Upang gawin ito, sa 1C external processing metadata tree, piliin ang item Mga Detalye at pindutin ang pindutan Idagdag(button na may berdeng plus). Magbubukas ang window ng attribute properties sa kanang bahagi ng screen, sa field Pangalan magsulat tayo - ReferenceToObject. SA patlang Uri pindutin ang pindutan na may tatlong tuldok.

Palawakin natin ang sanga sa uri ng puno DocumentLink, at hanapin ang elementong Receipt of Goods and Services doon, lagyan ng check ang kahon sa tabi nito at i-click OK.

I-save natin ang external processing file sa hard drive para magawa ito, gamitin ang menu File -> I-save, pictogram I-save(asul na floppy disk), o isang keyboard shortcut Ctrl+S. Pangalanan natin ang naka-save na file na “PrintForm”.

Paglikha ng naka-print na layout ng form

Simulan natin ang paggawa ng layout ng 1C printing form. Ang layout ay nagsisilbing template para sa output ng naka-print na form, kaya kung nais mong maging maganda ang iyong naka-print na form, dapat mong bigyang pansin ito.

Magdagdag tayo ng bagong layout sa panlabas na pagpoproseso ng metadata tree, wala tayong babaguhin sa window ng taga-disenyo ng layout at i-click ang button handa na.

Sa bagong layout na bubukas, gagawa kami ng ilang lugar na kinakailangan para sa pagpapakita ng naka-print na form. Ang lahat ng mga lugar ng layout na kailangan namin ay pahalang, kaya upang lumikha ng isang bagong lugar, piliin ang kinakailangang bilang ng mga linya ng layout at pumunta sa menu Talahanayan -> Mga Pangalan -> Magtalaga ng pangalan o gumamit ng keyboard shortcut Ctrl + Shift + N, pagkatapos ay ilagay ang pangalan ng rehiyon sa kahon. Kapag gumagawa ng isang layout area, huwag matakot na magkamali sa bilang ng mga linya na maaari mong palaging idagdag o alisin ang mga ito. Upang magtanggal ng 1C layout line, piliin ang gustong linya at piliin ang item sa menu ng konteksto Tanggalin. Upang magdagdag ng bagong linya sa layout, pumili ng anumang linya ng layout at piliin ang item sa menu ng konteksto Palawakin.

Pagdaragdag ng Layout Header

Una sa lahat, gumawa tayo ng isang lugar Cap, ipapakita nito ang data para sa header ng naka-print na form. Para sa lugar na ito kakailanganin namin ng pitong linya ng layout. Piliin natin ang mga ito at, gaya ng isinulat ko sa itaas, pindutin ang key combination Ctrl + Shift + N, sa bukid Pangalan isulat ang "Sumbrero" at pindutin ang pindutan OK.

Punan natin ang layout area ng data na kailangan natin. Karaniwan, walang naka-print na form na kumpleto nang walang pamagat, kaya gumawa din tayo ng isa sa aming header ng layout. Dahil sa pamagat, bilang karagdagan sa pangalan ng naka-print na form, ipapakita din namin ang numero ng dokumento kung saan ito na-print, itatakda namin ang teksto ng pamagat sa layout bilang isang parameter. Ang parameter ng layout ay isang espesyal na itinalagang layout ng cell kung saan maaaring i-output ang iba't ibang data gamit ang built-in na 1C 8 na wika. Dapat ipakita ang pamagat sa buong lapad ng naka-print na form, kaya't magpasya tayo kung gaano karaming mga layout ng mga cell ang magiging sapat para mag-print tayo sa isang karaniwang landscape na oryentasyon ng sheet.

Karaniwan labintatlo o labing-apat na layout ng mga cell ay sapat na, piliin ang mga ito sa unang hilera ng lugar Cap at pagsamahin sa isang cell ( Menu ng konteksto -> Pagsamahin). Pagkatapos nito, i-double-click ang nagresultang malaking cell at isulat ang pangalan ng parameter, sa aming kaso na "TitleText". Upang ang ipinasok na teksto ay maging isang ganap na parameter, mag-right click sa cell at piliin ang item sa menu ng konteksto Mga Katangian. Sa bookmark Layout hanapin natin ang field Pagpupuno at piliin ang halaga Parameter. Ang mga parameter sa layout ng 1C ay ipinahiwatig ng mga bracket "<>».

Ang heading ng naka-print na form ay dapat na namumukod-tangi sa iba pang text, kaya piliin muli ang cell at gamitin ang mga icon sa layout formatting panel para itakda ang text alignment Nakasentro at laki ng font 14.

Pagkatapos ng teksto ng pamagat ay ipapakita namin ito sa lugar Cap impormasyon tungkol sa organisasyon, counterparty, counterparty na kasunduan at petsa ng pagtanggap ng mga kalakal. Dahil ang lahat ng data na ito ay kinuha din mula sa dokumento, gagawin din namin itong gawing pormal gamit ang mga parameter. Bilang karagdagan, bago ang bawat parameter dapat kang magsulat ng paliwanag na teksto upang madaling maunawaan ng user kung nasaan ang organisasyon, kung nasaan ang katapat, atbp. Ang lahat ng mga aksyon na ito ay katulad ng paglikha ng isang pamagat, kaya hindi ko na talakayin ang mga ito nang detalyado, magbibigay lang ako ng isang larawan kung ano ang dapat mangyari sa huli.

Ipinapakita ng figure kung paano naiiba ang mga parameter ng layout mula sa regular na text.

Pagdaragdag ng Layout Table Header

Ang huling bagay na kailangan nating gawin sa lugar ng layout na ito ay ang header ng talahanayan, kung saan ipapakita ang data ng tabular na bahagi. Mga paninda. Ang mga column na kinakailangan para sa talahanayan ay inilarawan sa seksyong "Pahayag ng Problema". Gagawa rin kami ng table header gamit ang kumbinasyon ng mga cell at pagsusulat ng text (mga pangalan ng column). Piliin ang mga hangganan ng header ng talahanayan gamit ang tool Frame, na matatagpuan sa panel ng pag-format ng layout.

Pagdaragdag ng talahanayan sa isang layout

Gumawa tayo ng isa pang lugar sa layout - Data. Ang talahanayan ng data ng tabular na bahagi ay ipapakita sa loob nito Mga paninda. Para sa lugar na ito, kailangan lang namin ng isang linya ng layout. Upang ipakita ang lahat ng mga hilera ng tabular na bahagi sa isang naka-print na form, pupunan at ipapakita namin ang lugar na ito sa kinakailangang bilang ng beses. Mga hanay sa lugar Data ay dapat na nag-tutugma sa mga haligi ng header ng talahanayan, kaya hindi magiging mahirap ang pagpuno nito. Ang pagkakaiba lang ay nasa lugar Data kailangan natin ng mga parameter, hindi lang text. Tandaan din na bilang default, ang mga numeric na parameter ay naka-format sa kanan at ang mga parameter ng text ay naka-format sa kaliwa. Upang pumili ng mga column, kailangan mo ring gamitin ang tool Frame.

Pagdaragdag ng Footer sa isang Layout

Ang huling layout area na kailangan namin ay Silong. Ipapakita nito ang mga kabuuan ayon sa dami at halaga. Ang paglikha ay katulad ng paglikha ng isang lugar Data, ngunit bilang karagdagan ang mga resulta ay dapat na naka-highlight sa bold.

Ang resulta ay dapat na isang layout na ganito ang hitsura:

Paglikha ng isang naka-print na form 1C. Programming

Magsimula tayo sa programming - ito ang pinakamahalagang yugto sa paglikha ng isang naka-print na form. Una sa lahat, pumunta tayo sa external printing form object module, dito tayo magpo-program. Upang gawin ito, sa pangunahing panlabas na window ng pagproseso, i-click Mga Aksyon -> Buksan ang module ng object.

Kailangan mong gumawa ng export function sa external printing form object module Selyo().

Function Print() I-export ang EndFunction

Pakitandaan na ang tampok na ito ay kinakailangan para sa panlabas na mga form sa pag-print sa mga pagsasaayos gamit ang regular na aplikasyon. Ang lahat ng kasunod na program code na kailangan para ipakita ang naka-print na form ay isusulat sa loob ng function na ito.

Pagsisimula ng Mga Pangunahing Variable

Gumawa tayo ng variable TabDoc, na maglalaman ng isang spreadsheet na dokumento - ito mismo ang naka-print na form kung saan ipapakita namin ang mga punong bahagi ng layout.

TabDoc = bagong TabularDocument;

Sa isang variable Layout Makukuha namin ang naka-print na layout ng form na aming ginawa. Upang gawin ito ginagamit namin ang built-in na function GetLayout(<ИмяМакета>).

Layout = GetLayout("Layout");

Iko-convert namin ang lahat ng mga lugar ng layout sa mga variable. Upang gawin ito, ginagamit namin ang pamamaraan ng layout GetArea(<ИмяОбласти>) .

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

Pag-output ng header ng isang naka-print na form sa isang spreadsheet na dokumento

Ang lahat ng kinakailangang mga variable ay sinisimulan. Simulan nating punan at ipakita ang mga layout area sa isang spreadsheet na dokumento. Una sa lahat, punan natin ang pamagat ng napi-print na form para dito kailangan nating ipasa ang parameter Teksto ng Pamagat, na ginawa namin sa layout, ang text na kailangan namin. Upang punan ang mga halaga ng parameter para sa lugar ng layout, mayroong isang espesyal na koleksyon na tinatawag na - Mga pagpipilian. Mula sa kung saan sa pamamagitan ng "." maaari kang makakuha ng anumang parameter. Sa teksto ng header, ililipat namin ang teksto: "Naka-print na form", pati na rin ang numero ng dokumento.

Header Area.Parameters.HeaderText = "Print form"+ObjectLink.Number;

Pupunan namin ang natitirang mga parameter ng header sa katulad na paraan; Sanggunian ng Bagay, na naglalaman ng link sa dokumentong ini-print.

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

Ang lahat ng mga parameter ng header ay napunan, ipapakita namin ito sa spreadsheet na dokumento na aming nilikha, para dito ginagamit namin ang pamamaraan Output(<Область>) .

TabDoc.Output(HeaderArea);

Pagsusulat ng kahilingan para sa isang nakalimbag na kapansanan

Simulan natin ang pagpuno at pagguhit ng lugar Data. Ang paglikha ng isang 1C na naka-print na form ay nagsasangkot din ng pagsulat ng isang query; Mga paninda at mga presyo Mga Nomenclature para sa kasalukuyang petsa na aming gagamitin Kahilingan. Ang 1C 8 query language ay katulad ng SQL, o sa halip ay halos kinokopya ang mga kakayahan ng SELECT operator nito, ngunit ang buong query ay nakasulat sa Russian. Samakatuwid, kung ikaw ay hindi bababa sa malabo na pamilyar sa SQL, pagkatapos ay madali mong mauunawaan ang 1C 8 query language.

Sa naka-print na form na ito, ang kahilingan ay magiging medyo simple at marami ang magsasabi na posible itong gawin nang wala ito, ngunit ang kaalaman sa wika ng query at ang kakayahang magamit ito nang mahusay ay isa sa mga pangunahing kasanayan ng isang 1C programmer. Binibigyang-daan ka ng mga query na makakuha ng mga kumplikadong sample ng data gamit ang mas kaunting mga mapagkukunan, at ang teksto ng query ay mas madaling maunawaan kaysa sa program code na nakasulat nang hindi gumagamit ng isang query (o may kaunting paggamit nito). Bilang karagdagan, ang 1C 8 ay may napakahusay na taga-disenyo ng query na nagbibigay-daan sa iyong interactive na bumuo ng isang query mula sa mga kinakailangang talahanayan.

Gumawa tayo ng variable na maglalaman ng kahilingan.

Kahilingan = Bagong Kahilingan;

Bubuo kami ng text ng kahilingan gamit ang tagabuo ng kahilingan. Upang magsimula, isulat natin:

Request.Text = "";

Ilagay ang cursor ng mouse sa pagitan ng mga quote at pindutin ang kanang pindutan ng mouse. Sa menu ng konteksto na bubukas, piliin ang item Humiling ng tagabuo, malaki ang maitutulong nito sa amin sa paggawa ng 1C printing form. Pagkatapos nito, magbubukas ang window ng taga-disenyo ng query; naglalaman ito ng maraming tab, ngunit para sa aming query kakailanganin lang namin ang apat: "Mga Talahanayan at Mga Patlang", "Mga Relasyon", "Mga Kundisyon", "Mga Pagsali / Alyases".

Para sa aming query kakailanganin namin ng dalawang talahanayan: bahagi ng talahanayan Mga paninda dokumento Pagtanggap ng mga kalakal at serbisyo at isang snapshot ng pinakabagong impormasyon sa kasalukuyang petsa ng rehistro Mga presyo ng item.

Sa kaliwang bahagi ng window ng taga-disenyo nakita namin ang hanay Database. Naglalaman ito ng puno ng lahat ng mga bagay na metadata, hanapin natin ang mga kailangan natin. Upang gawin ito, buksan natin ang thread Mga dokumento at hanapin ang dokumento Pagtanggap ng mga Kalakal at Serbisyo, buksan natin ito at hanapin ang tabular na bahagi Mga paninda, i-drag ito sa column ng query designer Mga mesa. Maaari kang mag-drag sa tatlong paraan: sa pamamagitan ng pag-drag, sa pamamagitan ng pag-double click sa talahanayan, o sa pamamagitan ng pagpili dito at pag-click sa button na “>”. Buksan natin ang thread Mga Rehistro ng Impormasyon at humanap ng table doon PricesNomenclature.ShortcutLatest, i-drag din ito sa column Mga mesa. Ang dalawang talahanayan na ito ay sapat na para sa aming query.

Piliin natin ang mga patlang na kailangan natin mula sa mga resultang talahanayan. Upang gawin ito, sa hanay Mga mesa buksan natin ang mesa at hanapin ang mga patlang: Nomenclature, Halaga, Presyo, Dami at i-drag ang mga ito sa ikatlong hanay ng constructor - Mga patlang. Palawakin natin ang talahanayan , hanapin natin ang field Presyo at i-drag din ito sa Mga patlang.

Ang istraktura ng mga talahanayan at mga patlang ng aming kahilingan ay handa na, ngayon ay lumipat tayo sa mga kundisyon. Kailangan namin ang tabular data Mga paninda ay hindi kinuha mula sa lahat ng mga resibo, ngunit mula lamang sa isa na aming nai-print. Upang gawin ito, magpapataw kami ng isang kondisyon sa talahanayan Pagtanggap ng GoodsServicesGoods. Pumunta tayo sa tab na "Mga Kundisyon" ng taga-disenyo ng query. Sa column Mga patlang ang mga talahanayan na napili namin nang mas maaga ay matatagpuan, para sa kondisyon na kakailanganin namin ng isang patlang Link mula sa mesa Pagtanggap ng mga Goods and Services Goods, I-drag natin ito sa window ng Mga Kondisyon.

Sa 1C query maaari mong gamitin ang mga parameter na kailangan nila upang ilipat ang data sa kahilingan. Halimbawa, kung gusto naming limitahan ang pagpili ng mga dokumento sa isang partikular na dokumento, maaari kaming gumamit ng parameter para magpasa ng link sa dokumentong ito sa kahilingan at gamitin ang parameter na ito sa kundisyon. Ito mismo ang aming gagawin sa aming kahilingan.

Pagkatapos ng bintana Mga tuntunin nagdagdag kami ng field Link, ang taga-disenyo ng query mismo ay gagawa ng parameter na may parehong pangalan at ilalagay ito pagkatapos ng “=” sign. Maaaring palitan ang pangalan ng parameter na ito kung ninanais. Sa text ng kahilingan, ang mga parameter ay minarkahan ng "&" sign, ngunit sa kasong ito hindi ito kinakailangan, dahil ipinapalagay na ang pangalawang bahagi ng kundisyon ay naglalaman ng isang parameter, kailangan mo lamang itong tandaan. Tatalakayin sa ibaba kung paano magpasa ng value sa isang 1C na parameter ng kahilingan.

Dahil sa kahilingan ay gumagamit kami ng hindi isang buong talahanayan ng mga presyo ng produkto, ngunit isang virtual na isa (isang slice ng huli sa kasong ito), kailangan naming itakda ang mga kondisyon para sa pagbuo ng virtual na talahanayan na ito, sa aming kaso ito ang cut-off date at ang kundisyon para sa uri ng mga presyo (ang mga presyo na may mahigpit na tinukoy na uri ng presyo ay ang tinukoy sa dokumento ng resibo na aming ini-print).

Upang punan ang mga parameter ng virtual na talahanayan, pumunta sa tab Mga talahanayan at mga patlang tagabuo ng query, sa column Mga mesa piliin ang talahanayan PricesNomenclatureCuttingLatest at pindutin ang pindutan Mga Pagpipilian sa Virtual Table, na matatagpuan sa tuktok. Sa window na bubukas, sa field Panahon dapat kang magtakda ng parameter kung saan ipapasa ang petsa kung kailan gagawin ang pagbawas sa presyo. Sa aming kaso, ito ang magiging kasalukuyang petsa (iyon ay, ngayon), kaya tatawagin namin ang parameter na "&CurrentDate". Sa field ng mga kondisyon isusulat namin ang mga kondisyon para sa uri ng presyo, ipapasa din namin ito sa parameter, na tatawagin naming "&TypePrice". Magiging ganito ang resultang kundisyon (kung saan Uri ng Presyo- rehistro ng pagsukat Mga presyo ng item):

PriceType = &PriceType

Ang mga parameter ng virtual na talahanayan ay napunan, i-click ang pindutan OK.

Ngayon na limitado na natin ang pagpili sa dokumentong kailangan lang natin, gumawa tayo ng mga koneksyon sa pagitan ng mga talahanayan ng query. Kung hindi ito nagawa, ang mga presyo mula sa talahanayan ng PricesNomenclatureSliceLast ay hindi maiuugnay sa item mula sa resibo. Pumunta tayo sa tab Mga koneksyon taga-disenyo ng query. Gumawa tayo ng koneksyon sa buong field Nomenclature sa pagitan ng aming dalawang mesa. Upang gawin ito, pindutin ang pindutan Idagdag, sa bukid Talahanayan 1 pumili ng mesa Pagtanggap ng GoodsServicesGoods, at sa patlang Talahanayan 2 - PricesNomenclatureSliceLast. Sa mga kundisyon ng komunikasyon, piliin ang mga field Nomenclature mula sa magkabilang mesa.

Dapat ding tandaan na sa pagpili ng query kailangan nating makuha ang lahat ng mga hilera mula sa bahagi ng tab Mga paninda at mga presyo lamang kung available ang mga ito sa kasalukuyang petsa para sa uri ng presyo ng dokumento. Kaya, ang tabular data Mga paninda ay sapilitan, ngunit hindi available ang data ng breakdown ng presyo. Samakatuwid, sa mga ugnayan sa pagitan ng mga talahanayang ito kinakailangan na gamitin ang tinatawag na LEFT JOIN, at ang kaliwa (o kinakailangan) na talahanayan ay magiging Pagtanggap ng GoodsServicesGoods, at ang kanan (o opsyonal) PriceNomenclatureSliceLast. Upang ang kaliwang pagsasama ng mga talahanayan ng query ay gumana tulad ng inilarawan ko sa itaas, kailangan mong lagyan ng tsek ang kahon Lahat pagkatapos ng field Talahanayan 1.


Ang kahilingan ay halos handa na, ang natitira ay upang gumana nang kaunti sa mga alias sa field. Pumunta tayo sa bookmark Mga Unyon/Alyas at magtakda ng alias para sa field PricesNomenclature Slice Latest.Price. Ang palayaw na pangalan ay magiging - PriceAsToday, ito ay kinakailangan upang ang mga pangalan ng mga field ng pagpili ng query at ang mga pangalan ng mga parameter sa layout ng naka-print na form ay magkatugma.

Kumpleto na ang gawain sa query designer, i-click ang OK. Pagkatapos magsara ng window ng taga-disenyo, makikita mo na ang linya na may text ng kahilingan ay napunan at ganito ang hitsura:

Request.Text = "SELECT | Receipt of GoodsServicesProducts.Nomenclature, | Receipt of GoodsServicesProducts.Halaga, | Receipt of GoodsServicesProducts.Price, | Receipt of GoodsServicesProducts.Dami ng, | PricesNomenclature ng Presyo | Presyo ng Presyo F. Presyo | GoodsServices.Goods AS Receipt ProductsServicesProducts |. LEFT CONNECTION RegisterInformation.PricesNomenclature.SliceLast (| &CurrentDate, PriceType = &PriceType) AS PricesNomenclatureSliceLast ON

Isinasagawa ang kahilingan

Ipasa natin ang mga kinakailangang parameter sa kahilingan para dito gagamitin natin ang paraan ng kahilingan SetParameter(<ИмяПараметра>,<Значение>). Upang makuha ang kasalukuyang petsa, gamitin ang built-in na function CurrentDate(), ibinabalik nito ang petsa at oras ng computer.

Magpatakbo tayo ng query para makakuha ng sample na may data na kailangan natin. Para magawa ito, gagamitin muna namin ang paraan ng paghiling Run(), at pagkatapos ay ang pamamaraan Pumili ().

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

Punan ang naka-print na talahanayan ng form

Bilang resulta, sa variable Sample ay naglalaman ng isang seleksyon ng mga resulta ng query, maaari kang mag-navigate sa pamamagitan nito gamit ang pamamaraan Susunod(), at upang mapunta sa buong bagay kailangan mo ng isang loop paalam. Ang disenyo ay magiging ganito:

Habang Select.Next() Loop EndLoop;

Nasa loop na ito na pupunan at ipapakita namin ang layout area Data. Ngunit una, simulan natin ang dalawang variable ng uri ng numero. Sa mga ito ay kokolektahin natin ang mga kabuuan ayon sa dami at halaga na kailangan nating ipakita sa lugar Silong.

TotalSum = 0; TotalQuantity = 0;

Sa loob ng loop pupunuin namin ang lugar Data data mula sa kasalukuyang elemento ng pagpili sa mga variable TotalAmount At TotalQuantity magdagdag ng mga halaga ng kabuuan at dami, at sa wakas, ipakita ang lugar sa isang dokumento ng spreadsheet gamit ang paraang pamilyar na sa amin Output(). Dahil ang mga pangalan ng mga field ng aming kahilingan ay ganap na nag-tutugma sa mga pangalan ng mga parameter ng lugar Data, pagkatapos ay upang punan ay gagamitin namin ang built-in na pamamaraan FillPropertyValues(<Приемник>, <Источник>), na kinokopya ang mga halaga ng ari-arian<Источника>sa mga ari-arian<Приемника>.

Habang Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection);

TotalSum = TotalSum + Sample.Sum;

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

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

Ang dokumento ng spreadsheet ay ganap na napunan; Ngunit sa karaniwang mga pagsasaayos ng 1C 8, ang mga pamamaraan ng mga espesyal na module ay responsable para sa output ng mga panlabas na naka-print na mga form. Samakatuwid, ito ay sapat na upang bumalik mula sa pag-andar Seal() nakumpletong dokumento ng spreadsheet.

Ibalik ang TabDoc;

Sa puntong ito, ang yugto ng programming ay nakumpleto at ang paglikha ng 1c printing form ay halos kumpleto na. Buong teksto ng function Seal() Hindi ko ito ibibigay dito, maaari mong tingnan ito sa napi-print na file, na maaari mong i-download sa ibaba ng artikulo.

Paglikha ng isang naka-print na form 1C. Mga pagpipilian sa awtomatikong pagpaparehistro

Kapag nagkokonekta ng panlabas na form sa pag-print sa database, hindi awtomatikong tinutukoy ng system kung aling dokumento o reference na libro ang inilaan para sa pag-print na kailangan mong piliin ito nang manu-mano. At kung ang ibang tao ay sumulat ng naka-print na form, at ikaw ay nakatalaga lamang sa pagkonekta nito, kung gayon ang pagpipilian ay maaaring maging hindi maliwanag. Upang maiwasan ang mga ganitong problema, kinakailangan na lumikha ng isang layout na may mga parameter ng auto-registration sa lahat ng mga panlabas na naka-print na form. Kung ito ay ginawa at wastong na-format, awtomatikong tinutukoy ng system kung aling dokumento o reference book ang naka-print na form para sa.

Ginagawa ito tulad ng sumusunod:

  • Sa panlabas na pagproseso, lumikha kami ng isang bagong layout. Tinatawag namin itong "Settings_Auto-Registration" (mahalagang hindi magkamali!).
  • Sa unang cell ng layout ay isinusulat namin Mga dokumento.(o Mga direktoryo.) at ang pangalan ng dokumento kung saan kailangan mong ikonekta ang naka-print na form.

Pagkonekta ng panlabas na form sa pag-print sa base

  • Simulan ang 1C 8 sa mode Enterprise;
  • Pumunta sa menu Serbisyo -> Mga karagdagang ulat at pagpoproseso -> Mga karagdagang panlabas na naka-print na form;
  • I-click ang button Idagdag;
  • Sa window na bubukas, i-click ang icon Palitan ang external processing file;
  • Kung nakagawa ka ng mga parameter ng auto-registration, sumasang-ayon kaming gamitin ang mga ito;
  • Kung hindi ka pa nakagawa ng mga parameter ng auto-registration, pagkatapos ay sa tabular na bahagi Accessory ng plato sa pag-print idagdag ang kinakailangang dokumento o reference book;
  • Pindutin ang pindutan OK.

Pagkatapos nito, ang panlabas na form sa pag-print ay magiging available sa menu selyo dokumento Pagtanggap ng mga kalakal at serbisyo. Ang paglikha ng 1C na naka-print na form ay maaari na ngayong ituring na kumpleto.

Kaya, ano ang kailangan nito? Halimbawa, kailangan mong literal na baguhin ang ilang mga character sa layout ng isang naka-print na form, o magdagdag ng isang linya o mag-alis ng isang bagay. Alisin ang configuration mula sa suporta at pagkatapos ay makaranas ng mga paghihirap sa bawat pag-update? Para saan? Mas mahusay na gumamit ng panlabas na plato sa pagpi-print!

Upang malikha ito, kailangan namin ng pagproseso na nakita ko sa Internet, salamat sa may-akda para sa himalang ito na "External Printed Form Designer". Maaari mong i-download at talakayin ito sa: forum.-infostart.-ru/-forum24/-topic74569/.

Magsimula tayo, magsisimula ang pagproseso sa 1C:Enterprise. Ito ang hitsura ng pangunahing window:

Halimbawa, kailangan nating baguhin ang naka-print na form ng dokumento na "Cash receipt order" upang gawin ito, piliin ito sa field na Uri ng dokumento. Pumunta kami sa configurator at kopyahin ang buong module ng dokumentong "Cash receipt order". Pagkatapos ay i-paste ito sa field na "Source text", tulad ng ipinapakita sa sumusunod na larawan:

Ang susunod na hakbang ay ang Build tree button. Narito ang lahat ng kailangan sa amin ay hanapin ang pangalan ng pamamaraang "I-print" sa listahan ng mga pamamaraan, piliin ito at i-click ang pindutang "Piliin ang pangunahing". Ang pagpoproseso mismo ay tutukuyin kung aling mga pamamaraan at pag-andar ang kailangan para sa pag-print at bukod pa rito ang "kailangan/hindi kailangan" na buton, pinili ko ang dalawang pamamaraan na "Kumuha ng Structure of Printed Forms", dahil ang katawan ng procedure ay gumagamit ng "Gumawa ng Talahanayan para sa Pag-post" na function , pagkatapos ay pipiliin din namin ito gamit ang "kailangan" na button:

Ang susunod na hakbang ay ipasok ang pangalan ng layout na ipi-print at kung saan namin babaguhin, tulad ng ipinapakita:

Bubuksan namin ito kaagad upang suriin! Magbubukas ang form sa pagpoproseso, sa field na pipiliin namin ang kinakailangang dokumento para sa pag-print ng cash register, ang pindutan ng form na "Run" at ang panlabas na form sa pag-print ay handa na.

Mula sa form sa pagpoproseso, maaari mo ring madaling magrehistro ng isang panlabas na naka-print na form para dito mayroong isang espesyal na pindutan sa form, pagkatapos nito ay nagiging posible na mag-print mula sa dokumento. Iyon lang, maaari ka na ngayong gumawa ng mga pagbabago sa layout ng pag-print. Good luck!

Ito ay walang lihim na, kahit na sa kasalukuyan parami nang parami ang mga kumpanya na lumilipat sa pamamahala ng elektronikong dokumento, ang lumang kasabihan na "Kung walang papel, ikaw ..." ay hindi nawawala ang kaugnayan nito. Nangyayari na sa ilang kadahilanan ang mga awtoridad sa inspeksyon ay pangunahing interesado sa mga dokumento ng papel. Samakatuwid, kung aktibong ginagamit mo ang 1C: Accounting o Enterprise program para sa pinansiyal na kontrol, mahalagang malaman kung paano mag-print ng isang elektronikong dokumento na nilikha gamit ang programa.

Binibigyang-daan ka ng mga naka-print na form sa 1C na baguhin ang isang elektronikong dokumento sa isang naka-print na bersyon.

Para dito, nagbigay ang developer ng isang mahusay na tool - Print Designer. Sa tulong nito, maaari kang lumikha ng mga dokumento kung saan maaari mong tukuyin ang anumang data na kailangan mo, at hindi lamang ng ilang karaniwang mga form. Ito ay totoo lalo na para sa mga dokumentong iyon na walang mahigpit na kinokontrol na form, na hindi maaaring baguhin sa anumang pagkakataon. Ito, sa partikular, ay maaaring magsama ng isang pagkilos ng pagkumpleto ng trabaho, ilang mga invoice o pagbabayad.

Sa gabay na ito, iminumungkahi naming maunawaan ang mga kakayahan ng Print Designer, isaalang-alang kung anong mga uri ng mga form sa pag-print ang maaaring mayroon at kung paano sila naiiba sa isa't isa. Ipapakita rin namin sa isang halimbawa kung paano i-print ang nilikha na form.

Una, ito ay nagkakahalaga ng pag-unawa kung ano, sa pangkalahatan, ang isang naka-print na form ay nasa 1C 8. Ito ay isang 1C spreadsheet na template (tulad ng Excel), kung saan ang ilang mga variable na hilera ay tinukoy, na puno ng data mula sa programa kapag lumilikha ng isang dokumento.

Ang mga form sa pag-print ay may dalawang uri:

  • Panloob (built-in). Ang mga ito ay naka-imbak sa pagsasaayos ng programa, kaya mas mahusay na huwag baguhin ang mga ito, dahil maaaring lumitaw ang mga problema sa paglaon sa panahon ng pag-update.
  • Panlabas - nakaimbak nang hiwalay sa mga setting ng programa. At sa kanilang tulong, maaari kang lumikha at maghanda para sa pag-print ng isang dokumento ng halos anumang kumplikado, nang hindi naaapektuhan ang pagsasaayos ng programa ng 1C 8.

Paano pumili ng mga nakahandang layout? Pagkatapos mong magsagawa ng operasyon ng kita o gastos, halimbawa, magsulat ng isang sertipiko ng pagkumpleto ng trabaho, i-click mo ang pindutang "I-print" upang i-print ang mga dokumento. Ang listahan ay nagpapakita ng isang listahan ng mga napi-print na form na napunan na ng inilagay na data tungkol sa transaksyon na isinagawa at sa iyong kumpanya. Sa pamamagitan ng pag-click sa uri ng dokumentong kailangan mo, magbubukas ka ng preview window upang matiyak mong tama ang data na iyong pinunan. Ang print button ay nagpi-print ng dokumento sa printer.

Nang wala na ang mga pangunahing kaalaman, alamin natin kung saan naka-imbak ang lahat ng iyong napi-print. Lumipat tayo sa susunod na tanong.

Saan nakaimbak ang mga naka-print na form?

Maaari mong tingnan ang mga built-in na naka-print na form pareho sa configurator mode at sa normal na enterprise mode. Sa unang kaso, kailangan mong i-click ang kaukulang pindutan sa window ng pagsisimula kapag sinimulan ang programa. Makikita mo ang menu ng programa, hanapin ang sangay ng "Mga Pagbebenta ng Mga Produkto at Serbisyo", na naglalaman ng item na "Mga Layout". Madalas itong naglalaman lamang ng dalawang item - "Invoice" at "Act". Nasaan ang iba kung gayon, dahil mas malawak ang listahan? Nagtatago lang sila sa ibang lugar. Kailangan mong buksan ang "General" - "General Layouts" na sangay, halos lahat ng mga layout ay naka-imbak dito.

Sa pangalawang kaso, kailangan mong pumunta sa seksyon ng menu na "Administration" - "Mga form sa pag-print, mga ulat at pagproseso" - "Mga layout ng mga naka-print na form". Ipapakita nito ang lahat ng mga layout ng dokumento. Kapansin-pansin na maaari silang i-edit sa parehong menu.

Tulad ng para sa mga panlabas na form, kailangan mo munang likhain ang mga ito sa pamamagitan ng configurator mode, o sa pamamagitan ng pag-download ng isang yari na file, at pagkatapos ay ikonekta ang mga ito sa menu na "Administration" - "Mga naka-print na form, ulat at pagproseso" - "Mga karagdagang ulat at pagproseso”. Pag-uusapan natin ito mamaya.

Paglikha ng isang simpleng form gamit ang built-in na Print Designer

Ang ganitong naka-print na form ay hindi nagpapahiwatig ng posibilidad ng malalim na pag-edit, dahil magkakaroon ito ng pagbabago sa pagsasaayos ng programa, pati na rin ang mga karagdagang paghihirap kapag ina-update ito. Gayunpaman, kung ikaw ay ganap na nasiyahan sa karaniwang hugis o nais na bungkalin ang mga intricacies ng paglikha ng isang panlabas na hugis, ang pamamaraang ito ay ganap na angkop para sa iyo.

  1. Una sa lahat, ilunsad sa mode ng Configurator, hanapin ang dokumentong kailangan mo, halimbawa, Mga Pagbebenta ng Mga Produkto at Serbisyo, sa mga katangian ng dokumento pumunta sa Mga Aksyon - Mga Taga-disenyo - Taga-disenyo ng Pag-print.
  2. Kapag sinenyasan para sa isang opsyon sa trabaho, piliin ang Mga Regular na Form.
  3. Bigyan ng pangalan ang bagong layout, halimbawa, "Print Invoice."
  4. Piliin ang mga detalye na gusto mong makita sa header ng dokumento. Bukod dito, dapat na piliin ang mga ito sa pagkakasunud-sunod kung saan ipapakita ang mga ito. Upang pumili, kailangan mong i-highlight ang item sa kaliwang column gamit ang cursor at pindutin ang arrow sa gitna ng screen upang lumabas ang mga detalye sa kanang column.
  5. Markahan ang mga detalye na ipapakita sa seksyon ng talahanayan. Ang pagpili ng mga detalye ay sumusunod sa parehong prinsipyo tulad ng sa nakaraang talata.
  6. Sa parehong paraan, piliin ang mga detalye ng ibabang bahagi ng dokumento.
  7. Sa huling yugto ng paglikha, piliin kung gusto mong mag-print kaagad nang walang preview, kung kailangan mong protektahan ang talahanayan, at pagkatapos ay kumpirmahin ang paglikha ng form gamit ang OK na pindutan.

Paglikha ng panlabas na form sa pag-print

Ang mga form na nilikha sa pamamagitan ng Print Designer ay maihahambing sa isang visual software editor, kapag hindi mo inilagay ang lahat ng code nang manu-mano, ngunit binubuo lamang ito mula sa mga iminungkahing elemento. Ang panlabas na form ay isang file na may manu-manong nakasulat na code ng programa, na naglalarawan sa pamamaraan para sa pagpapakita ng data sa screen. Ito ang nagbibigay-daan sa iyong i-edit ang naka-print na form gayunpaman ang gusto mo, na tumutukoy sa ganap na anumang data sa anumang pagkakasunud-sunod.

Ang isang karagdagang kalamangan ay, kahit na hindi mo naiintindihan o hindi mo nais na maunawaan ang mga intricacies ng 1C 8 programming, maaari mong ipagkatiwala ang pamamaraang ito sa mga propesyonal. Magagawa nilang ihanda ang kinakailangang form para sa iyo at ibigay ito sa iyo bilang isang handa na file, na maaari mo lamang i-activate sa ilang mga pag-click ng isang pindutan.

Ngayon ay pag-usapan natin ang tungkol sa mismong pamamaraan. Tingnan natin ang halimbawa ng paglikha ng layout ng "Invoice" para sa dokumentong "Mga Benta (mga gawa, mga invoice)".

  1. Buksan ang 1C 8 program sa Configurator mode.
  2. I-click ang File - Bago - External Processing, bigyan ito ng pangalan (hindi ito dapat magsama ng mga puwang), pagkatapos ay i-click ang Actions - Open Object Module.
  3. Sa input field na bubukas, ipasok ang sumusunod na code (ang mga halaga na maaaring baguhin sa iyong sarili ay naka-highlight sa dilaw):

Function InformationOnExternalProcessing() Export
Mga Parameter ng Pagpaparehistro = Bagong Istraktura;
ArrayDestinations = Bagong Array;
Array of Assignments.Add("Document.Sales of Goods and Services"); //Tukuyin ang dokumento kung saan kami gumagawa ng panlabas na pag-print. anyo
Mga Parameter ng Pagpaparehistro.Insert("View", "PrintForm"); //maaaring - PrintableForm, Pagpuno ng Bagay, Karagdagang Ulat, Paglikha ng Mga Kaugnay na Bagay...
Mga Parameter ng Pagpaparehistro.Insert("Destination", Array of Destination);
Mga Parameter ng Pagpaparehistro.Insert("Pangalan", "Order para sa pagbebenta ng mga kalakal"); //pangalan kung saan irerehistro ang pagproseso sa direktoryo ng panlabas na pagproseso
Mga Parameter ng Pagpaparehistro.Insert("SafeMode", FALSE);
Mga Parameter ng Pagpaparehistro.Insert("Bersyon", "1.0");
Mga Opsyon sa Pagpaparehistro.Insert("Impormasyon", "Ang napi-print na form na ito ay nilikha bilang isang sample");
CommandTable = GetCommandTable();
AddCommand(CommandTable, "External Order", "ExternalOrder", "CallServerMethod", True, "MXL Print");
Mga Parameter ng Pagpaparehistro.Insert("Commands", CommandTable);
ReturnRegistrationParameters;
EndFunction // Impormasyon TUNGKOL SA Panlabas na Pagproseso()
Function na GetTableCommand()
Mga Utos = Bagong ValueTable;
Commands.Columns.Add("View", New TypeDescription("Row"));//kung ano ang magiging hitsura ng paglalarawan ng form sa pag-print para sa user
Commands.Columns.Add("Identifier", New TypeDescription("String")); //print ang pangalan ng layout ng form
Commands.Columns.Add("Usage", NewTypeDescription("Row")); //Tumawag sa ServerMethod
Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean"));
Commands.Columns.Add("Modifier", NewTypeDescription("Row"));
Bumalik na Koponan;
EndFunction
Pamamaraan AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "")
NewCommand = CommandTable.Add();
NewCommand.View = View;
NewCommand.Identifier = Identifier;
NewCommand.Use = Gamitin;
NewCommand.ShowAlert = ShowAlert;
NewCommand.Modifier = Modifier;
EndProcedure

  1. I-save ang layout para sa pag-print bilang isang file sa anumang folder sa iyong hard drive, pangalanan ito nang naaangkop.

Ipasok sa parehong dokumento ang pamamaraan para sa pagsisimula ng pag-print mula sa menu ng programa (ang mga utos na naka-highlight sa dilaw ay dapat tumugma sa linya):

Magdagdag ng Utos(Talahanayan ng mga Utos, “Panlabas na Kaayusan”, “Panlabas na Kaayusan”):
Procedure Print(Array of Objects, Collection of PrintForms, PrintObjects, Output Parameters) Export
Pamamahala sa Pag-print.Output TabularDocumentIntoCollection(
Koleksyon ng mga Form sa Pag-print,
"Panlabas na pagkakasunud-sunod"
"Panlabas na pagkakasunud-sunod"
GeneratePrintForm(ArrayofObjects, PrintObjects);
EndProcedure // Print()

  1. Magpasok ng layout para sa pagpuno ng naka-print na form sa pamamagitan ng pag-click sa pangalan ng panlabas na form sa ibabang kaliwang sulok at pagpili sa "Mga Layout" - "Magdagdag" - "Spreadsheet Document", bigyan ito ng pangalan. Pagkatapos nito, punan ang spreadsheet ng kinakailangang data. Halimbawa:
    • Order para sa product No. [Realization Number] mula sa [Realization Date] - right-click - Properties - Layout - Filling - Template.
    • Gumawa ng mga column na gusto mong lumabas sa iyong dokumento.
    • Piliin ang ipinasok na mga cell, i-click ang Talahanayan - Mga Pangalan - Magtalaga ng pangalan - ilagay ang pangalang "Header".
    • Kopyahin ang hilera gamit ang mga header ng talahanayan, piliin ang mga ito, i-right-click - Properties - Layout - Pagpuno - Parameter.
    • Pumili ng isang linya at pangalanan ito, halimbawa, "StringTCH".
    • Gumawa ng footer: isulat ang Kabuuan, ang cell kung saan dapat ipakita ang kabuuang halaga, pangalanan itong TotalTotal, piliin ang "Mga Parameter" sa mga katangian.
    • Tukuyin ang taong responsable, at sa mga katangian ng cell upang ipakita ang apelyido, tukuyin ang "Mga Parameter".
    • Piliin ang mga row sa ibaba at pangalanan ang hanay na "Footer".
  2. Ngayon sa input window, ipasok ang function para sa pagbuo ng isang naka-print na form:

Function GeneratePrintForm(LinkToDocument, PrintObjects)
TabularDocument = Bagong TabularDocument;
TabularDocument.Pangalan ng Mga Parameter ng Pag-print = "PRINT_PARAMETERS_Invoice para sa Pagbabayad sa VRTU";
Pagproseso ng Layout = GetLayout("Payment InvoiceExternal");
//punan ang header
AreaHeader = ProcessingLayout.GetArea("Header");
AreaHeader.Parameters.DocumentNumber = LinkToDocument.Number;
AreaHeader.Parameters.DocumentDate = LinkToDocument.Date;
AreaHeader.Parameters.OrganizationName = LinkToDocument.Organization.Name;
//output ang header sa isang spreadsheet na dokumento
TabularDocument.Output(HeaderArea);
//punan ang mga linya ng PM
RowArea = ProcessingLayout.GetArea("ROW");
Para sa Bawat Kasalukuyang Linya Mula sa Document Link.Products Cycle
FillPropertyValues(RowArea.Parameters, CurrentRow);
TabularDocument.Output(RowArea);
EndCycle;
//punan ang basement
AreaFooter = ProcessingLayout.GetArea("Footer");
AreaFooter.Parameters.QuantityTotal = LinkToDocument.Products.Total("Dami");
AreaFooter.Parameters.AmountTotal = LinkToDocument.Products.Total("Amount");
AreaFooter.Parameters.ResponsibleName = LinkToDocument.Manager.Name;
//output ang footer sa isang spreadsheet na dokumento
TabularDocument.Output(AreaFooter);
TabularDocument.AutoScale = True;
ibalik ang TabularDocument;
EndFunction

  1. I-save ang iyong mga pagbabago sa dokumento.
  2. Ngayon ay kailangan mong i-activate ang nilikha na form. Upang gawin ito:
    • Pumunta sa "Pamamahala" - "Mga naka-print na form, ulat at pagproseso" - "Mga karagdagang ulat at pagproseso".
    • I-click ang pindutang "Lumikha", piliin ang panlabas na file ng form sa Explorer, kumpirmahin ang iyong entry gamit ang pindutang "I-save at Isara".
  3. Upang suriin, pumunta sa Mga Benta - Mga Benta (mga gawa, mga invoice), i-click ang pindutang "I-print", piliin ang iyong form at suriin kung napunan ito nang tama.
  4. I-print ang dokumento kung kinakailangan.

Konklusyon

Tumingin kami sa isang halimbawa ng paglikha ng napi-print na form sa pamamagitan ng Print Designer at sa pamamagitan ng tool para sa paglikha ng mga panlabas na form. Umaasa kami na ang lahat ay gagana para sa iyo. Iwanan ang iyong mga katanungan sa mga komento.

Isaalang-alang natin ang pagsulat ng pinakasimpleng naka-print na form sa 1s 8.1 - 8.2 gamit ang halimbawa ng pagsasaayos Enterprise accounting 2.0. Sabihin nating kailangan mong magsulat ng panlabas na naka-print na form para sa isang dokumento: ipakita ang pangunahing data ng dokumento, pati na rin mula sa tabular na bahagi Mga paninda: katawagan, presyo, dami at halaga.

Maaari mong i-download ang resultang halimbawa mula sa .

Sa configurator 1C Enterprises 8 lumikha ng panlabas na pagproseso ( File->Bago->External Processing), itakda ang pangalan, lumikha ng mga kinakailangang detalye para sa panlabas na naka-print na form Sanggunian ng Bagay may uri DocumentLink.

Paglikha ng naka-print na layout ng form

Magdagdag ng bago layout, iwanan ang uri ng layout dokumento ng spreadsheet. Lumilikha kami ng tatlong lugar sa layout: Header, Data At Silong. Magagawa ito sa pamamagitan ng pagpili ng kinakailangang bilang ng mga linya at pag-click sa menu Talahanayan->Mga Pangalan->Magtalaga ng pangalan (Ctrl+Shift+N).

Pagkatapos nito, nagsisimula kaming maglagay ng teksto at mga parameter sa mga lugar. Ilalagay natin ito sa header pangalan ng naka-print na form, numero ng dokumento At organisasyon, at iguhit din ang mga hangganan ng header ng talahanayan at isulat ang mga pangalan ng mga column. Kapag gumagawa ng parameter sa mga katangian ng cell, sa tab na Layout dapat mong itakda ang property Pagpupuno sa kahulugan Parameter.

Sa lugar Data gumawa tayo ng mga parameter para sa pagpapakita ng mga row sa tabular section( Nomenclature, presyo atbp.), at sa lugar Silong para sa mga kabuuan ayon sa dami at halaga.

Programming

Pumunta tayo sa printing form object module Mga Aksyon->Buksan ang module ng object.

Gumawa tayo ng export function doon na mandatory para sa mga naka-print na form. Seal().

Function Print () I-export EndFunction

Sa function ay gagawa kami ng variable para sa dokumento ng spreadsheet, kung saan ang naka-print na form ay magiging output, nakukuha namin layout At mga lugar ng layout.

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

Punan natin ang mga parameter mga sumbrero at dalhin ito sa dokumento ng spreadsheet.

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

Upang makakuha ng mga hilera ng talahanayan Mga paninda ginagamit namin ang kahilingan.

Kahilingan = bagong Kahilingan; Request.SetParameter("Link", ObjectLink); Query.Text = "PUMILI | Mga Pagbebenta ng Mga Kalakal at Serbisyong Katawagan, | Halaga ng Pagbebenta ng Mga Kalakal at Serbisyo, | Pagbebenta ng Mga Produkto at Serbisyong Presyo. | Benta ng Mga Produkto at Serbisyong Dami|MULA | Dokumento|SAAN | Mga Benta ng Mga Produkto at Serbisyo Link = &Link";

Ipinapasa namin ang mga detalye sa parameter ng kahilingan Sanggunian ng Bagay, upang ipahiwatig sa kondisyon SAAN, na kailangan lang namin ng data mula sa dokumento kung saan kami nagmula sa naka-print na form. Upang makakuha ng sample na query, isasagawa muna namin ito at pagkatapos ay piliin ang mga row.

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

Susunod sa loop punan namin ang mga parameter ng lugar Data para sa bawat linya ng pagpili ng dokumento at ipakita ang mga ito sa dokumento ng spreadsheet. Kinakalkula din namin ang kabuuang mga halaga sa loop dami At mga halaga. Hindi namin pupunan ang bawat parameter nang hiwalay, ngunit gagamitin ang pamamaraan Punan angPropertyValues((<Приемник>, <Источник>) mula sa pandaigdigang konteksto, kinokopya nito ang mga halaga ng ari-arian <Источника> sa mga ari-arian <Приемника> . Ginagawa ang pagtutugma ng mga pangalan ng property. Maaari mong basahin ang higit pa tungkol dito sa syntax assistant 1C Enterprise 8.

TotalSum = 0 ; TotalQuantity = 0 ; Habang Selection.Next() Loop FillPropertyValues(AreaData.Parameters,Selection);

TotalSum = TotalSum + Sample.Sum; Silong.

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

TotalQuantity = TotalQuantity + Sample.Quantity; Seal().

TabDoc.Output(AreaData); EndCycle ;

Punan at ipakita ang lugar Ibinabalik ang nakumpletong dokumento ng spreadsheet mula sa function ibalik ang TabDoc; Kung gumagamit ka ng isa sa mga karaniwang configuration, pagkatapos ay ibalik ang spreadsheet na dokumento.

1C

ay ipapakita ang naka-print na form sa screen. Maaari mo ring gamitin ang paraan ng spreadsheet para sa output. Ipakita() 5. Pagkonekta ng naka-print na form sa isang dokumento SA karaniwang mga pagsasaayos 1C 8 Mayroong isang direktoryo para sa pagrerehistro ng mga panlabas na naka-print na form.

Panlabas na Pagproseso

. Upang kumonekta, pumunta sa menu sa enterprise mode Serbisyo->Mga karagdagang ulat at pagproseso->Mga karagdagang panlabas na naka-print na form Magdagdag ng bagong elemento ng direktoryo, i-load ang naka-print na form mula sa disk at piliin ang uri ng dokumento.

Ngayon sa dokumento

Pagbebenta ng mga kalakal at serbisyo May lalabas na bagong printable. Auto-registration ng naka-print na form Upang matiyak na kapag kumokonekta sa isang form sa pag-print hindi mo kailangang piliin nang manu-mano ang uri ng dokumento, maaari mong i-configure awtomatikong pagpaparehistro . Upang gawin ito, magdagdag ng bagong layout at tawagan ito<Наименование документа> Settings_Auto-registration (ito ang tanging paraan) at sa unang cell nito ay nagsusulat tayo<Наименование справочника> ).

Mga dokumento. (o.

Mga direktoryo. Ngayon, kapag nagkokonekta ng isang printing form, hihilingin sa amin na gamitin

mga parameter ng auto-registration

Taga-disenyo ng layout

Sinusuportahan din ng taga-disenyo ang paggawa ng mga layout na naglalaman ng ActiveDocument (halimbawa, isang dokumento ng Word, isang Excel sheet, o isang drawing na CorelDRAW). Bilang karagdagan, pinapayagan ka ng taga-disenyo na lumikha ng mga layout na naglalaman ng mga dokumento ng HTML o mga geographical na diagram. Para sa mga ulat na gumagamit ng sistema ng komposisyon ng data, pinapayagan ka ng taga-disenyo na gumawa ng mga layout na naglalaman ng diagram ng komposisyon ng data at layout ng disenyo ng komposisyon ng data.

Ang resulta ng gawain ng taga-disenyo ay isang tapos na layout. Halimbawa, maaaring ito ay isang blangkong layout ng dokumento ng spreadsheet.

 


Basahin:



Paano magbukas ng isang kasalukuyang account sa Sberbank para sa isang ligal na nilalang at indibidwal na negosyante

Paano magbukas ng isang kasalukuyang account sa Sberbank para sa isang ligal na nilalang at indibidwal na negosyante

Ang pagpili ng isang bangko para sa isang legal na entity ay hindi isang madaling gawain, mas mahirap kaysa sa isang indibidwal na negosyante. Ang mga negosyante, bilang mga indibidwal, ay nasa ilalim ng...

Kung si Lenin ay inilabas sa mausoleum: mga propesiya

Kung si Lenin ay inilabas sa mausoleum: mga propesiya

"Si Tsar Nicholas, dahil sa labis na pagmamahal sa Russia at sa tao, ay nagpakumbaba, nagdusa, nagdusa, at pumunta sa Krus. Pinatawad niya ang lahat, maging ang masasamang nagpapahirap...

Rassolnik na may mga karot at sibuyas

Rassolnik na may mga karot at sibuyas

Ang ganitong kawili-wiling sopas ay tila nakakagulat at kakaiba sa mga dayuhan. Mga cereal, atsara, sariwang gulay. At isang taong Ruso lamang ang nakakaalam kung paano...

Babaeng Aprikano: paglalarawan, kultura

Babaeng Aprikano: paglalarawan, kultura

Ang Africa ay marahil ang pinakakabaligtaran at misteryoso sa 5 kontinente ng ating planeta. Ang mga mananaliksik at turista mula sa iba't ibang panig ng mundo ay naaakit hindi lamang ng...

feed-image RSS