Karaniwan, ang isang spreadsheet na dokumento ay nabuo batay sa isang layout bilang mula sa mga bloke ng gusali. Ang layout ay isang template para sa paglikha ng isang printing form. Ang layout ay nilikha sa configurator sa isang espesyal na editor ng talahanayan. Ang developer ay maaaring gumawa ng mga lugar, baguhin ang taas ng mga row at lapad ng mga column, itakda ang pag-format ng mga cell at ang buong spreadsheet na dokumento, at magsama ng mga larawan, chart at pivot table sa layout.

Ang mga lugar ng layout ay idinisenyo para sa isa o maramihang output.

Ang ilang mga cell ay naglalaman lamang ng teksto na dapat ipakita. Ang ibang mga cell ay naglalaman ng mga pangalan ng parameter (sa mga anggulong bracket). Ang mga halaga ng mga parameter na ito ay dapat na tinukoy sa module ng programa. Hindi tulad ng bersyon 7.7, hindi ka maaaring magpasok ng expression sa isang cell. Sa bersyon 8.0, ang lahat ng code ng programa ay puro sa mga module ng programa at kapag ipinakita ang mga seksyon, walang koneksyon sa kasalukuyang konteksto ng module ng programa. Ang pagtatalaga ng mga parameter para sa isang dokumento ng spreadsheet ay dapat na tahasang gawin mula sa module ng programa sa pamamagitan ng koleksyon ng "Mga Parameter" ng object na "TabularDocument".

Ang isang lugar ay maaaring binubuo ng ilang mga hilera o haligi sa isang hilera, o maaari itong maging isang hugis-parihaba na lugar ng isang talahanayan. Maaaring ma-access ang isang lugar sa pamamagitan ng pangalan o mga coordinate. Maaari ka ring sumangguni sa intersection ng mga lugar gamit ang isang vertical bar (tulad ng sa bersyon 7.7).

Pangkalahatang pamamaraan
1. Paglikha ng layout sa isang editor ng talahanayan (pagtukoy ng mga lugar, mga pangalan ng parameter, pag-format).
2. Paglikha ng bagong dokumento ng spreadsheet (ang item na ito ay hindi kinakailangan kung ang ulat ay output sa TabularDocumentField control element).
3. Pagtanggap ng layout sa isang variable (GetLayout method).
4. Pagkuha ng mga layout ng lugar (GetArea method).
5. Pagpuno sa mga parameter ng lugar (Parameter property).
6. Pag-output ng isang lugar sa isang spreadsheet na dokumento (Mga pamamaraan ng Output at Attach).
7. Pagtatakda ng mga katangian ng pagpapakita ng isang dokumento ng spreadsheet (grid, mga header, view lamang, atbp.).
8. Magpakita ng isang spreadsheet na dokumento sa screen (o maaaring ipadala ito sa isang printer o i-save ito).

Halimbawa ng output ng dokumento ng spreadsheet

Nasa ibaba ang isang halimbawa ng pagbuo ng isang naka-print na anyo ng isang invoice mula sa isang module ng dokumento:

Procedure Print(TabDoc) Export

//paglikha ng bagong dokumento ng spreadsheet
TabDoc = Bagong TabularDocument;

//pagkuha ng layout para sa pag-print ng invoice
Layout = Documents.Invoice.GetLayout("Main");

//kunin ang lugar na "Header" bilang bagong dokumento ng spreadsheet (!)
Lugar = Layout.GetArea("Header");

// tukuyin ang mga parameter ng lugar
Area.Parameters.DocumentNumber = Numero;
Rehiyon.Mga Parameter.Mula = Petsa;
Area.Parameters.To = Account;

//ipakita ang napunong "Header" na lugar sa isang spreadsheet na dokumento
TabDoc.Output(Lugar);

// ipakita ang lugar na "Header" sa isang spreadsheet na dokumento
TabDoc.Output(Layout.GetArea("Header"));

