Sinasabi nila na ang pangalang 1C ay orihinal na nangangahulugang ang pariralang "isang segundo", i.e. ang mga programa ay dapat gumawa ng mga ulat nang mabilis, "sa isang segundo." Napakahalaga ng bilis ng mga ulat, ngunit mas mahalaga na ang mga ulat ay nagbibigay ng tamang impormasyon - mauunawaan namin ito gamit ang halimbawa ng paglikha ng isang simpleng ulat sa 1C 8.3 batay sa pagsasaayos ng Trade Management 10.3. Upang lumikha ng mga tamang ulat, ito ay kanais-nais (kahit na mahigpit na inirerekomenda) na ma-configure ang 1C at makapag-program ng kaunti sa panloob na wika at query na wika ng 1C, bagaman, sa kabilang banda, ang paglikha ng mga ulat ay isang mahusay na pagkakataon upang simulan ang mastering ang mga kasanayang ito.

Ang paglalarawang ito ay pang-edukasyon para sa pag-unawa sa mga pangunahing prinsipyo ng paggawa ng mga ulat sa 1C

Paano gumawa ng ulat sa 1C 8.3

Upang lumikha ng isang ulat, kailangan mong buksan ang 1C sa mode ng configurator; upang gawin ito, sa window ng paglulunsad ng 1C, piliin ang nais na database sa listahan at i-click ang pindutan ng Configurator:

Sa mismong configurator, pumunta sa menu ng File at piliin ang Bago:


Sa lalabas na menu, piliin ang Panlabas na ulat at i-click ang OK:


Pagkatapos nito, magbubukas ang isang bagong window ng ulat. Sa field na Pangalan, ipasok ang pangalan ng ulat; dapat itong walang mga puwang o mga espesyal na character:


Paano gumawa ng ulat gamit ang layout

Karamihan sa pamamaraang ito ay nangangailangan ng mga kasanayan sa programming sa 1C, ngunit dito hindi namin susuriin ang mga mekanismo para sa pagtanggap at pagproseso ng data, gagawa kami ng isang simpleng ulat upang maunawaan ang mekanismo para sa paglulunsad ng ulat at pagpapakita ng form ng ulat sa screen:

Sa window ng ulat (na bubukas kapag gumagawa ng ulat), sa ibabang listahan, ilagay ang cursor sa item na Mga Layout at, kapag nag-right-click ka, i-click ang Idagdag sa lalabas na menu:


Sa bubukas na taga-disenyo ng layout, maaari mong tukuyin ang pangalan ng layout, dapat piliin ang Spreadsheet Document bilang uri ng layout, at pagkatapos ay i-click ang pindutang Tapusin sa taga-disenyo:


Magbubukas ito ng window ng layout na kahawig ng isang Excel sheet:


Sa layout na ito, kailangan mong lumikha ng mga lugar - mga pangkat ng mga hilera o haligi na gagamitin ng programa bilang mga template, ipasok ang data na natanggap mula sa database sa kanila at ipakita ang mga template na ito sa screen, at sa gayon ay pinagsama ang isang ulat mula sa mga bahaging ito.

Gumawa tayo ng ulat na nagpapakita ng listahan ng mga item. Upang gawin ito, gagawa kami ng dalawang lugar ng layout: ang header ng ulat at ang linya ng item.

Upang lumikha ng isang lugar ng header, mag-left-click sa header ng linya (kung saan nakasaad ang numero ng linya) upang piliin ang linyang tulad nito (dapat piliin ang buong linya sa isang pag-click sa header):


Pagkatapos nito, pumunta sa menu ng Talahanayan ng pangunahing menu, pumunta sa submenu ng Mga Pangalan at mag-click sa item na Magtalaga ng pangalan:


Ipo-prompt ka ng program na tukuyin ang Pangalan ng Area, ang pangalan ay hindi rin dapat maglaman ng mga puwang o mga espesyal na character, pagkatapos na i-click ang OK, dapat itong magmukhang ganito:


Ngayon sa nilikha na lugar kailangan mong ipasok ang teksto na ipapakita sa ulat at i-format ito. Upang gawin ito, maglagay ng text sa unang cell, halimbawa, "Listahan ng mga item." Ang pagtatrabaho sa mga cell ay katulad ng Excel.

Upang i-format ang teksto sa isang cell, mag-right click sa cell at mag-click sa Properties. Magbubukas ang window ng cell properties sa kanan. Pag-scroll pababa sa mga nilalaman ng window, hanapin ang field ng Font at mag-click sa "..." na buton:


Sa window na bubukas, sa seksyong Estilo, lagyan ng check ang Bold na kahon at i-click ang OK:


Ang layout ay dapat magmukhang ganito:


Sa parehong paraan, ginagawa namin ang lugar ng linya ng item, ngunit huwag i-highlight ito nang naka-bold:


Sa lugar ng linya kailangan mong ipahiwatig na ang Pangalan ay isang parameter, i.e. na ang tunay na pangalan ng item ay papalitan doon kapag nag-output ng ulat. Upang gawin ito, buksan ang mga katangian ng cell na may pangalan at sa mga katangian sa field ng Pagpuno, piliin ang Opsyon ng halaga, nakumpleto nito ang pag-setup ng layout:


Bumalik kami sa pangunahing window ng ulat at sa ibabang listahan, i-right-click ang item na Forms at i-click ang Add:


Sa bubukas na taga-disenyo ng form ng ulat, i-click ang button na Tapusin, magbubukas ang form ng ulat, i-double click ang button na Bumuo:


Bilang resulta, magbubukas ang window ng mga katangian ng button sa kanang bahagi ng screen; sa field ng Action, mag-click sa magnifying glass:


Pagkatapos nito, magbubukas ang isang form module kung saan kailangan mong i-program ang pagbuo ng isang ulat:


Una, palitan ang napiling teksto ng sumusunod na code ng programa:

//lumikha ng isang spreadsheet na dokumento na pupunan ng mga bahagi ng ulat at ipapakita sa screen
TabDocument = Bagong TabularDocument;
//susunod, makuha namin ang layout na ginawa noong nililikha ang ulat
Layout = GetLayout("Layout");
//ngayon kailangan nating ipakita ang header ng ulat, para dito makuha natin ang lugar ng header mula sa layout at ipakita ito sa isang dokumento ng spreadsheet
AreaHeader = Layout.GetArea("Header");
TabDocument.Output(AreaHeader);
//gamit ang isang query nakakakuha tayo ng seleksyon ng mga pangalan ng item na kailangang ipakita sa ulat
Kahilingan = Bagong Kahilingan;
Request.Text = "
|PUMILI
| Pangalan
|MULA
| Direktoryo.Nomenclature
|";
//kunin ang lugar ng linya ng item mula sa layout - ia-access namin ito sa isang loop upang ipakita ang bawat item
AreaString = Layout.GetArea("String");
//proseso ang bawat pangalan mula sa resultang pagpili sa isang loop
Piliin = Query.Run().Select();
Habang Select.Next() Loop
//upang ipakita ang susunod na linya, kailangan mong tukuyin ang susunod na pangalan sa parameter ng lugar (na-configure namin ang parameter mismo kapag lumilikha ng layout)
AreaString.Parameters.Name = Selection.Name;
//napunan na ang parameter, maaari mo na ngayong ipakita ang string
TabDocument.Output(AreaString);
EndCycle;
//nabuo ang dokumento ng spreadsheet, ngayon ay ipinapakita namin ito sa screen
TabDocument.Show("Listahan ng mga item");

Kapag ang teksto ay kinopya sa form na module, ang mga linya na nagsisimula sa isang double slash "//" ay iha-highlight sa berde - ito ay mga komento na naglalarawan kung ano ang ginagawa ng bawat linya ng code:


Ibuod natin kung anong mga linya ng program code ang kailangan para makabuo ng ulat:

  1. Kinakailangang lumikha ng isang spreadsheet na dokumento na mapupuno ng mga bahagi ng ulat at ipapakita sa screen; ito ay ginagawa sa linyang "TabDocument = Bagong TabularDocument;"
  2. Kailangan nating makuha ang layout ng ulat, mula dito makukuha natin ang istraktura ng ulat sa mga bahagi (mga lugar), ginagawa ito sa linyang "Layout = GetLayout("Layout")"
  3. Upang ipakita ang bawat isa sa mga lugar, kailangan mong makuha ito mula sa layout at i-output ito sa isang spreadsheet na dokumento, ginagawa ito sa mga linyang "Header Area = Layout.GetArea("Header")" at "TabDocument.Output(HeaderArea) "
  4. Kung kailangan mong punan ang mga parameter na malalaman lamang kapag naisakatuparan ang programa, pagkatapos bago ipakita ang lugar na kailangan mong punan ang mga naturang parameter, ginagawa ito sa linyang "AreaString.Parameters.Name = Selection.Name"
  5. At kapag ang dokumento ng spreadsheet ay napuno ng lahat ng kinakailangang bahagi ng ulat, ito ay ipinapakita sa screen, ito ay ginagawa sa linyang "TabDocument.Show("Listahan ng mga item")"

At ngayon maaari mong suriin ang pagpapatakbo ng ulat - buksan ang 1C sa enterprise mode (button 1C: Enterprise sa 1C launch window). Sa pangunahing menu, pumunta sa menu ng file, i-click ang Buksan:


Hanapin at buksan ang naka-save na file ng ulat. Sa form na bubukas, i-click ang button na Bumuo:


at nakakakuha kami ng isang listahan ng mga nomenclature:


Isa lang itong paraan para gumawa ng mga ulat sa 1C. Sa susunod na mga artikulo ay titingnan natin ang iba.

Isaalang-alang natin ang paggawa ng panlabas na ulat sa 1C 8 nang hindi gumagamit ng sistema ng komposisyon ng data. Upang lumikha ng isang panlabas na ulat, gagamitin namin ang pagsasaayos ng Accounting 2.0, ang paunang data: "Magsulat ng isang ulat sa accounting account 62 kung saan ang turnover para sa tinukoy na panahon ay ipapakita sa konteksto Counterparty At Mga kontrata ng mga katapat.

1. Gumawa ng ulat

Una sa lahat, gumawa tayo ng external na file ng ulat; para magawa ito, pumunta tayo sa 1s 8 sa mode Configurator, punta tayo sa menu File -> Bago, o mag-click sa icon bagong dokumento.

Piliin ang item mula sa listahan Panlabas na ulat. Pagkatapos gawin ang panlabas na ulat, bigyan ito ng Pangalan (halimbawa SimplestReport) at i-save ito sa disk. Magdaragdag din kami ng dalawang detalye: Simula ng period At Katapusan ng Panahon uri petsa, kakailanganin namin silang limitahan ang agwat ng oras para sa sampling ng data kapag bumubuo ng isang ulat.

2. Gumawa ng panlabas na layout ng ulat

Upang makabuo ng isang ulat sa 1C 8, kailangan mo ng isang layout, ito ay isang template para sa pagpapakita ng data kung saan ang lahat ng kinakailangang mga parameter ay nakatakda, ang mga talahanayan ay iginuhit, atbp. Magdagdag tayo ng bagong layout; para magawa ito, piliin ang item sa puno ng metadata ng ulat Mga Layout at pindutin ang pindutan Idagdag, kapag lumilikha, piliin ang uri para sa layout dokumento ng spreadsheet.

Ang aming layout ay magkakaroon ng 4 na lugar:

  • Header - sa lugar na ito ipapakita namin ang pangalan ng ulat, ang panahon kung saan ito nabuo at ang header ng talahanayan;
  • Counterparty data - sa lugar na ito ipapakita namin ang data sa counterparty sa isang table;
  • DataCounterparty Agreement - sa lugar na ito ipapakita namin ang data sa counterparty agreement sa isang table;
  • Footer - sa lugar na ito ipapakita namin ang kabuuang halaga para sa buong ulat para sa mga field ng Kita at Gastos.

Simulan natin ang paggawa ng mga layout area. Upang lumikha ng isang lugar sa layout, piliin ang kinakailangang bilang ng mga linya at i-click Talahanayan ng Menu -> Mga Pangalan -> Magtalaga ng pangalan(O Ctrl + Shift + N). Sa rehiyon Isang sumbrero Isulat natin ang pangalan ng ulat: Ang turnover ay 62 na bilang, gumuhit gamit ang tool Mga hangganan header ng ulat, at itakda din ang mga parameter Simula ng period At Katapusan ng Panahon. Gamit ang mga parameter, maaari mong ipakita ang kinakailangang data sa ulat; haharapin namin ito sa susunod na yugto ng pag-unlad, lalo na kapag nagsusulat ng code ng ulat. Upang lumikha ng isang parameter sa layout, piliin ang nais na cell, isulat ang pangalan ng parameter sa loob nito (nang walang mga puwang), i-right-click dito, piliin ang item sa menu na bubukas Ari-arian. Sa mga katangian ng cell sa tab Layout piliin ang padding Parameter.