//pagkuha ng lugar na "String"
//tandaan na maaari itong gawin bago mag-loop sa mga row
Lugar = Layout.GetArea("String");

//output ang mga linya ng dokumento sa naka-print na form
Para sa Bawat Komposisyon Ng Ikot ng Komposisyon
//pagpuno ng mga parameter ng lugar mula sa row ng seksyon ng talahanayan
Area.Parameters.Fill(CompositionStr);

//output ang nabuong lugar sa isang spreadsheet na dokumento
TabDoc.Output(Lugar);

EndCycle;

//output ang "Basement" na lugar
Lugar = Layout.GetArea("Silong");
Area.Parameters.TotalQuantity = Composition.Total("Quantity");
Area.Parameters.TotalSum = Composition.Total("Sum");
TabDoc.Output(Lugar);

//itakda ang mga parameter para sa pagpapakita ng dokumento ng spreadsheet
TabDoc.ViewOnly = True;
TabDoc.DisplayHeaders = True;
TabDoc.DisplayGrid = Mali;

//ipakita ang spreadsheet na dokumento sa screen
TabDoc.Show();

Katapusan ng Pamamaraan

Mga pangunahing pamamaraan

Ang mga pangunahing pamamaraan para sa pagbuo ng panghuling tabular na dokumento ay ang mga sumusunod:
Mag-withdraw

Ini-print ang susunod na fragment (tabular na dokumento), idinaragdag ito mula sa ibaba, simula sa unang column.
Sumali
Inilakip ang susunod na fragment (spreadsheet na dokumento) sa naka-print na form sa kanan, simula sa linya kung saan na-output ang nakaraang fragment gamit ang Output method
Rehiyon
Binibigyang-daan kang makakuha ng isang lugar bilang isang bagay ng uri ng "SpreadsheetDocumentCellsArea." Sa pamamagitan ng bagay na ito maaari mong itakda ang pag-format ng lugar: itakda ang laki at kulay ng font, kulay ng background at pattern ng cell.
GetArea
Binibigyang-daan kang makakuha ng isang lugar bilang isang bagay ng uri ng "TabularDocument." Ang bagay na ito ay maaaring maipasa sa mga pamamaraan ng Output at Attach. Ang mga halaga ng mga parameter ng lugar ay tinukoy din sa pamamagitan ng bagay na ito.

Ang mga sitwasyon ay lumitaw kapag mayroong data, halimbawa, sa isang Excel file, at kailangan itong ipasok sa programa. Ang manu-manong pagpasok ay maaaring mangailangan ng napakalaking dami ng oras, at may mataas na posibilidad na magkamali.

Kung sakaling wala kang pagkakataon na maakit ang isang espesyalista upang malutas ang problemang ito, gumamit ng karaniwang pagproseso sa mga pinamamahalaang form mula sa 1C. Maaari mong i-download ito alinman sa ITS disk o mula sa link Naglo-load ng Data Mula sa TabularDocument.epf .

Ang unang bagay na kailangan mong gawin ay buksan ang pagproseso na ito sa 1C: Enterprise mode. Sa menu na "File", mag-click sa "Buksan" at sa lalabas na window, piliin ang pagproseso kung saan mo ito nai-save. Maaari mo ring gamitin ang kumbinasyon ng hotkey na “Ctrl+O”.

Kung hindi magbubukas ang pagproseso, malamang na ang iyong account ay walang karapatan na "Buksan ang mga panlabas na ulat at pagproseso."

Matapos matagumpay na buksan ang pagproseso na ito, ang unang bagay na kailangan mong gawin ay ipahiwatig kung saan ilo-load ang data. Sa halimbawang isinasaalang-alang, ang data ay ilo-load sa . Sa madaling salita, mag-a-upload kami ng listahan ng presyo sa Excel format sa 1C 8.3. Magiging magkatulad ang mga tagubilin para sa paglo-load ng mga invoice.