Pagkatapos nito, ang pangalan ng parameter sa cell ay ilalagay sa mga anggulong bracket("<>“). Bilang resulta, ang lugar Isang sumbrero dapat ganito ang hitsura:

Sa lugar DataCounterparty gagawa kami ng mga parameter para sa pagpapakita ng pangalan ng katapat, pati na rin para sa kita at gastos para sa account 62, gamit ang tool Mga hangganan Idisenyo natin ang lugar bilang isang hilera ng mesa.

Sa lugar Kasunduan sa DataCounterparty Gumawa tayo ng mga parameter para sa pagpapakita ng pangalan ng kontrata, pati na rin para sa kita at gastos para sa account 62, gamit ang tool na Borders, ididisenyo namin ang lugar bilang isang hilera ng talahanayan. Gumawa tayo ng isang maliit na indent bago ang parameter Kasunduan sa Counterparty(maaari itong gawin sa pamamagitan ng paghahati at pagsasama-sama ng mga cell. Mag-right-click sa cell -> Pagsamahin o Hatiin ang cell), ito ay kinakailangan upang makita ng ulat na ang linya para sa kontrata ay mas mababa sa hierarchy kaysa sa linya para sa katapat.

Sa lugar Silong Gumawa tayo ng mga parameter para sa mga kabuuan ng kita at gastos.

Bilang resulta, dapat tayong makakuha ng layout na tulad nito:

3. Gumawa ng form ng ulat

Upang ipakita ang data, itakda ang panahon ng pagbuo at pindutan Form ang aming ulat ay mangangailangan ng isang form. Upang gumawa ng form, hanapin ang item sa panlabas na ulat metadata tree Mga porma at pindutin ang pindutan Idagdag. Sa unang pahina ng taga-disenyo ng form, hindi mo kailangang gumawa ng anumang mga pagbabago, kailangan mo lamang i-click ang pindutan Dagdag pa.

Sa susunod na pahina ng taga-disenyo, piliin ang parehong magagamit na mga detalye( Simula ng period, Katapusan ng Panahon) para sa paglalagay sa form.

Bilang resulta, makukuha namin ang form na ito:

Ngunit hindi kami nasisiyahan dito sa form na ito; gumawa tayo ng ilang pagbabago dito:

  • I-drag natin ang button Form mula sa ibabang panel ng ulat hanggang sa itaas (ito ay magiging mas maginhawa para sa gumagamit);
  • Iunat ang hugis patayo at pahalang;
  • Ayusin natin ang mga patlang Simula ng period At Katapusan ng Panahon pahalang;
  • Magdagdag tayo ng elemento ng kontrol ng Spreadsheet Document Field sa form (ipapakita ang aming ulat dito), bigyan ito ng pangalan TabDoc;
  • Gumawa tayo ng button sa pagpili ng tuldok (kapag na-click, lalabas ang isang dialog na may maginhawang pagpili ng nais na panahon). Hindi pa namin isusulat ang program code para dito, kaya ilalagay na lang namin ang button sa tabi ng mga field ng period.

Bilang resulta, ang aming form ay magiging ganito:

4. Programming

Pagkatapos gumawa ng form ng ulat, simulan natin ang programming. Una, gumawa tayo ng isang pamamaraan para sa pagpapakita ng dialog ng pagpili ng panahon (nakagawa na kami ng isang pindutan para dito sa nakaraang yugto). Mag-right-click sa pindutan at piliin ang item sa menu Ari-arian, sa mga katangian ng button pumunta sa tab Mga kaganapan, kung saan gamit ang button na may icon ng magnifying glass gagawa kami ng procedure Pindutan1Pindutin sa form na module.

Maaari kang lumipat sa pagitan ng form at ng module nito gamit ang mga tab sa ibaba ng form

Upang tawagan ang form ng pagpili ng panahon, gagamitin namin ang karaniwang pamamaraan Accounting 2.0 mula sa isang karaniwang module Paggawa gamit ang Dialogs - HandlerPeriodSettingPress, kailangan mong ipasa ang mga detalye ng ulat dito bilang mga parameter Simula ng period At Katapusan ng Panahon.

Pamamaraan Pindutan 1 Pindutin (Elemento) Paggawa gamit ang Dialogs.PeriodSettingHandlerPressing(PeriodStart,PeriodEnd); Katapusan ng Pamamaraan

Ngayon ay magpatuloy tayo sa pagsulat ng code na bubuo at magpapakita ng aming ulat. Ang form module ay mayroon nang procedure ButtonGeneratePress, na isasagawa kapag pinindot ang button Form, doon namin isusulat ang aming code. Magsimula tayo sa pamamagitan ng pagsisimula ng mga kinakailangang variable. Una sa lahat, gumawa tayo ng variable para sa mga field ng dokumento ng spreadsheet kung saan maglalabas kami ng data, hindi ito kinakailangan, ito ay magiging mas maikli ang pag-record ng mga tawag dito, na nangangahulugang ang code ng programa ay magiging mas maliwanag para sa pagbabasa.

TabDoc = FormElements.TabDoc;

Kunin natin ang layout ng panlabas na ulat gamit ang function GetLayout(<ИмяМакета>) , ipapasa namin ang pangalan ng layout bilang isang parameter, at kung may ganoong layout, mahahanap ito ng function.

Layout = GetLayout("Layout" );

Matapos matanggap ang layout, gumawa tayo ng mga variable para sa bawat lugar nito, gamitin ang paraan ng layout para dito GetArea(<ИмяОбласти>) .

AreaHeader = Layout.GetArea("Header" ); AreaDataAccount = Layout.GetArea( "Data ng Kontratista"); AreaDataContract = Layout.GetArea("DataContract" ); AreaFooter = Layout.GetArea("Footer" );

I-clear natin ang field ng spreadsheet na dokumento. Ito ay kinakailangan upang sa tuwing may nabuong bagong ulat, matatanggal ang lumang data.

TabDoc.Clear();

Ngayon na ang pagsisimula ng mga variable ay kumpleto na, magpatuloy tayo sa pagpuno at pagpapakita ng mga lugar ng layout nang paisa-isa. Magsimula tayo sa header. Kung naaalala mo, gumawa kami ng dalawang parameter sa lugar na ito Simula ng period At Katapusan ng Panahon, ipapasa namin doon ang mga halaga ng panahon ng pagbuo ng ulat, para dito gagamitin namin ang ari-arian Mga pagpipilian mga lugar ng layout.

AreaHeader.Parameters.PeriodStart = PeriodStart; AreaHeader.Parameters.EndPeriod = EndPeriod;

Wala nang mga aksyon sa lugar Isang sumbrero Hindi kailangan ang manufacturer, kaya ipapakita namin ang field nito sa isang spreadsheet na dokumento.

TabDoc.Output(AreaHead);

Susunod, magsusulat kami ng isang query sa database, sa tulong kung saan kukuha kami ng turnover ng account 62 mula sa rehistro ng accounting Pagsuporta sa sarili. Tukuyin natin ang isang variable kung saan matatagpuan ang aming kahilingan.

Kahilingan = bagong Kahilingan;

Bago natin simulan ang pagsusulat ng text ng kahilingan, ipasa natin dito ang mga kinakailangang parameter. Dahil sumusulat kami ng kahilingan para sa isang invoice 62 accounting, pagkatapos ay una sa lahat gagawa kami ng isang parameter para dito

Request.SetParameter("Account62", Charts of Accounts. Self-supporting. Find By Code("62" ));

Kinakailangan din na ipasa ang panahon ng pagbuo ng ulat sa kahilingan. Huwag kalimutan na mayroon kaming mga espesyal na detalye ng ulat para sa panahon ng pagbuo, at ipinapasa namin ang mga ito bilang mga parameter.

Request.SetParameter("Start of Period", Start of Period); Request.SetParameter("End of Period", End of Period);

Simulan natin ang pagsulat ng teksto ng query, gagawin natin ito gamit ang taga-disenyo ng query. Sa maraming mga tutorial na isinulat nila na kailangan mong magsulat ng isang query sa parehong mano-mano at gamit ang isang constructor, ngunit sa pagsasanay hindi ito ang kaso. Sa mga gawaing patuloy na kinakaharap ng isang 1C programmer, ang priyoridad ay ang mabilis at mahusay na pagsulat ng code, at kapag manu-mano ang pagsulat ng query sa database, halos imposible itong makamit; gugugol ka ng maraming mahalagang oras sa wastong paggawa ng lahat ng mga istruktura ng query. at paghahanap ng mga typo na ginawa mo kapag nagsusulat, atbp. Samakatuwid, huwag mag-aksaya ng iyong oras sa pagsubok na manu-manong sumulat ng mga query, ngunit gamitin ang query constructor. Makakatipid ito sa iyong oras at magbibigay-daan sa iyo na magsulat ng mga kumplikadong query nang walang labis na pagsisikap. Upang simulan ang pagsulat ng text ng kahilingan, isulat natin sa code:

Request.Text = "" ;

Pagkatapos nito, ilagay ang cursor sa pagitan ng mga quote, i-right-click at piliin Tagabuo hiling. Magbubukas ang query designer window.

Ngayon kailangan nating piliin ang 1C 8 database table na kailangan natin. Kailangan natin ng virtual table Mga rebolusyon rehistro ng accounting Pagsuporta sa sarili. Hanapin natin ito sa kaliwang bahagi ng window ng taga-disenyo

Ilipat natin ito sa lugar Mga mesa at simulan nating punan ang mga parameter. Para sa lahat ng mga virtual na talahanayan ng query mayroong isang espesyal na hanay ng mga parameter na nagbibigay-daan sa iyo upang piliin ang kinakailangang data mula sa pangunahing talahanayan (sa aming kaso, ang pangunahing talahanayan ng Accounting Register Pagsuporta sa sarili). Buksan natin ang window ng virtual table parameters.

Punan natin ang mga parameter para sa panahon na ipinasa namin sa kahilingan. Upang gumamit ng parameter sa text ng kahilingan, dapat mong isulat ang simbolo bago ang pangalan nito ampersand(&)

Ito ay nananatiling punan ang kondisyon para sa accounting account. accounting. Upang gawin ito, hanapin ang linya sa mga parameter ng virtual na talahanayan Kundisyon ng Account at doon tayo magsusulat

Account SA HIERARCHY (&Account62)

Maaari mo ring gamitin ang condition constructor sa pamamagitan ng pag-click sa button na may tatlong tuldok.

Hindi na kailangang magpataw ng anumang mga kundisyon sa virtual na talahanayan, kaya i-click natin ang pindutan OK sa window ng mga parameter ng virtual na talahanayan. Susunod, kailangan naming piliin ang mga patlang na kailangan namin mula sa talahanayan Self-supporting.Turnover(ibig sabihin: Counterparty, Counterparty Agreement, Kita at Gastos). Upang tingnan ang listahan ng mga field na available sa talahanayan na aming pinili, i-click ang simbolo na “+” sa tabi ng pangalan nito. Pagkatapos nito, i-drag ang mga kinakailangang field sa pinakakanang bahagi ng query designer, na tinatawag na: Fields. Kung bubuksan natin ang tsart ng mga account, makikita natin iyon para sa account 62 analytics sa Para sa katapat ito ay Subconto1, at sa pamamagitan ng Kasunduan sa Counterparty - Subconto2.

Samakatuwid, mula sa mga patlang ng virtual na talahanayan pipiliin namin Subconto1 At Subconto2. Dahil kailangan namin ng kita at gastos ayon sa halaga, pinipili din namin ang mga field HalagaTurnoverDt At HalagaTurnoverKt

Punan natin ang mga alias ng mga field na napili namin; para gawin ito, pumunta sa tab Mga Unyon/Alyas at itakda ang mga kinakailangang pangalan ng field.

Dahil sa aming ulat ang data ay ipapakita sa hierarchy (ang Counterparty ay nasa unang antas, at lahat ng mga kontrata nito ay nasa pangalawa), iko-configure namin ang pagpapakita ng data sa hierarchy gamit ang Totals. Pumunta tayo sa tab sa taga-disenyo Mga resulta. I-drag sa pagpapangkat ng mga field nang sunud-sunod Counterparty At Kasunduan sa Counterparty, at sa final Darating At Pagkonsumo.

Nakumpleto nito ang gawain sa tagabuo ng query, i-click ang pindutan OK at nakikita namin na ang teksto ng aming kahilingan ay lumalabas sa code ng programa.

Query.Text = "PUMILI | Self-supportingTurnover.Subconto1 AS Counterparty, | Self-supportingTurnover.Subconto2 AS Counterparty Agreement, | Self-supportingTurnover.AmountTurnoverDt AS Resibo, | Self-supportingTurnover.HalagaTurnoverKt BILANG Gastos|MULA | Accounting Register. Self-accounting. Turnovers (&Simula ng Panahon, &Pagtatapos ng Panahon, Account SA HIERARCHY (&Account 62),) AS Self-accountingTurnover|RESULTA | AMOUNT(Kita), | HALAGA(Gastos) |PO | counterparty, | Kasunduan sa Counterparty";

Pagkatapos nating isulat ang kahilingan, simulan nating punan ang mga lugar DataCounterparty, DataAgreementCounterparty At Silong. Punan namin ang lahat ng mga lugar na ito ng data na natanggap kapag isinasagawa ang kahilingan. Dahil ang aming query ay naglalaman ng mga pagpapangkat ( Counterparty At Kasunduan sa Counterparty) pumili ng data mula dito gaya ng sumusunod:

SelectionCounterpart = Request.Execute().Select(BypassQueryResult.ByGrouping);

Sa ganitong paraan makakatanggap kami ng mga talaan na may mga kabuuan para sa lahat ng katapat.

Bago lampasan ang sample na data gamit ang isang loop, sinisimulan namin ang mga variable na nilayon para sa pagkalkula ng pangkalahatang mga resulta para sa ulat:

Kabuuang Papasok = 0; Kabuuang Consumption = 0;

Upang maipakita ang data ng ulat na may hierarchy (at mga pag-ikot sa "+"), itakda natin ang simula ng awtomatikong pagpapangkat ng mga hilera ng dokumento ng spreadsheet:

TabDoc.StartAutoGroupingRows();

Nakumpleto na ang lahat ng paghahanda, ngayon ay simulan natin ang pag-crawl sa mga resulta ng query. Gagawin namin ang traversal gamit ang isang loop Bye

Habang Pumili ng Account.Next() Cycle EndCycle ;

Sa simula ng cycle, i-reset ang mga parameter Darating At Pagkonsumo rehiyon DataCounterparty. Para saan ito? Isipin natin ang isang sitwasyon kung saan ang katapat Tiyo Vasya, ang kita ay 10, at ang gastos ay 5, at para sa susunod na katapat Tiyo Petya walang kita o gastos, sa kasong ito, kung hindi namin i-reset ang mga parameter Darating At Pagkonsumo, pagkatapos ay sa linya ayon sa katapat Tiyo Petya magkakaroon ng kita na 5 at isang gastos na 10.

AreaDataAccount.Parameters.Receipt = 0; AreaDataAccount.Parameters.Expense = 0;

Pagkatapos nito, punan namin ang lugar DataCounterparty sample na data ng elemento

FillPropertyValues(AreaAccountData.Parameters,SelectionAccount);

Pagkatapos punan ang data, maaari mong ipakita ang lugar sa dokumento ng spreadsheet, Dahil gumagamit kami ng auto-grouping ng mga row, kailangan naming isaad ang level ng row sa grouping (magkakaroon ng dalawang level ang aming ulat, para sa mga counterparty ang una para sa mga kontrata).

TabDoc.Output(AreaDataAccount,1);

Ngayon para sa katapat na ito ay gagawa kami ng pagpili ayon sa mga kontrata nito.

SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups);

Gagawin namin ang traversal gamit ang isang loop Bye.

Habang SelectionCounterparty Agreement.Next() Loop EndCycle ;

Sa cycle para sa mga counterparty na kasunduan, i-reset natin ang mga parameter Darating At Pagkonsumo, punan ang lugar DataContract mula sa sample at ipakita ito sa isang spreadsheet na dokumento sa ikalawang antas ng mga talaan.

AreaDataContract.Parameters.Receipt = 0; AreaDataContract.Parameters.Expense = 0; Punan angPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2);

Gayundin sa siklo na ito, idaragdag namin ang kasalukuyang mga halaga sa mga variable para sa pagkalkula ng kabuuang halaga para sa kita at gastos.

TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense;

Ito ay nagtatapos sa output ng data sa lugar DataCounterparty, DataAgreementCounterparty nakumpleto, ang natitira na lang ay upang kumpletuhin ang awtomatikong pagpapangkat ng mga hilera ng dokumento ng spreadsheet.

TabDoc.FinishAutoGroupingRows();

Mga buong cycle na responsable para sa pag-output ng data sa lugar DataCounterparty At DataAgreementCounterparty ganito ang hitsura:

TabDoc.StartAutoGroupingRows(); Habang SelectionAccount.Next() Loop AreaDataAccount.Parameters.Receipt = 0 ; AreaDataAccount.Parameters.Expense = 0 ; FillPropertyValues(AreaAccountData.Parameters,SelectionAccount); TabDoc.Output(AreaDataAccount,1); SelectionCounterparty Agreement = SelectionCounterparty.Select(BypassQueryResult.ByGroups); Habang SelectionCounterparty Agreement.Next() Loop AreaDataAgreement.Parameters.Receipt = 0 ; AreaDataContract.Parameters.Expense = 0 ; Punan angPropertyValues(AreaDataAgreement.Parameters,SelectionCounterpartyAgreement); TabDoc.Output(AreaDataContract,2); TotalReceipt = TotalReceipt + SelectionCounterpartyAgreement.Receipt; TotalExpense = TotalExpense + SampleCounterparty Agreement.Expense; EndCycle ; EndCycle ; TabDoc.FinishAutoGroupingRows();