Gumawa tayo ng bagong dokumentong "Pagtatakda ng mga presyo ng item", o maaari kang gumamit ng isang umiiral na. Sa loob nito ay ipahiwatig lamang namin ang dalawang patlang na "Petsa" at "Uri ng presyo". Sa aming kaso, ang uri ng "Pakyawan na presyo" ang gagamitin. Hindi na kailangang punan ang bahagi ng talahanayan. Ito ay populasyon gamit ang pagpoproseso ng paglo-load ng data.

Sa form sa pagpoproseso, piliin ang naaangkop na switch upang i-load sa tabular na seksyon. Ang naunang ginawang dokumento na "Pagtatakda ng mga presyo ng item" ay ipinasok sa field ng link. Sa field na "Tabular section" - "Mga Produkto".

Maaaring i-load ang data hindi lamang sa mga tabular na bahagi ng mga dokumento, direktoryo, atbp., kundi pati na rin sa mga direktoryo at mga rehistro ng impormasyon mismo.

Pagkatapos pumili ng lugar para i-load ang data, ang pagpoproseso mismo ay nakabuo ng mga kinakailangang column heading sa spreadsheet na dokumento, na matatagpuan sa ibaba. Ang data na na-load sa programa ay maaaring tukuyin nang manu-mano, o sa pamamagitan ng pagkopya nito mula sa isang panlabas na mapagkukunan patungo sa tabular na seksyong ito.

Sa halimbawang ito, titingnan natin ang pinaka-maginhawang paraan upang mag-download - mula sa isang Excel file. Mag-click sa open button at piliin ang data file. Ang mga sumusunod na format ay sinusuportahan para sa pagbubukas: *.mxl", *.xls, *.txt, *.dbf. Ang lahat ng data mula sa file ay isasama sa pagpoproseso ng dokumento ng spreadsheet.

Pagsusuri at pagsubaybay sa pagpuno

Sa isang napakagandang kasabihan, "Sukatin nang dalawang beses, gupitin nang isang beses," samakatuwid, bago mag-load ng data sa 1C mula sa isang dokumento ng spreadsheet, dapat silang suriin. Upang gawin ito, mag-click sa pindutan ng "Pagkontrol sa Pagpuno".

Kung may nakitang mga error, may lalabas na mensahe na nagsasaad ng bilang ng mga naturang linya. Sa mga cell na iyon kung saan natagpuan ang isang pagkakaiba, isang tala na may dahilan ay ipahiwatig.

Sa kasong ito, ang nomenclature item na "Beam 40*40*300" ay hindi natagpuan sa programa. Bago mag-download ng data, dapat mo itong gawin o i-pre-load ang item sa 1s 8.3 mula sa isang katulad na file na may mga kalakal.

Mga setting ng pag-download

Tingnan natin ang tab na "Mga Setting". Ang tab na ito ay naglalaman ng tabular na bahagi ng mga setting para sa na-upload na data. Ang bawat hilera ng talahanayang ito ay naglalaman ng setting ng kaukulang katangian. Ang mga sumusunod na opsyon ay magagamit para sa pagsasaayos:

  • "Tag". Ang isang nakatakdang bandila ay nangangahulugan na ang katangiang ito ay dapat na ma-overload.
  • "Pagtatanghal ng props."
  • "Paglalarawan ng mga uri." Maaari itong tumagal ng isa o ilang uri ng halaga (composite data type).
  • Ang "Download mode" ay may tatlong uri:
    • "Paghahanap" - ang halaga ay ipinasok lamang kung natagpuan.
    • "Kalkulahin"—ang halaga ay kinakalkula batay sa tinukoy na expression.
    • "Itakda"—ang halaga ay tinukoy nang hindi malabo.
  • "Default na halaga." Kung walang nakitang data na papalitan sa attribute, itatakda ang value mula sa setting na ito.
  • Itinatakda ng “Kondisyon ng Link / Pagpapahayag ng Halaga” ang field na hahanapin. Para sa mga direktoryo, ang paghahanap sa pamamagitan ng code ay isang mas mataas na priyoridad, dahil madalas itong kakaiba. Kung hindi alam ang code, maaari mong iwanan ang default na setting at maghanap ayon sa pangalan. Sa kasong ito, dapat na walang mga duplicate na linya sa direktoryo kung saan hahanapin ang mga detalye.