Ito ay nananatiling ipakita ang huling data sa lugar Silong at output ang lugar mismo sa dokumento ng spreadsheet.

AreaBasement.Parameters.TotalIncoming = TotalIncoming; AreaBasement.Parameters.TotalConsumption = TotalConsumption; TabDoc.Output(AreaFooter);

Kinukumpleto nito ang proseso ng pagsulat ng panlabas na ulat para sa 1C 8 nang hindi gumagamit ng access control system. Ngayon ay maaari itong mabuo sa 1C: Enterprise 8 mode at idagdag sa direktoryo Panlabas na Pagproseso Maaari mong i-download ang file ng ulat na tinalakay sa artikulo mula sa .

Manood ng video sa paggawa ng external na napi-print para sa isang pinamamahalaang application:

Ako sa pamamagitan nito (mula rito ay tinutukoy bilang Tao) ay nagbibigay ng aking pahintulot sa indibidwal na negosyante na si Alexey Vladimirovich Zabolotnov INN212702621854, OGRNIP 313213018300022 (mula rito ay tinutukoy bilang Kumpanya) sa pagproseso ng aking personal na data na tinukoy kapag pinupunan ang isang aplikasyon (https ng website ng Kumpanya ://site) para sa pagproseso ng aking order, aplikasyon o anumang iba pang paraan ng pakikipag-ugnayan sa Kumpanya (pagkatapos dito ay tinutukoy bilang Order), at pakikipag-ugnayan sa akin bilang bahagi ng pagproseso ng aking Order, pati na rin ang iba pang nauugnay na layunin sa loob ng balangkas ng kasalukuyang batas ng Russian Federation at ang mga teknikal na kakayahan ng Kumpanya.

Ang pagproseso ng personal na data ng isang Tao ay maaaring isagawa gamit ang mga tool sa automation at/o nang walang paggamit ng mga tool sa automation alinsunod sa kasalukuyang batas ng Russian Federation at mga probisyon ng Kumpanya. Ang pahintulot na ito ng Tao sa pagproseso ng kanyang personal na data na tinukoy kapag naglalagay ng Order sa website ng Kumpanya, na ipinadala (napunan) gamit ang website na ito, ay may bisa mula sa sandaling mailagay ang Order sa website ng Kumpanya hanggang sa pag-withdraw nito. Ang pahintulot sa pagproseso ng personal na data na tinukoy kapag naglalagay ng Order sa website ng Kumpanya, na ipinadala (napunan) gamit ang website na ito, ay maaaring bawiin ng Tao sa pagsusumite ng nakasulat na aplikasyon (pagsusuri) sa Kumpanya. Ang pagpoproseso ng personal na data ng Tao ay winakasan sa loob ng 2 buwan mula sa petsa na natanggap ng Kumpanya ang isang nakasulat na aplikasyon (pagbawi) ng Tao at/o kung ang layunin ng pagproseso ay nakamit at nawasak sa loob ng panahon at sa ilalim ng mga kundisyong itinatag ng batas, maliban kung ibinigay. Ang anonymized na personal na data ng Mga Tao ay maaaring gamitin ng Kumpanya para sa istatistika (at iba pang layunin ng pananaliksik) pagkatapos makatanggap ng pahayag (pag-withdraw) ng pahintulot, gayundin pagkatapos makamit ang mga layunin kung saan nakuha ang pahintulot na ito.

Ang site na ito ay nagpapahintulot sa indibidwal na negosyante na si Alexey Vladimirovich Zabolotnov na makatanggap ng impormasyon na naglalaman ng personal na data ng Tao, katulad ng apelyido, unang pangalan, patronymic, numero ng telepono ng contact, email address, pati na rin ang iba pang personal na data na maaaring magamit upang makilala ang Tao (“ iyong personal na data"), kung sakaling boluntaryong ibigay ito ng Tao sa kumpanya.

Ang tao ay nagbibigay ng pahintulot sa indibidwal na negosyante na si Alexey Vladimirovich Zabolotnov (TIN INN212702621854, OGRNIP 313213018300022) upang iproseso ang kanyang personal na data, ibig sabihin: apelyido, unang pangalan, patronymic, numero ng telepono ng contact, email address, pati na rin ang lahat ng personal na data na kinakailangan upang makipag-ugnay ang Tao at gumawa ng isang kasunduan para sa pagkakaloob ng mga serbisyo ng impormasyon.

Upang matupad ang mga obligasyon sa ilalim ng kontrata, binibigyan ng Tao ang indibidwal na negosyante na si Alexey Vladimirovich Zabolotnov (TIN INN212702621854, OGRNIP 313213018300022) ng karapatang magsagawa ng anumang mga aksyon (operasyon) sa kanyang personal na data nang walang limitasyon: koleksyon, pag-record, pag-record, pag-record, systematization , paglilinaw (pag-update, pagbabago), pagkuha, akumulasyon, depersonalization, pagharang, pagtanggal, pagkasira; gamitin para sa mga layuning pang-istatistika, para sa mga layunin ng pagsusuri, para sa layuning ipaalam sa Tao (na may pagpapadala sa pamamagitan ng SMS o email) tungkol sa mga produkto at serbisyo ng Kumpanya, pati na rin upang magsagawa ng anumang iba pang mga aksyon na isinasaalang-alang ang kasalukuyang batas.

Patakaran sa Privacy

Ang anumang iba pang impormasyon na ipinadala ng Tao na may kaugnayan sa pagbisita sa site ("Iba pang impormasyon", na hindi personal na data ng Tao at hindi magagamit upang makilala ang Tao) ay maaaring isama sa mga database na pag-aari ng indibidwal na negosyante na si Alexey Vladimirovich Zabolotnov (TIN INN212702621854, OGRNIP 313213018300022) o mga kinatawan nito. Pinapanatili ng IP Zabolotnov Alexey Vladimirovich ang lahat ng karapatan sa mga database na ito at ang impormasyong nakaimbak sa mga ito. Maaaring kabilang sa iba pang impormasyong kinokolekta namin ang iyong IP address at iba pang impormasyong nakolekta sa pamamagitan ng cookies (tingnan sa ibaba).

Maaaring gumamit ang site na ito ng teknolohiyang kilala bilang cookies. Ang cookie ay isang mensahe na ipinapadala ng web server sa computer ng isang Tao kapag na-access ng Tao ang site. Kapag bumisita muli, titingnan ng aming site kung ang Tao ay may isa sa aming cookies sa kanilang computer. Pinapahusay ng aming cookies ang functionality ng site at tinutulungan kaming mas tumpak na pag-aralan kung paano ginagamit ang site.

Gumagamit ang site na ito ng mga Internet Protocol (IP) address. Ang IP address ay isang numero na itinalaga sa isang computer ng isang Internet service provider upang ma-access ang Internet. Karaniwan, nagbabago ang IP address sa tuwing ina-access mo ang Internet (ito ay isang "dynamic" na address). Gayunpaman, kung gumamit ng high-speed na koneksyon, depende sa mga pangyayari, posibleng ang IP address o maging ang cookie na ginagamit namin ay naglalaman ng makikilalang impormasyon. Ito ay dahil sa ilang uri ng mga high-speed na koneksyon, ang iyong IP address ay hindi nagbabago (“static”) at maaaring iugnay sa computer ng Tao. Ginagamit namin ang IP address ng Tao upang magbigay ng pangkalahatang impormasyon sa paggamit ng site, pati na rin upang mapabuti ito.

Ang site na ito ay gumagamit ng teknolohiya upang matukoy ang lokasyon ng isang Tao.

Obligado ang isang tao na umalis sa website na ito kung ayaw niyang maproseso ang data sa itaas (cookies, IP address at data ng lokasyon).

Ang site na ito ay hindi inilaan para sa mga taong wala pang 18 taong gulang. Hindi kami nangongolekta ng personal na data mula sa mga taong alam naming wala pang 18 taong gulang. Ang site na ito ay gumagamit ng pamantayan ng industriya na Secure Sockets Layer (SSL) encryption upang mangolekta ng impormasyon. Gayunpaman, para magamit ang opsyong ito, dapat suportahan ng browser ang cryptographic closure (mula sa Internet Explorer 3.0 pataas). Inilalaan ng indibidwal na negosyante na si Alexey Vladimirovich Zabolotnov ang karapatang magbigay ng impormasyon sa mga ahensya ng gobyerno sa mga naaangkop na kahilingan o sa mga kaso na itinakda ng batas.

Upang alisin ang impormasyon tungkol sa isang Tao mula sa aming mga listahan ng contact, dapat kang makipag-ugnayan sa sumusunod na address: IP Zabolotnov Alexey Vladimirovich, tel.: +7 8352 441133. O sa pamamagitan ng e-mail: manager@site

Ang isang tao ay maaaring patuloy na makatanggap ng mga materyales habang ang aming mga listahan ay ina-update. Ang Patakaran sa Privacy ng Website ay maaaring ma-update paminsan-minsan. Pagkatapos ng pag-update, magiging available ang mga panuntunang ito sa page na ito.

Ang paglikha ng mga ulat ay isa sa mga pangunahing tungkulin ng anumang sistema ng accounting. Anong mga uri ng ulat ang umiiral sa 1C Accounting 3.0, kung paano na-configure ang mga ulat sa 1C Accounting 8.3 at kung anong mga tool ang umiiral para sa paglikha ng mga bagong ulat - titingnan natin ngayon.

Mga uri ng karaniwang ulat

Ang 1C accounting program ng kumpanya ay paunang naka-install na may malawak na hanay ng mga ulat na nagbibigay-daan sa iyong makuha ang lahat ng kinakailangang impormasyon. Ang kanilang buong listahan ay ipinakita sa seksyong "Mga Ulat/Pamantayang Ulat":

Gayundin, ang bawat seksyon ng programa ay nagpapakita ng iba pang mga uri ng karaniwang mga ulat, halimbawa, ang mga ulat ng suweldo sa 1C 8.3 ay naka-imbak sa seksyong "Mga Salary at Tauhan/Mga Ulat sa suweldo".

Sa bawat ulat, mayroong posibilidad ng "karagdagang pagpapasadya" ng ulat, ibig sabihin, maaari kang magdagdag o mag-alis ng ilang karagdagang mga field, magdagdag ng pagpapangkat, pagpili, atbp.

Isaalang-alang natin ang opsyon sa pag-setup gamit ang halimbawa ng pagdaragdag ng karagdagang field sa karaniwang ulat na “Balanse ng account” (piliin ang account 10). Upang gawin ito, mula sa pindutan ng "Ipakita ang mga setting", pumunta sa "Mga karagdagang field", magdagdag ng bagong field, at sa form ng pagpili pumunta sa field na kailangan namin, halimbawa, upang ipakita ang numero ng item sa ulat, piliin ang Field na "Numero ng artikulo", na matatagpuan sa loob ng field na "Nomenclature" (upang palawakin ang field na kailangan mong i-click ang "+"):


Pagkatapos i-click ang “Bumuo”, lalabas ang karagdagang field na napili namin.

Bilang halimbawa, isaalang-alang ang isang sitwasyon kung saan kinakailangan ng ulat na isama ang buong listahan ng mga item na naglalaman ng salitang "boot" sa pangalan. Ano ang kailangan kong gawin? Sa pamamagitan ng pag-click sa "Ipakita ang mga setting", pumunta sa tab na "Selection", magdagdag ng bagong field, at sa window na lilitaw, pagbubukas ng "+" field na "Nomenclature", piliin ang "Pangalan".


Pagkatapos mabuo ang ulat, nakatanggap kami ng isang nomenclature na naglalaman lamang ng halaga na aming tinukoy sa pangalan.

Pagbuo ng mga ulat sa pamamagitan ng dokumento

Sa seksyong "Mga karaniwang ulat" mayroong isang pangkalahatang ulat na nagbibigay-daan sa iyong magpakita ng impormasyon mula sa mga bagay na pagsasaayos gaya ng:

  • Dokumento;
  • Direktoryo;
  • Rehistro ng akumulasyon;
  • Pagrehistro ng impormasyon;
  • Rehistro ng pagkalkula.

Tingnan natin ang mga halimbawa ng mga sitwasyon kung saan ang isang ulat ay makakatulong sa gumagamit na huwag gumawa ng mga panlabas na ulat, ngunit gumamit ng isang karaniwang mekanismo ng mga setting.

Halimbawa, kailangan naming bumuo ng isang ulat na magpapakita ng lahat ng mga kalakal na natanggap mula sa isang partikular na katapat para sa isang tiyak na panahon. Upang gawin ito, sa header ng ulat, piliin mula sa drop-down na listahan ang uri ng bagay - "Dokumento", ang uri ng bagay - "Resibo (mga gawa, mga invoice)", at ipahiwatig ang uri - "Mga Kalakal".




*Ang field ng Counterparty ay wala doon sa simula.

Sa field na "Uri ng paghahambing" itakda ang "Pantay", sa "Halaga" piliin ang nais na katapat mula sa direktoryo.


Sa itaas ng ulat, ipahiwatig ang kinakailangang panahon at buuin ang ulat.


Maaari mong i-save ang mga setting na ginawa namin: upang gawin ito, i-click ang pindutang "Higit Pa/I-save".

Isaalang-alang natin ang isang sitwasyon kung saan, upang makabuo ng maayos na pag-uulat, kinakailangang suriin ang lahat ng mga paggalaw sa rehistro ng "Hiwalay na VAT accounting" ayon sa dokumento.

Upang gawin ito, sa header ng ulat, piliin ang uri ng bagay mula sa drop-down na listahan - "Accumulation Register", sa susunod na field piliin ang uri ng object - "Separate VAT accounting", sa huling field piliin ang uri - "Balanse at turnover”.

Upang maipakita ng ulat ang impormasyon sa konteksto ng mga dokumento, i-click ang button na "Ipakita ang mga setting" upang pumunta sa mga setting ng ulat, pagkatapos ay pumunta sa tab na "Mga Tagapagpahiwatig", magdagdag ng bagong field at sa lalabas na window, piliin ang Ang field na "Registrar" ("registrar" ay ang dokumento na naglalaman ng isang kilusan ay nabuo kasama ang rehistro ng akumulasyon). Ang bagong idinagdag na field ay makikita sa ibaba ng listahan ng mga field bilang default: gamit ang "mga asul na arrow" inililipat namin ang field na "Registrar" sa tuktok ng listahan.


Sa artikulong ito, tiningnan namin kung anong mga opsyon ang umiiral para sa pagtatrabaho sa pag-uulat sa 1C Accounting 8, kung paano gamitin ang mga setting ng ulat at kung anong impormasyon ang maaaring makuha gamit ang isang pangkalahatang ulat.

Ang pangangailangang i-customize ang mga panlabas na ulat ay maaaring lumitaw sa mga kaso ng agarang pagbabago sa kaukulang mga form sa pag-uulat. Pagkatapos ng lahat, ang mga katawan ng gobyerno na nag-aapruba sa mga nauugnay na form ay hindi palaging isinasaalang-alang ang katotohanan na ang mga entidad ng negosyo ay nangangailangan ng oras upang ihanda ang form ng pag-uulat. May-akda - S.A. Kharitonov.

Sa mga karaniwang configuration para sa 1C:Enterprise 8, na ginawa ng 1C, ang mga regulated reporting form ay kasama sa mga configuration at inilalabas kasama ng configuration releases. Gayunpaman, kapag ang pangangailangan ay lumitaw - halimbawa, ang isang bagong edisyon ng form sa pag-uulat ay magkakabisa - ang kumpanya ng 1C ay naglalabas ng mga naturang form sa pag-uulat sa anyo ng mga panlabas na ulat "1C: Enterprise 8" (mga file na may *.erf extension).

Ang paggamit ng mga panlabas na ulat ay isang pansamantalang solusyon na dapat lang gamitin hanggang sa mailabas ang configuration release kung saan ilalagay ang mga kinakailangang pagbabago. Samakatuwid, ang ilang mga paghihigpit ay ipinapataw sa paggamit ng mga panlabas na ulat:

  • kapag naglalabas ng panlabas na ulat, tinutukoy kung aling release ng configuration ang magagamit nito;
  • ang panlabas na ulat ay hindi garantisadong sumusuporta sa mga nakaraang paglabas ng configuration;
  • kapag ang isang user ay nagtatrabaho sa isang configuration, higit sa isang bersyon ng isang panlabas na ulat ay hindi maaaring gamitin;
  • ang pagbubukas ng form ng ulat ay tumatagal ng mas mahabang oras kumpara sa isang ulat na ipinatupad bilang object ng pagsasaayos;
  • mas mabagal ang pag-upload ng data ng ulat sa electronic form, atbp.

Ang isang listahan ng mga panlabas na ulat na ibinigay para sa isang partikular na paglabas ng configuration ay makikita sa pahina ng pagsasaayos ng 1C:Enterprise 8 user support site sa www.users.v8.1c.ru (sa seksyon Libreng impormasyon kailangan mong mag-click sa bilang ng interes sa column na may mga numero ng bersyon) o sa form I-update ang impormasyon(tinatawag sa pamamagitan ng button I-update ang impormasyon uniporme ng nangungunang koponan ), kung ang regulated reporting alert service ay pinagana sa information base.

Sa parehong form, maaari kang mag-click sa pangalan ng panlabas na ulat upang i-download ito sa iyong computer.

Bilang isang patakaran, ang mga ulat ay ipinamamahagi sa anyo ng isang RAR archive. Upang gumana sa isang panlabas na ulat, dapat na i-unpack ang archive.

Ang archive, kasama ang panlabas na file ng ulat, ay naglalaman ng isang text file na naglalarawan sa layunin ng ulat at kung paano ito ikonekta.

Kung ang isang panlabas na ulat ay nilayon na palitan ang isang kinokontrol na ulat na mayroon na sa configuration, maaari itong ikonekta sa infobase sa pamamagitan lamang ng pagbubukas ng ulat sa 1C: Enterprise mode (menu File - Buksan).

Kapag binuksan ay tatanungin ka Magrehistro ng panlabas na kinokontrol na ulat sa base ng impormasyon? Pagkatapos ng sagot Oo ang panlabas na ulat ay irerehistro sa infobase at agad na bubuksan upang lumikha ng bagong ulat.

Kung sasagot ka Hindi, hindi irerehistro ang ulat, ngunit bubuksan din upang lumikha ng bagong ulat. Magiging posible na isagawa ang lahat ng mga aksyon na may tulad na ulat - paglikha, pagpuno, pag-print - ngunit ang ginawang ulat ay hindi maaaring i-save sa infobase.

Kung ang panlabas na ulat ay isang bagong uri ng kinokontrol na ulat, ang ulat ay hindi makakapagrehistro nang awtomatiko sa infobase: ang mode na ito ay dapat na manual na paganahin. Available din ang mga tagubilin sa koneksyon sa text file na nasa archive na nakuha mula sa website ng 1C.

Upang gumamit ng panlabas na ulat, dapat ipahiwatig ng user na para sa kinokontrol na ulat na ito, hindi isang panloob na object ng pagsasaayos, ngunit isang panlabas na ulat ang gagamitin.

Upang magrehistro ng isang panlabas na ulat bilang isang bagong uri ng mga kinokontrol na ulat sa direktoryo Mga regulated na ulat kinakailangan (tingnan ang Fig. 1):

1) pumunta sa pangkat ng direktoryo kung saan matatagpuan ang bagong uri ng ulat;
2) lumikha ng isang bagong item sa direktoryo sa pamamagitan ng pag-click sa pindutan Idagdag sa tuktok na panel ng command ng form ng direktoryo;
3) sa anyo ng isang elemento ng direktoryo, punan ang pangalan na ibibigay sa direktoryo Mga regulated na ulat at sa listahan ng mga uri ng ulat ng form Pag-uulat sa regulasyon at pananalapi. Maipapayo rin na punan ang isang paglalarawan ng uri ng ulat;
4) lumipat Gamitin itakda sa file at tukuyin kung aling file ang dapat gamitin bilang panlabas na ulat. Matapos pindutin ang pindutan OK sa dialog ng bukas na file, ang buong pangalan ng panlabas na ulat na ito ay ipahiwatig sa field ng file ng form ng elemento ng diksyunaryo.

kanin. 1. Magrehistro ng panlabas na ulat

Matapos pindutin ang pindutan Isulat ang panlabas na ulat ay nai-save sa infobase, pagkatapos nito ang buong pangalan ng panlabas na file ay papalitan ng teksto Ang ulat ay na-upload sa IB.

Ang parehong bagay ay nangyayari kapag pinindot mo ang isang pindutan OK, habang ang anyo ng elemento ng direktoryo Mga regulated na ulat nagsasara.

Para sa mga elemento ng direktoryo kung saan ginagamit ang mga panlabas na ulat, ang linya (panlabas) ay idinaragdag sa anyo ng listahan ng direktoryo pagkatapos ng pangalan ng ulat.

Pagkatapos ma-load ang panlabas na ulat sa infobase, hindi na kailangan ang external na file ng ulat mismo at maaaring tanggalin.

Ang pagtatrabaho sa isang kinokontrol na ulat na gumagamit ng isang panlabas na ulat ay hindi naiiba sa pagtatrabaho sa isang object ng pagsasaayos, maliban sa "mabagal na pagtugon" kapag binubuksan at kapag nagda-download ng data ng pag-uulat sa elektronikong anyo.

Bilang tanda ng isang panlabas na ulat, ang isang pulang inskripsyon ng impormasyon ay ipinapakita sa kanang bahagi ng tuktok na panel ng command Panlabas na ulat.