Pagkatapos mong matagumpay na ma-configure at masuri at makontrol ang pagpuno, maaari mong i-download ang data. Mag-click sa hyperlink na "I-download ang Data". Ang mga mensahe ay magpapakita ng impormasyon tungkol sa operasyong ito. Sa aming kaso, naging maayos ang lahat.

Pumunta tayo sa dokumento kung saan namin na-load ang data. Tulad ng nakikita mo, ang lahat ng mga halaga ay napunan nang tama.

Para sa isa pang tagubilin sa pag-load sa 1C mula sa Excel gamit ang halimbawa ng Nomenclature, tingnan ang video:

Paano mag-load ng isang spreadsheet na dokumento sa 1C 8.3 Accounting program?

Sa 1C 8.3 posibleng mag-download nang maramihan ng listahan ng mga item mula sa isang spreadsheet na dokumento, halimbawa mula sa isang Excel file.

Para sa paglo-load, ginagamit namin ang panlabas na pagproseso ng LoadDataFromTabularDocument.epf para sa mga pinamamahalaang form (8.2 at 8.3). Ito ay pangkalahatan at dapat na angkop para sa anumang configuration na isinulat para sa isang pinamamahalaang application.

Upang simulan ang panlabas na pagproseso, kailangan mong pumunta sa menu na "File", pagkatapos ay "Buksan" at piliin ang pagproseso na ito mula sa direktoryo kung saan ito nai-save:

Pagproseso Naglo-load ng data mula sa isang spreadsheet na dokumento 1C 8.3 (mga pinamamahalaang form)

Matapos mabuksan ang pagproseso sa 1C, maaari kang magsimulang magtrabaho kasama nito. Una sa lahat, kailangan naming magpasya kung saan at kung ano ang aming ida-download:

Magbigay tayo ng halimbawa sa reference book na "Nomenclature". Lumilikha kami ng isang file na may data sa xls na format.

Ang pagproseso ay maaari ding mag-load ng mga file sa sumusunod na format:

  • anumang iba pang format kung saan maaari mong kopyahin ang data

Ganito ang hitsura ng Excel file na may source data, na ia-upload namin sa reference book na "Nomenclature":

Hindi namin isinulat ang lahat ng mga patlang sa direktoryo, dahil ito ay sapat na upang maunawaan ang prinsipyo ng paglo-load. Bilang karagdagan, ang data na ito ay sapat na upang magsimulang magtrabaho sa mga posisyong ito.

Ang mga posisyong ito ay kasalukuyang wala sa database ng impormasyon ng 1C, at i-upload na namin sila doon.

Mag-click sa icon na "Buksan" (ipinahiwatig sa figure bilang "Piliin ang pinagmulan") at piliin ang file na may data. Maaari kang gumamit ng simpleng pagkopya ng impormasyon. Ang data ay awtomatikong mai-load sa pagproseso. Ngayon tingnan natin kung napunan namin nang tama ang aming data. Upang gawin ito, i-click ang pindutan ng "Pagkontrol sa Pagpuno".

Tulad ng nakikita mo, mayroon kaming ilang mga pagkakamali! Aalisin natin ito. Pumunta sa tab na "Mga Setting":

Bago itama ang mga pagkakamali, bigyang-pansin natin ang isang mahalagang detalye. Ang programa sa simula ay hindi alam kung aling field ang hahanapin ng isang elemento ng direktoryo kung sakaling naroon na ito. Samakatuwid, kailangan niyang ipahiwatig ito. Halimbawa, naghahanap kami sa pamamagitan ng code, dahil karaniwan itong natatangi. Sa column na "Paghahanap sa paghahanap" sa linya ng "Code", maglagay ng checkmark. Ngayon, kung ang isang talaan na may ganoong code ay matatagpuan, ito ay papalitan, kung hindi, ito ay malilikha.