Maaari kang bumalik sa paggamit ng "internal" na configuration object anumang oras. Upang gawin ito, sa anyo ng isang elemento ng direktoryo para sa kinakailangang kinokontrol na ulat, dapat mong piliin ang switch Gamitin sa posisyon isang bagay at i-save ang elemento ng direktoryo.

Ang panlabas na ulat mismo ay hindi tinatanggal mula sa infobase, kaya posible rin ang kabaligtaran na pagkilos. Upang magtanggal ng ulat mula sa infobase, dapat mong gawin ang sumusunod:

1) sa direktoryo Mga regulated na ulat maghanap ng kinokontrol na ulat kung saan nakakonekta ang isang panlabas na ulat - ang naturang ulat ay magkakaroon ng linya (panlabas) na idaragdag pagkatapos ng pangalan ng ulat;
2) buksan ang elemento ng direktoryo para sa pag-edit gamit ang pindutan Baguhin ang kasalukuyang elemento;
3) sa field ng pagpili ng panlabas na ulat, i-click ang button X (Malinaw). Matapos pinindot nito ang text Ang ulat ay na-upload sa IB ay na-clear, ito ay isang senyales na ang ulat ay tatanggalin mula sa infobase;
4) isara ang form ng item sa direktoryo sa pamamagitan ng pag-click sa pindutan OK.

Ang ulat ay tinanggal habang sine-save ang item sa direktoryo.

Kung kinakailangan, ang ulat na na-load sa infobase ay maaaring i-save sa isang file sa disk. Upang gawin ito, sa anyo ng isang elemento ng direktoryo Mga regulated na ulat kailangan mong i-click ang link na may teksto Mag-upload ng panlabas na ulat sa file. Magbubukas ang isang karaniwang dialog ng pag-save ng file. Bilang default, ang pangalan ng file ay ang pangalan ng kaukulang configuration object.

Mahalagang tandaan na sa isang session ng user na may isang infobase hindi ka maaaring gumamit ng higit sa isang bersyon ng isang panlabas na ulat: halimbawa, kung ang user ay nagtatrabaho na sa isang kinokontrol na ulat, na isang panlabas na ulat, at na-load ito sa ang direktoryo Mga regulated na ulat isa pang bersyon ng panlabas na ulat na ito (halimbawa, na may idinagdag na autocomplete), upang magamit ang bersyong ito ng ulat na kailangan niyang tapusin ang kanyang session sa 1C:Enterprise mode, at pagkatapos ay agad na magsimula ng bagong session.


Isara