Mahalaga! Kung hindi ka tumukoy ng field sa paghahanap, maaaring lumitaw ang mga duplicate na item. Lalo na pagkatapos ng pangalawang pag-download ng isang katulad na file!

Ngayon tingnan natin kung bakit nagmumura ang "Unity" sa larangan. Ang katotohanan ay ang mga yunit ng pagsukat sa 1C 8.3 ay naka-imbak sa isang hiwalay na direktoryo at ang pagpoproseso bilang default ay naghahanap para sa yunit na ito ayon sa pangalan. Ngunit sa katunayan, ang salitang yunit ay nakasulat sa field na "Buong pangalan".

Sa kasamaang palad, ang pagproseso ay maaari lamang maghanap sa pamamagitan ng "Pangalan" at "Code" (para sa programmer ang mga posibilidad ay mas malawak). Kung bibigyan mo ng pansin ang mga larawan sa itaas, makikita mo na mayroong isang code sa column na "Yunit". At sa pagproseso kailangan mong ipahiwatig na ang paghahanap ay dapat isagawa sa pamamagitan ng code. Mag-double click sa column na "Kondisyon ng Komunikasyon" sa tapat ng "Mga Yunit" at palitan ito ng "Code".

Ngayon tingnan natin kung ano ang sinasabi nila sa amin tungkol sa "Serbisyo" sa listahan ng mga error. Isa pang mahalagang tala. Ang mga column sa file ay dapat na mahigpit na matatagpuan sa parehong pagkakasunud-sunod ng mga linya ng mga field ng direktoryo. At para sa amin, ang "Uri ng item" ay matatagpuan sa pinakailalim, at sa file pagkatapos ng column na "Komento".

Upang ilipat ang linya ng "Uri ng item," may mga asul na arrow sa tuktok ng form. Gamit ang "Up" na arrow, itaas ang nais na linya at ilagay ito sa ilalim ng "Komento".

I-click ang “Mag-load ng data” at sa pagkakataong ito ang lahat ay mapupunta nang walang mga error:

Batay sa mga materyales mula sa: programmist1s.ru

Sa 1C 8.3 posibleng mag-load nang maramihan ng isang listahan mula sa isang spreadsheet na dokumento, halimbawa, mula sa isang Excel file.

Ginagamit namin ang panlabas na pagproseso para sa paglo-load Naglo-load ng Data Mula sa TabularDocument.epf para sa mga pinamamahalaang form (8.2 at 8.3), na maaaring i-download . Ito ay pangkalahatan at dapat na angkop para sa anumang configuration na isinulat para sa isang pinamamahalaang application.

  • Kung ikaw ay isang programmer at gustong bumuo ng "iyong sariling" pag-download mula sa Excel, mga detalyadong tagubilin para sa;
  • Ang isang halimbawa ng paglo-load ng listahan ng presyo sa 1C Trade Management ay makikita sa.

Upang simulan ang panlabas na pagproseso, kailangan mong pumunta sa menu na "File", pagkatapos ay "Buksan" at piliin ang pagproseso na ito mula sa direktoryo kung saan ito nai-save:

Pagproseso Naglo-load ng data mula sa isang spreadsheet na dokumento 1C 8.3 (mga pinamamahalaang form)

Matapos mabuksan ang pagproseso sa 1C, maaari kang magsimulang magtrabaho kasama nito. Una sa lahat, kailangan naming magpasya kung saan at kung ano ang aming ida-download:

Nais kong magbigay ng isang halimbawa sa direktoryo na "". Gumawa ako ng data file sa xls format.

Ang pagproseso ay maaari ding mag-load ng mga file sa sumusunod na format:

  • anumang iba pang format kung saan maaari mong kopyahin ang data.

Ganito ang hitsura ng Excel file na may source data, na ia-upload namin sa reference book na "Nomenclature":

Kumuha ng 267 video lesson sa 1C nang libre:

Hindi ko isinulat ang lahat ng mga patlang sa direktoryo, dahil ito ay sapat na upang maunawaan ang prinsipyo ng paglo-load. Bilang karagdagan, ang data na ito ay sapat na upang magsimulang magtrabaho sa mga posisyong ito.

Ang mga posisyon na ito ay wala pa sa database ng impormasyon ng 1C, at doon na namin ia-upload ang mga ito.

Mag-click sa icon na "Buksan" (ipinahiwatig sa figure bilang "Piliin ang pinagmulan") at piliin ang file na may data. Maaari kang gumamit ng simpleng pagkopya ng impormasyon. Maaaring ma-download ang aking halimbawang file. Ang data ay awtomatikong mai-load sa pagproseso. Ngayon tingnan natin kung napunan namin nang tama ang aming data. Upang gawin ito, i-click ang pindutan ng "Pagkontrol sa Pagpuno".

Tulad ng nakikita mo, mayroon kaming ilang mga pagkakamali! Aalisin natin ito. Pumunta sa tab na "Mga Setting":

Bago iwasto ang mga pagkakamali, gusto kong ituon ang iyong pansin sa isang mahalagang detalye. Ang programa sa simula ay hindi alam kung aling field ang hahanapin ng isang elemento ng direktoryo kung sakaling naroon na ito. Kaya kailangan niyang ituro ito. Mas gusto kong maghanap sa pamamagitan ng code dahil karaniwan itong natatangi. Sa column na "Paghahanap sa paghahanap" sa linya ng "Code", maglagay ng checkmark. Ngayon, kung ang isang talaan na may ganoong code ay matatagpuan, ito ay papalitan, kung hindi, ito ay malilikha.

Mahalaga! Kung hindi ka tumukoy ng field sa paghahanap, maaaring lumitaw ang mga duplicate na item. Lalo na pagkatapos ng pangalawang pag-download ng isang katulad na file!

Ngayon tingnan natin kung bakit nagmumura ang "Unity" sa larangan. Ang katotohanan ay ang mga yunit ng pagsukat sa 1C 8.3 ay naka-imbak sa isang hiwalay na direktoryo, at ang pagpoproseso bilang default ay naghahanap para sa yunit na ito ayon sa pangalan. Ngunit sa katunayan, ang salitang yunit ay nakasulat sa field na "Buong pangalan".

Sa kasamaang palad, ang pagproseso ay maaari lamang maghanap sa pamamagitan ng "Pangalan" at "Code" (para sa programmer ang mga posibilidad ay mas malawak). Kung bibigyan mo ng pansin ang mga larawan sa itaas, makikita mo na mayroon akong code sa column na "Yunit". At sa pagproseso kailangan mong ipahiwatig na ang paghahanap ay dapat isagawa sa pamamagitan ng code. Mag-double click sa column na "Kondisyon ng Komunikasyon" sa tapat ng "Mga Yunit" at palitan ito ng "Code".

Ngayon tingnan natin kung ano ang sinasabi nila sa amin tungkol sa "Serbisyo" sa listahan ng mga error. Isa pang mahalagang tala. Ang mga column sa file ay dapat na mahigpit na matatagpuan sa parehong pagkakasunud-sunod ng mga linya ng mga field ng direktoryo. At para sa amin ang "" ay matatagpuan sa pinakailalim, at sa file pagkatapos ng column na "Komento".

Upang ilipat ang linya ng "Uri ng item," may mga asul na arrow sa tuktok ng form. Gamit ang "Up" na arrow, itaas ang nais na linya at ilagay ito sa ilalim ng "Komento".

I-click ang "Mag-load ng data", at sa pagkakataong ito ang lahat ay mapupunta nang walang mga error:

Video tutorial sa paglo-load ng mga produkto sa 1C mula sa mga Excel file: