Kapag nagtatrabaho sa 1C, maraming nakagawiang operasyon na dapat ilunsad o iiskedyul para magsagawa ng isa o ibang aksyon, halimbawa: pag-post ng mga dokumento o pag-load ng data sa 1C mula sa isang website.

Nag-post ako kamakailan ng isang artikulo: Oras na para i-automate ito:

Mga gawain sa nakagawian at background

Ang makina ng trabaho ay idinisenyo upang magsagawa ng anumang aplikasyon o pag-andar sa isang iskedyul o asynchronously.

Ang mekanismo ng gawain ay malulutas ang mga sumusunod na problema:

  • Kakayahang tukuyin ang mga pamamaraan ng regulasyon sa yugto ng pagsasaayos ng system;
  • Pagpapatupad ng mga tinukoy na aksyon ayon sa iskedyul;
  • Ang paggawa ng isang tawag sa isang ibinigay na pamamaraan o pag-andar nang asynchronously, i.e. nang hindi naghihintay para sa pagkumpleto nito;
  • Pagsubaybay sa pag-usad ng isang partikular na gawain at pagkuha ng katayuan ng pagkumpleto nito (isang halaga na nagsasaad kung ito ay matagumpay o hindi);
  • Pagkuha ng listahan ng mga kasalukuyang gawain;
  • Kakayahang maghintay para sa isa o higit pang mga gawain upang makumpleto;
  • Pamamahala ng trabaho (posibilidad ng pagkansela, pagharang sa pagpapatupad, atbp.).

Ang mekanismo ng trabaho ay binubuo ng mga sumusunod na bahagi:

  • Metadata ng mga nakagawiang gawain;
  • Mga regular na gawain;
  • Mga trabaho sa background;
  • Taga-iskedyul ng Gawain.

Mga trabaho sa background at idinisenyo upang magsagawa ng mga gawain sa aplikasyon nang asynchronous. Ang mga gawain sa background ay ipinatupad gamit ang built-in na wika.

Mga naka-iskedyul na gawain at idinisenyo upang magsagawa ng mga gawain sa aplikasyon sa isang iskedyul. Ang mga nakagawiang gawain ay iniimbak sa base ng impormasyon at nilikha batay sa metadata na tinukoy sa configuration. Ang metadata ng isang regulasyong gawain ay naglalaman ng impormasyon tulad ng pangalan, pamamaraan, paggamit, atbp.

Ang isang nakagawiang gawain ay may iskedyul na tumutukoy sa kung anong oras ang pamamaraang nauugnay sa nakagawiang gawain ay dapat isagawa. Ang iskedyul, bilang panuntunan, ay tinukoy sa base ng impormasyon, ngunit maaari ding tukuyin sa yugto ng pagsasaayos (halimbawa, para sa mga paunang natukoy na gawaing karaniwang gawain).

Ang task scheduler ay ginagamit upang iiskedyul ang pagsasagawa ng mga nakagawiang gawain. Para sa bawat naka-iskedyul na trabaho, pana-panahong sinusuri ng scheduler kung ang kasalukuyang petsa at oras ay tumutugma sa iskedyul ng naka-iskedyul na trabaho. Kung tumugma ito, itatalaga ng scheduler ang gawaing iyon sa pagpapatupad. Upang gawin ito, para sa naka-iskedyul na gawain na ito, ang scheduler ay lumilikha ng isang gawain sa background, na nagsasagawa ng aktwal na pagproseso.

Sa tingin ko sapat na iyon sa paglalarawan - bumaba tayo sa pagpapatupad:

Paglikha ng isang nakagawiang gawain

Pangalan ng pamamaraan– landas patungo sa pamamaraan na isasagawa sa isang background na trabaho ayon sa isang naibigay na iskedyul. Ang pamamaraan ay dapat na nasa isang karaniwang module. Inirerekomenda na huwag gumamit ng karaniwang karaniwang mga module, ngunit upang lumikha ng iyong sarili. Huwag kalimutan na ang mga trabaho sa background ay tumatakbo sa server!

Paggamit– tanda ng paggamit ng nakagawiang gawain.

Paunang natukoy– nagsasaad kung ang nakagawiang gawain ay paunang natukoy.

Kung gusto mong gumana kaagad ang nakagawiang gawain pagkatapos mailagay sa database, tukuyin ang katangian Paunang natukoy. Kung hindi, kakailanganin mong gamitin ang pagpoproseso ng "Job Console" o i-trigger ang gawain na tumakbo sa programmatically.

Bilang ng mga muling pagsubok kapag hindi normal na natapos ang isang gawain– ilang beses na-restart ang background job kung ito ay naisakatuparan nang may error.

Subukang muli ang agwat kapag hindi normal na natapos ang trabaho– gaano kadalas ire-restart ang background job kung nakumpleto ito nang may error.

Pagse-set up ng iskedyul

Iskedyul pagkumpleto ng gawain:

Bawat oras, isang araw langPanahon ng RepeatDays = 0, Panahon ng RepeatDays = 3600
Araw-araw isang beses sa isang arawPanahon ng RepeatDays = 1, Panahon ng RepeatDays = 0
Isang araw, isang besesPeriodRepeatDays = 0
Tuwing ibang araw isang beses sa isang arawPeriodRepeatDays = 2
Bawat oras mula 01.00 hanggang 07.00 araw-arawPeriodRepeatDays = 1RepeatPeriodDuringDay = 3600StartTime = 01.00

Oras ng Pagtatapos = 07.00

Tuwing Sabado at Linggo sa 09.00Panahon ng RepeatDays = 1WeekDays = 6, 7StartTime = 09.00
Araw-araw sa loob ng isang linggo, laktawan ang isang linggoPeriodRepeatDays = 1PeriodWeeks = 2
Sa 01.00 isang besesOras ng Pagsisimula = 01.00
Huling araw ng bawat buwan sa 9:00.PeriodRepeatDays = 1DayInMonth = -1StartTime = 09.00
Ikalimang araw ng bawat buwan sa 9:00PeriodRepeatDays = 1DayInMonth = 5StartTime = 09.00
Ikalawang Miyerkules ng bawat buwan sa 9:00PeriodRepeatDays = 1DayWeekMonth = 2DaysWeek = 3

Oras ng Pagsisimula = 09.00

Mga tampok ng pagsasagawa ng mga trabaho sa background sa mga variant ng file at client-server

Ang mga mekanismo para sa pagpapatupad ng mga trabaho sa background sa file at mga bersyon ng client-server ay iba.

Sa bersyon ng file kailangan mong lumikha ng isang nakatuong proseso ng kliyente na magsasagawa ng mga trabaho sa background. Para magawa ito, dapat pana-panahong tawagan ng proseso ng kliyente ang global context function na ExecuteJobProcessing. Isang proseso ng kliyente lamang sa bawat infobase ang dapat magproseso ng mga trabaho sa background (at, nang naaayon, tawagan ang function na ito). Kung ang proseso ng kliyente ay hindi pa nagagawa upang iproseso ang mga trabaho sa background, pagkatapos ay kapag naka-program ang pag-access sa engine ng trabaho, ang error na "Job Manager ay hindi aktibo" ay ipapakita. Hindi inirerekomenda na gumamit ng proseso ng kliyente na nagpoproseso ng mga trabaho sa background para sa iba pang mga function.

Kapag nagsimula na ang proseso ng kliyente sa pagpoproseso ng mga trabaho sa background, magagawa ng ibang mga proseso ng kliyente na ma-access ng program ang background job engine, i.e. maaaring tumakbo at pamahalaan ang mga trabaho sa background.

Sa bersyon ng client-server Upang magsagawa ng mga trabaho sa background, isang task scheduler ang ginagamit, na pisikal na matatagpuan sa cluster manager. Para sa lahat ng mga nakapila na trabaho sa background, ang scheduler ay nakakakuha ng pinakakaunting na-load na proseso ng manggagawa at ginagamit ito upang patakbuhin ang kaukulang trabaho sa background. Isinasagawa ng proseso ng manggagawa ang trabaho at inaabisuhan ang scheduler ng mga resulta ng pagpapatupad.

Sa bersyon ng client-server, posibleng harangan ang pagpapatupad ng mga nakagawiang gawain. Ang pagsasagawa ng mga nakagawiang gawain ay naharang sa mga sumusunod na kaso:

  • Ang isang tahasang pagharang sa mga nakagawiang gawain ay na-install sa base ng impormasyon. Maaaring itakda ang lock sa pamamagitan ng cluster console;
  • Mayroong isang bloke ng koneksyon sa infobase. Maaaring itakda ang lock sa pamamagitan ng cluster console;
  • Ang SetExclusiveMode() method na may True parameter ay tinawag mula sa built-in na wika;
  • Sa ilang iba pang mga kaso (halimbawa, kapag ina-update ang configuration ng database).

Pinoproseso ang paglulunsad at pagtingin sa mga nakatakdang gawain maaari mong i-download dito.

Mga plataporma: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Mga pagsasaayos: Lahat ng configuration

2012-11-13
53853

Sa pamamahala ng dokumento, may mga gawain na nangangailangan ng pana-panahong pagpapatupad - halimbawa, sa ikadalawampu, o araw-araw. Bilang isang patakaran, ang mga kumpanya ay lumikha ng ilang partikular na mga patakaran para sa layuning ito, na nagpapahiwatig kung kailan at kung paano dapat gawin ang kinakailangang gawain, at kung sino ang dapat na kontrolin ang proseso. Ang ganitong mga gawain ay ginagawa ayon sa mga regulasyon at tinatawag na regulated.

Kadalasan, ang mga regulasyon sa pagsubaybay ay sinusunod sa IT. Ang pamamaraang ito ay pamilyar sa mga administrator, dahil para sa layuning ito mayroong mga espesyal na programa na ginagamit upang pana-panahong suriin ang pag-andar ng imprastraktura ng network at mga server. Inaabisuhan nila ang administrator tungkol sa mga nakitang problema sa pamamagitan ng SMS o email.

Ang isang katulad na sistema ay gumagana para sa mga webmaster, at ang pagiging available ng site ay sinusuri sa loob ng 24 na oras. Gamit ang mekanismo ng "Mga nakagawiang gawain" sa 1C, isinasagawa ang mga gawain sa pagsubaybay, pati na rin ang mga pana-panahong gawain na isinasagawa ayon sa isang iskedyul sa awtomatikong mode sa 1C. Tingnan natin ang paksang ito.

Mga nakatakdang gawain 1C

Ang bagay na 1C, na tinatawag na "Mga nakagawiang gawain," ay ginagawang posible na iproseso ang impormasyon hindi pagkatapos mangyari ang isang problema, ngunit ayon sa isang iskedyul. Sa configurator, ang isang nakagawiang gawain ay isang paraan upang magtakda ng mga setting at magtakda ng iskedyul. Bilang karagdagan, posible na kasunod na baguhin ang iskedyul sa 1C Enterprise mode.

Kapag gumagamit ng database ng file, hindi awtomatikong naisasagawa ang mga trabaho. Upang simulan ang proseso, kailangan mong magsimula ng 1C session sa 1C Enterprise mode at magsimulang magsagawa ng nakagawiang gawain dito.

Ang lahat ng karaniwang configuration ay may setting ng user na nagbibigay-daan sa iyong tukuyin na kapag tumatakbo ang 1C, awtomatikong isasagawa ang mga nakagawiang gawain.

Ang paggamit ng bersyon ng client-server ng 1C ay ginagawang posible na awtomatikong magsagawa ng mga gawain sa server. Sa naka-iskedyul na oras, ang isang background na trabaho ay inilunsad, na nagsasagawa ng mga kinakailangang aksyon. Para sa parallel computing sa server, maaaring gumawa ng background job mula sa program text gamit ang 1C na wika, nang hindi gumagamit ng naka-iskedyul na 1C na trabaho. Maaaring pansamantalang i-disable ang pagkilos ng isang naka-iskedyul na gawain gamit ang 1C server management console.

Pagdaragdag ng nakaiskedyul na gawain

Ang mga nakagawiang gawain ay matatagpuan sa - Configurator - Pangkalahatan - Mga nakagawiang gawain. Magdagdag ng bagong "gawain" at magbigay ng pangalan. Susunod, kailangan mong pumunta sa mga katangian ng "Mga Gawain". At piliin ang Pangalan ng Pamamaraan. Dito, kailangan mong tumukoy ng function ng handler, tulad ng nangyayari sa isang subscription sa event. Ang function na ito ay matatagpuan sa pangkalahatang module at minarkahan ng isang "ibon" Server sa mga katangian. Nangangahulugan ito na ang kinakailangang module ay dapat idagdag nang maaga.

Ang pangalan ng gawain sa Properties ng isang naka-iskedyul na gawain ay nagbibigay-daan sa iyo upang matukoy ang pangalan nito, na pagkatapos ay lilitaw sa mga tool sa pamamahala ng gawain. Ang function na Routine Task Properties ay isang susi na nagbibigay-daan sa iyong pagpangkatin ang ilang iba't ibang mga nakagawiang gawain. Sa kasong ito, isang gawain lang na may parehong key value ang maaaring ilunsad sa isang pagkakataon. Dito, ang halaga ay maaaring maging arbitrary, ngunit dapat itong punan, dahil ang isang walang laman na halaga ay hindi isinasaalang-alang ng system.

Sa Accounting edition 2.0, na isang karaniwang configuration, ang mga nakagawiang gawain gaya ng: "Recalculation of totals" at "Updating the configuration" ay paunang natukoy, ngunit gaya ng, halimbawa, "Deferred movements" at "Data exchange" ay hindi paunang natukoy.

Subukan muli sa hindi normal na pagwawakas - i-restart ang kasalukuyang trabaho. Idinisenyo upang magsagawa ng paglulunsad na hindi matagumpay sa unang pagkakataon. Dito, ipinapahiwatig kung ilang beses ka makakapag-restart at pagkatapos ng ilang oras na lumipas pagkatapos ng hindi normal na pagwawakas.

Mga tool sa pagsubaybay at pamamahala para sa mga karaniwang gawain 1C

Ang karaniwang pagpoproseso ng "Task Console", na matatagpuan sa mga disk ng ITS, ay responsable para sa pamamahala ng isang nakagawiang gawain. Ang pagpoprosesong ito ay isang unibersal na panlabas na pamantayang pagpoproseso 1C. Bilang isang patakaran, hindi ito kasama sa pagsasaayos, ngunit binili nang hiwalay.

Sa tulong nito maaari mong gawin ang mga sumusunod na aksyon:

I-on at i-off ang isang naka-iskedyul na gawain;

Magtalaga at baguhin ang mga iskedyul;

Italaga ang user name kung saan isasagawa ang nakagawiang gawain;

Tingnan ang mga natapos na gawain (kailan at anong resulta), pati na rin ang mga error sa gawain;

Nakagawiang gawain at mga kopya ng mga database

Kapag gumagamit ng server 1C, maaaring lumitaw ang sumusunod na sandali:

Upang mag-program, kailangan mong gumawa ng isang kopya ng gumaganang database;

Ang pangangailangan na magtrabaho sa mga kopya ng database (pagsubok);

Para sa ilang kadahilanan, ang naka-iskedyul na gawain ay hindi kasama sa database ng pagsubok.

Kung ang isa sa mga sitwasyong ito ay lumitaw sa panahon ng pagpapatupad ng mga gawain sa pamamagitan ng isang nakagawiang gawain na nauugnay lamang sa kanilang database, kung gayon wala itong negatibong kahihinatnan. Ngunit, kadalasan, ang isang nakagawiang gawain ay maaaring mag-save ng mga file o iba pang data, magpadala ng mga email, at magsagawa ng mga palitan. Sa kasong ito, maaaring lumitaw ang pagkalito sa pagitan ng mga resulta ng "trabaho" at ng mga kopya. Upang maiwasang mangyari ito, kailangan mong huwag paganahin ang "mga gawain" sa console ng pamamahala ng server.

Nakumpleto at hindi nakumpleto ang mga gawain sa regulasyon

Kapag gumagawa ng mga nakagawiang gawain, mahalagang suriin kung ang gawain ay maisasagawa bilang isang nakagawiang gawain. Mahalagang malaman na ang module ng server ay hindi gumagawa ng maraming bagay na posible sa kliyente. Dagdag pa, ang isang gawain na tumatalakay sa isang bagay na nasa labas ng database - isang mahalagang papel dito ay nilalaro ng mga karapatan ng gumagamit ng Windows kung saan isinasagawa ang gawain.

Ang huling kadahilanan ay lalong mahalaga, dahil kung ang module ay hindi naisakatuparan sa server, kung gayon ang gawain ay hindi makumpleto sa prinsipyo. Upang suriin, kailangan mong magpatakbo ng isang gawain at suriin ang resulta.

Paglikha ng isang nakagawiang gawain

Gumawa tayo ng isang nakagawiang gawain na "Magsagawa ng pagproseso".

Huwag paganahin ang paggamit ng naka-iskedyul na gawain upang kapag ina-update ang pagsasaayos ay hindi ito awtomatikong tatakbo.

Magtalaga tayo ng isang pamamaraan na ma-trigger kapag ang isang nakagawiang gawain ay inilunsad:Module ng RoutineTasks.RoutineTaskExecutionProcessing.

Ang pamamaraan mismo ay mukhang:

Pamamaraan RoutineTaskExecutionProcessing(Key) Export

Mga Parameter ng RoutineTasks.PerformProcessingWithParameters(Key);

EndProcedure

Gumagawa kami ng isang reference na libro para sa mga karaniwang gawain

Ang aming nakagawiang gawain ay maaaring magbunga ng maraming proseso sa background - isa para sa bawat pagpoproseso. Ang bawat gawain sa 1C8 platform ay may susi. Ngunit ang naka-iskedyul na paraan ng trabaho ay hindi alam ang susi sa trabaho sa background, kaya kailangan mong gamitin ang mga parameter ng trabaho sa background. Bilang resulta, makikita natin ang trabaho sa background sa job console, ngunit hindi tayo manu-manong lumikha ng background na trabaho mula sa console na ito, dahil ang mga trabahong may mga parameter ay hindi ginagawa nang manu-mano.

Sangguniang aklat na "Mga Parameter ng mga nakaiskedyul na gawain" :

Requisites :

· CodeBago Ilunsad- walang limitasyong string - code sa 1C na wika na dapat isagawa bago ilunsad.

· Pagproseso mula sa configuration - linya (100) - pagpoproseso ng identifier mula sa configuration

· Pagproseso mula sa direktoryo - linya (100) - link sa elemento ng direktoryo na "Panlabas na Pagproseso", kung mayroong isa sa pagsasaayos

· Ipatupad sa pamamagitan ng 1C application - Boolean - isang hiwalay na 1C application ang gagawin at isang regular na gawain ang ilulunsad dito. Ginawa para sa 8.1, kung saan hindi lahat ng paraan ng aplikasyon ay magagamit sa server kung saan tumatakbo ang naka-iskedyul na trabaho.

· Ilunsad ang code- - walang limitasyong linya - code sa 1C na wika na isasagawa kapag ang isang naka-iskedyul na gawain ay inilunsad.

Gumawa tayo ng hugis ng elemento :

Sa pamamagitan ng pag-click sa “Gumawa ng Reg. gawain" isang nakagawiang gawain na may pangunahing code ay nilikha sa pamamagitan ng program:

Pamamaraan BasicActionsFormCreateReglTask(Button)

Variable Job;

Susi = AbbrLP(Code);

Gawain = RoutineTasks.CreateRoutineTask("PerformProcessing");

Gawain.Pangalan = Susi;

Trabaho.Susi = Susi;

Mga Parameter = Bagong Array();

Parameters.Add(Key);

Gawain.Mga Parameter = Parameter;

Gawain.Isulat();

EndProcedure

Pagsisimula ng nakaiskedyul na gawain

Ang bawat gawaing karaniwang ginagawa namin ay may susi:

Ang susi na ito ay tumutugma sa code ng direktoryo na "Mga Parameter ng mga nakagawiang gawain" na ginagamit upang maghanap kapag nagsisimula ng isang gawain. Kung ang entry sa direktoryo ay hindi natagpuan, ang gawain ay hindi naisakatuparan.

Susunod, kung ang code ay ibinigayCodeBago Ilunsad pagkatapos ang code na ito ay isasagawa. Susunod, kung ang variable Tuparin sinusuri sa false, ang gawain ay hindi makukumpleto. Available ang variable para sa pagsusuri Mga pagpipilian, kung saan ang isang link sa nahanap na elemento ng direktoryo na "Mga Parameter ng mga nakagawiang gawain" ay nakaimbak.

Depende sa mga napiling halaga ng mga detalye, ang code sa 1C na wika ay tatakbo, o ang pagpoproseso mula sa pagsasaayos ay magsisimula, o ang pagproseso mula sa karaniwang reference na aklat na "External Processing" ay magsisimula.

Para sa 1C81, ibinibigay ang pagpapatupad sa isang bagong application - upang magamit mo ang code na magagamit lamang sa kliyente, kabilang ang paggamit ng panlabas na pagproseso. Upang gawin ito, kailangan mong suriin ang checkbox na "Run through 1C application". Kung hindi, ang naka-iskedyul na gawain ay isasagawa sa server.

Inirerekomenda ko ang pagtatakda ng isang user sa field na "User" ng isang bagong likhang gawain upang ang gawain ay maisakatuparan sa ilalim ng ilang mga karapatan. Inirerekomenda ko ang pagbibigay ng buong karapatan sa naturang user. Ginagamit ko ang gumagamit"robot».

Ang nakagawiang iskedyul ng gawain ay nilikha gamit ang "Iskedyul" na hyperlink mula sa nakagawiang form ng gawain. Maaari mong gamitin ang pagpoproseso ng “Routine Task Console.”

1 Mekanismo ng trabaho
2 Mga trabaho sa background
3 Naka-iskedyul na mga gawain
4 Mga tampok ng pagsasagawa ng mga trabaho sa background sa mga bersyon ng file at client-server
5 Paglikha ng metadata para sa isang nakagawiang gawain
6 Job Console
7 Paggawa gamit ang mga nakagawiang gawain
7.1 Mga bagay sa trabaho
7.2 Pagkuha ng listahan ng mga gawain
7.3 Paglikha
7.4 Pag-uninstall
7.5 Pagkuha ng bagay sa trabaho

Mekanismo ng trabaho

Ang makina ng trabaho ay idinisenyo upang magsagawa ng anumang aplikasyon o pag-andar sa isang iskedyul o asynchronously.

Ang mekanismo ng gawain ay malulutas ang mga sumusunod na problema:

  • Kakayahang tukuyin ang mga pamamaraan ng regulasyon sa yugto ng pagsasaayos ng system;
  • Pagpapatupad ng mga tinukoy na aksyon ayon sa iskedyul;
  • Ang paggawa ng isang tawag sa isang ibinigay na pamamaraan o pag-andar nang asynchronously, i.e. nang hindi naghihintay para sa pagkumpleto nito;
  • Pagsubaybay sa pag-usad ng isang partikular na gawain at pagkuha ng katayuan ng pagkumpleto nito (isang halaga na nagsasaad kung ito ay matagumpay o hindi);
  • Pagkuha ng listahan ng mga kasalukuyang gawain;
  • Kakayahang maghintay para sa isa o higit pang mga gawain upang makumpleto;
  • Pamamahala ng trabaho (posibilidad ng pagkansela, pagharang sa pagpapatupad, atbp.).

Ang mekanismo ng trabaho ay binubuo ng mga sumusunod na bahagi:

  • Metadata ng mga nakagawiang gawain;
  • Mga regular na gawain;
  • Mga trabaho sa background;
  • Taga-iskedyul ng Gawain.

Ang mga trabaho sa background ay idinisenyo upang maisagawa ang mga gawain sa aplikasyon nang hindi magkakasabay. Ang mga gawain sa background ay ipinatupad gamit ang built-in na wika.

Mga naka-iskedyul na gawain - idinisenyo upang magsagawa ng mga inilapat na gawain sa isang iskedyul. Ang mga nakagawiang gawain ay iniimbak sa base ng impormasyon at nilikha batay sa metadata na tinukoy sa configuration. Ang metadata ng isang regulasyong gawain ay naglalaman ng impormasyon tulad ng pangalan, pamamaraan, paggamit, atbp.

Ang isang nakagawiang gawain ay may iskedyul na tumutukoy sa kung anong oras ang pamamaraang nauugnay sa nakagawiang gawain ay dapat isagawa. Ang iskedyul, bilang panuntunan, ay tinukoy sa base ng impormasyon, ngunit maaari ding tukuyin sa yugto ng pagsasaayos (halimbawa, para sa mga paunang natukoy na gawaing karaniwang gawain).

Ang task scheduler ay ginagamit upang iiskedyul ang pagsasagawa ng mga nakagawiang gawain. Para sa bawat naka-iskedyul na trabaho, pana-panahong sinusuri ng scheduler kung ang kasalukuyang petsa at oras ay tumutugma sa iskedyul ng naka-iskedyul na trabaho. Kung tumugma ito, itatalaga ng scheduler ang gawaing iyon sa pagpapatupad. Upang gawin ito, para sa naka-iskedyul na gawain na ito, ang scheduler ay lumilikha ng isang gawain sa background, na nagsasagawa ng aktwal na pagproseso.

Mga trabaho sa background

Ang mga trabaho sa background ay maginhawang gamitin upang magsagawa ng mga kumplikadong kalkulasyon kapag ang resulta ng pagkalkula ay maaaring tumagal ng mahabang panahon upang makuha. Ang makina ng trabaho ay may mga paraan upang maisagawa ang mga naturang kalkulasyon nang asynchronous.

Ang nauugnay sa isang background na trabaho ay isang paraan na tinatawag kapag ang background na trabaho ay tumatakbo. Ang isang paraan ng trabaho sa background ay maaaring maging anumang pamamaraan o function ng isang hindi-global na karaniwang module na maaaring tawagan sa server. Ang mga parameter ng trabaho sa background ay maaaring maging anumang mga halaga na pinapayagang maipasa sa server. Ang mga parameter ng isang background na trabaho ay dapat na eksaktong tumugma sa mga parameter ng pamamaraan o function na tinatawag nito. Kung ang paraan ng trabaho sa background ay isang function, babalewalain ang return value nito.

Ang isang background na trabaho ay maaaring magkaroon ng isang susi - anumang halaga ng aplikasyon. Ang susi ay nagpapakilala ng isang paghihigpit sa paglulunsad ng mga trabaho sa background - isang background na trabaho lamang ang maaaring isagawa bawat yunit ng oras na may isang tiyak na halaga ng key at isang ibinigay na pangalan ng pamamaraan ng trabaho sa background (ang pangalan ng pamamaraan ay binubuo ng pangalan ng module at ang pangalan ng pamamaraan o pag-andar). Binibigyang-daan ka ng key na pagpangkatin ang mga trabaho sa background na may parehong mga pamamaraan ayon sa isang partikular na katangian ng aplikasyon upang hindi hihigit sa isang trabaho sa background ang isasagawa sa loob ng isang grupo.

Ang mga trabaho sa background ay nilikha at pinamamahalaan sa programmatically mula sa anumang koneksyon. Ang sinumang user ay pinapayagang lumikha ng isang background na trabaho. Bukod dito, ito ay isinasagawa sa ngalan ng user na lumikha nito. Ang pagtanggap ng mga gawain, pati na rin ang paghihintay para sa kanilang pagkumpleto, ay pinapayagan mula sa anumang koneksyon sa isang user na may mga karapatang pang-administratibo, o sa user na lumikha ng mga trabaho sa background na ito.

Ang isang background na trabaho ay isang bagay na purong session at hindi kabilang sa anumang session ng user. Para sa bawat gawain, isang espesyal na session ng system ang nilikha, na tumatakbo sa ngalan ng user na tumawag. Ang mga trabaho sa background ay walang patuloy na estado.

Ang isang trabaho sa background ay maaaring magbunga ng iba pang mga trabaho sa background. Sa bersyon ng client-server, binibigyang-daan ka nitong iparallelize ang mga kumplikadong kalkulasyon sa mga proseso ng cluster worker, na maaaring makabuluhang mapabilis ang proseso ng pagkalkula sa kabuuan. Ang parallelization ay ipinapatupad sa pamamagitan ng pag-spawning ng ilang trabaho sa background ng bata at paghihintay na makumpleto ang bawat isa sa kanila sa pangunahing background na trabaho.

Ang mga trabaho sa background na matagumpay o nabigo ay iniimbak sa loob ng 24 na oras at pagkatapos ay tatanggalin. Kung ang bilang ng mga nakumpletong trabaho sa background ay lumampas sa 1000, ang mga pinakalumang trabaho sa background ay tatanggalin din.

Mga naka-iskedyul na gawain

Ang mga naka-iskedyul na gawain ay ginagamit kapag kinakailangan na magsagawa ng ilang mga pana-panahon o isang beses na pagkilos ayon sa isang iskedyul.

Ang mga naka-iskedyul na gawain ay iniimbak sa base ng impormasyon at nilikha batay sa metadata ng nakagawiang gawain na tinukoy sa pagsasaayos. Tinutukoy ng metadata ang mga parameter ng isang nakagawiang gawain bilang: tinatawag na pamamaraan, pangalan, susi, posibilidad ng paggamit, tanda ng paunang pagpapasya, atbp. Kapag lumilikha ng isang nakagawiang gawain, maaari mong dagdagan ang tukuyin ang iskedyul (maaaring tukuyin sa metadata), mga halaga ​​ng mga parameter ng pamamaraan, pangalan ng user na para sa kanila ay nagsasagawa ng mga nakagawiang gawain, atbp.

Ang paglikha at pamamahala ng mga naka-iskedyul na gawain ay isinasagawa sa pamamagitan ng program mula sa anumang koneksyon at pinapayagan lamang sa mga user na may mga karapatang pang-administratibo.

Tandaan. Kapag nagtatrabaho sa bersyon ng file, posibleng gumawa at mag-edit ng mga nakagawiang gawain nang hindi inilulunsad ang task scheduler.

Ang nauugnay sa isang nakagawiang gawain ay isang pamamaraan na tinatawag kapag ang nakagawiang gawain ay naisakatuparan. Ang nakagawiang paraan ng gawain ay maaaring maging anumang pamamaraan o pag-andar ng isang di-global na karaniwang module na maaaring tawagan sa server. Ang mga parameter ng isang nakagawiang gawain ay maaaring maging anumang mga halaga na pinapayagang maipadala sa server. Ang mga parameter ng isang nakagawiang gawain ay dapat na eksaktong tumutugma sa mga parameter ng pamamaraan o function na tinatawag nito. Kung ang nakagawiang pamamaraan ng gawain ay isang function, ang halaga ng pagbabalik nito ay hindi papansinin.

Ang isang nakagawiang gawain ay maaaring magkaroon ng isang susi - anumang halaga ng aplikasyon. Ang susi ay nagpapakilala ng isang paghihigpit sa paglulunsad ng mga naka-iskedyul na gawain, dahil bawat yunit ng oras, sa mga nakagawiang gawain na nauugnay sa parehong metadata object, isang karaniwang gawain lang na may partikular na halaga ng key ang maaaring isagawa. Binibigyang-daan ka ng key na pangkatin ang mga nakagawiang gawain na nauugnay sa parehong metadata object ayon sa isang partikular na katangian ng application upang hindi hihigit sa isang karaniwang gawain ang ginagawa sa loob ng isang pangkat.

Sa panahon ng pagsasaayos, maaari mong tukuyin ang mga paunang natukoy na gawain. Ang mga paunang natukoy na gawain ay hindi naiiba sa mga regular na gawain, maliban na ang mga ito ay hindi maaaring tahasang gawin o tanggalin. Kung sa metadata ng nakatakdang gawain ito ay nakatakda tanda ng isang paunang natukoy na gawain, at kapag ina-update ang configuration sa infobase, awtomatikong gagawa ng isang paunang natukoy na gawain. Kung na-clear ang paunang natukoy na flag, pagkatapos ay kapag ina-update ang configuration sa infobase, awtomatikong made-delete ang paunang natukoy na gawain. Ang mga paunang halaga ng mga katangian ng isang paunang natukoy na naka-iskedyul na gawain (halimbawa, isang iskedyul) ay nakatakda sa metadata. Sa hinaharap, kapag tumatakbo ang application, maaari silang baguhin. Ang mga paunang natukoy na gawain ay walang mga parameter.

Tinutukoy ng nakagawiang iskedyul ng gawain kung anong oras dapat isagawa ang nakagawiang gawain. Ang iskedyul ay nagpapahintulot sa iyo na itakda ang: ang petsa at oras ng pagsisimula at pagtatapos ng gawain, ang panahon ng pagpapatupad, ang mga araw ng linggo at mga buwan kung saan dapat gawin ang naka-iskedyul na gawain, atbp. (tingnan ang paglalarawan ng built- sa wika).

Mga halimbawa ng nakagawiang iskedyul ng gawain:

Bawat oras, isang araw lang

Panahon ng RepeatDays = 0, Panahon ng RepeatDays = 3600

Araw-araw isang beses sa isang araw

Panahon ng RepeatDays = 1, Panahon ng RepeatDays = 0

Isang araw, isang beses

PeriodRepeatDays = 0

Tuwing ibang araw isang beses sa isang araw

PeriodRepeatDays = 2

Bawat oras mula 01.00 hanggang 07.00 araw-araw

PeriodRepeatDays = 1
Ulitin ang PanahonSa Araw = 3600
Oras ng Pagsisimula = 01.00
Oras ng Pagtatapos = 07.00

Tuwing Sabado at Linggo sa 09.00

PeriodRepeatDays = 1
Mga Araw ng Linggo = 6, 7
Oras ng Pagsisimula = 09.00

Araw-araw sa loob ng isang linggo, laktawan ang isang linggo

PeriodRepeatDays = 1
PeriodWeeks = 2

Sa 01.00 isang beses

Oras ng Pagsisimula = 01.00

Huling araw ng bawat buwan sa 9:00.

PeriodRepeatDays = 1
DayInMonth = -1
Oras ng Pagsisimula = 09.00

Ikalimang araw ng bawat buwan sa 9:00

PeriodRepeatDays = 1
DayInMonth = 5
Oras ng Pagsisimula = 09.00

Ikalawang Miyerkules ng bawat buwan sa 9:00

PeriodRepeatDays = 1
DayWeekInMonth = 2
Araw ng Linggo = 3
Oras ng Pagsisimula = 09.00

Maaari mong suriin kung ang isang gawain ay tumatakbo para sa isang naibigay na petsa (ang RequiredExecution na paraan ng ScheduleTasks object). Ang mga naka-iskedyul na gawain ay palaging ginagawa sa ilalim ng pangalan ng isang partikular na user. Kung ang gumagamit ng naka-iskedyul na gawain ay hindi tinukoy, pagkatapos ay magaganap ang pagpapatupad sa ngalan ng default na gumagamit na may mga karapatang pang-administratibo.

Ang mga nakagawiang gawain ay isinasagawa gamit ang mga gawain sa background. Kapag natukoy ng scheduler na ang isang naka-iskedyul na gawain ay dapat ilunsad, ang isang background na trabaho ay awtomatikong nilikha batay sa naka-iskedyul na gawain na ito, na nagsasagawa ng lahat ng karagdagang pagproseso. Kung tumatakbo na ang nakagawiang gawain na ito, hindi na ito tatakbo muli, anuman ang iskedyul nito.

Maaaring i-restart ang mga nakaiskedyul na gawain. Ito ay totoo lalo na kapag ang nakagawiang pamamaraan ng gawain ay dapat garantisadong maisakatuparan. Ang isang nakagawiang gawain ay muling sinisimulan kapag ito ay natapos nang hindi normal, o kapag ang proseso ng manggagawa (sa bersyon ng client-server) o ang proseso ng kliyente (sa bersyon ng file) kung saan ang nakagawiang gawain ay naisakatuparan ay hindi normal na natapos. Sa naka-iskedyul na gawain, maaari mong tukuyin kung gaano karaming beses ito kailangang i-restart, pati na rin ang agwat sa pagitan ng mga pag-restart. Kapag ipinapatupad ang restartable routine task method, dapat mong isaalang-alang na kapag na-restart, ang pagpapatupad nito ay magsisimula sa simula, at hindi magpapatuloy mula sa sandali ng abnormal na pagwawakas.

Mahalagang tandaan iyon Oras ng pagtatapos ay hindi kinakailangang kumpletuhin ang trabaho sa background sa tinukoy na oras. Ilang pahayag:
* Maaaring balewalain ng isang background na trabaho ang awtomatikong pagkansela nito kung hindi ito natigil ngunit patuloy na tatakbo sa ilang kadahilanan
na hindi lahat ng pagpapatakbo ng platform ay maaaring baligtarin. Kung ang built-in na language cyclic code ay naisakatuparan, pagkatapos ay kanselahin ang trabaho
baka kung hindi. Ang lahat ay nakasalalay sa kung ano ang ginagawa ng trabaho.
* Oras ng pagtatapos - ang hangganan kung saan maaaring magsimula ang isang gawain sa halip na matapos?
* Ang sapilitang pagwawakas ng isang gawain ay ibinabalik ang mga pagbabagong ginawa sa pagsisimula ng transaksyon?

Mga tampok ng pagsasagawa ng mga trabaho sa background sa mga variant ng file at client-server

Ang mga mekanismo para sa pagpapatupad ng mga trabaho sa background sa file at mga bersyon ng client-server ay iba.

  • Sa bersyon ng file, kailangan mong lumikha ng nakalaang proseso ng kliyente na magsasagawa ng mga trabaho sa background. Para magawa ito, dapat pana-panahong tawagan ng proseso ng kliyente ang global context function na ExecuteJobProcessing. Isang proseso ng kliyente lamang sa bawat infobase ang dapat magproseso ng mga trabaho sa background (at, nang naaayon, tawagan ang function na ito). Kung ang proseso ng kliyente ay hindi pa nagagawa upang iproseso ang mga trabaho sa background, pagkatapos ay kapag naka-program ang pag-access sa engine ng trabaho, ang error na "Job Manager ay hindi aktibo" ay ipapakita. Hindi inirerekomenda na gumamit ng proseso ng kliyente na nagpoproseso ng mga trabaho sa background para sa iba pang mga function.

Kapag nagsimula na ang proseso ng kliyente sa pagpoproseso ng mga trabaho sa background, magagawa ng ibang mga proseso ng kliyente na ma-access ng program ang background job engine, i.e. maaaring tumakbo at pamahalaan ang mga trabaho sa background.

Sa bersyon ng client-server, isang task scheduler ang ginagamit upang magsagawa ng mga trabaho sa background, na pisikal na matatagpuan sa cluster manager. Para sa lahat ng mga nakapila na trabaho sa background, ang scheduler ay nakakakuha ng pinakakaunting na-load na proseso ng manggagawa at ginagamit ito upang patakbuhin ang kaukulang trabaho sa background. Isinasagawa ng proseso ng manggagawa ang trabaho at inaabisuhan ang scheduler ng mga resulta ng pagpapatupad.

Sa bersyon ng client-server, posibleng harangan ang pagpapatupad ng mga nakagawiang gawain. Ang pagsasagawa ng mga nakagawiang gawain ay naharang sa mga sumusunod na kaso:

  • Ang isang tahasang pagharang sa mga nakagawiang gawain ay na-install sa base ng impormasyon. Maaaring itakda ang lock sa pamamagitan ng cluster console;
  • Mayroong isang bloke ng koneksyon sa infobase. Maaaring itakda ang lock sa pamamagitan ng cluster console;
  • Ang SetExclusiveMode() method na may True parameter ay tinawag mula sa built-in na wika;
  • Sa ilang iba pang mga kaso (halimbawa, kapag ina-update ang configuration ng database).

Paglikha ng metadata para sa isang nakagawiang gawain

Bago ka gumawa ng nakagawiang gawain sa infobase sa pamamagitan ng program, kailangan mong gumawa ng metadata object para dito.

Upang lumikha ng isang metadata object para sa isang nakagawiang gawain sa puno ng pagsasaayos sa sangay na "Pangkalahatan" para sa sangay na "Mga gawain sa karaniwang gawain", isagawa ang utos na "Magdagdag" at punan ang mga sumusunod na katangian ng nakagawiang gawain sa paleta ng mga katangian:

Pangalan ng pamamaraan - ipahiwatig ang pangalan ng karaniwang pamamaraan ng gawain.

Key - tumukoy ng arbitrary string value na gagamitin bilang key ng naka-iskedyul na gawain.

Iskedyul - nagsasaad ng iskedyul ng nakagawiang gawain. Upang lumikha ng isang iskedyul, i-click ang link na "Buksan" at sa form ng iskedyul na bubukas, itakda ang mga kinakailangang halaga.

Sa tab na "General", ang mga petsa ng pagsisimula at pagtatapos ng gawain at ang repeat mode ay ipinahiwatig.

Sa tab na "Araw-araw", ang pang-araw-araw na iskedyul ng gawain ay ipinahiwatig.

Pakisaad ang iyong iskedyul:

  • oras ng pagsisimula at oras ng pagtatapos ng gawain;
  • ang oras ng pagkumpleto ng gawain, pagkatapos nito ay mapipilitang wakasan;
  • panahon ng pag-uulit ng gawain;
  • tagal ng pag-pause sa pagitan ng mga pag-uulit;
  • tagal ng pagpapatupad.

Pinapayagan na tukuyin ang isang arbitrary na kumbinasyon ng mga kondisyon.

Sa tab na "Lingguhan", ang lingguhang iskedyul ng gawain ay ipinahiwatig.

Piliin ang mga checkbox para sa mga araw ng linggo kung saan isasagawa ang gawain. Kung gusto mong ulitin ang gawain, tukuyin ang pag-uulit na pagitan sa mga linggo. Halimbawa, ang gawain ay isinasagawa sa loob ng 2 linggo, ang repeat value ay 2.

Sa tab na "Buwanang", ang buwanang iskedyul ng gawain ay ipinahiwatig.

Piliin ang mga checkbox para sa mga buwan kung kailan isasagawa ang gawain. Kung kinakailangan, maaari mong tukuyin ang isang partikular na araw (buwan o linggo) ng pagpapatupad mula sa simula ng buwan/linggo o sa katapusan.

Paggamit - kung nakatakda, ang gawain ay isasagawa ayon sa iskedyul.

Paunang natukoy - kung nakatakda, ang gawain ay isang paunang natukoy na gawain.

Bilang ng mga muling pagsubok sa kaso ng hindi normal na pagwawakas - nagpapahiwatig ng bilang ng mga muling pagsubok sa kaso ng hindi normal na pagwawakas.

Retry interval sa abnormal na pagwawakas - tinutukoy ang retry interval sa abnormal na pagwawakas. Mga halimbawa

Paglikha ng trabaho sa background na "Pag-update ng index ng paghahanap ng buong teksto":

BackgroundTasks.Run("UpdatingFullTextSearchIndex");

Paglikha ng isang nakagawiang gawain na "Pagbawi ng mga pagkakasunud-sunod":

Iskedyul = Bagong ScheduleTask;
Iskedyul.PeriodRepeatDays = 1;
Iskedyul.RepeatPeriodDuringDay = 0;

Gawain = RoutineTasks.CreateRoutineTask("Restoring Sequences");
Job.Schedule = Iskedyul;
Gawain.Isulat();

Job Console

Nagpoproseso sa ITS, namamahala sa mga nakagawiang gawain: ConsoleTasks.epf

Paggawa gamit ang mga nakagawiang gawain

Mga Bagay sa Trabaho

Ang mga bagay sa trabaho ay hindi isinangguni, ngunit naka-imbak sa database sa ilang espesyal na imbakan.

Kung naka-enable ang flag na "Predefined" sa metadata, awtomatikong gagawin ang naturang object kapag inilunsad ang 1C:Enterprise at palaging umiiral sa eksaktong isang pagkakataon. Hindi matatanggal ang naturang bagay.

Kung ang flag na "Predefined" ay hindi nakatakda, kung gayon ang mga bagay ng naturang gawain ay gagawin at tatanggalin sa programmatically, na tumutukoy sa iskedyul at mga parameter.

Pagkuha ng listahan ng mga gawain

Ang listahan ng mga gawain ay maaaring makuha gamit ang pamamaraan Kumuha ng RoutineTasks pandaigdigang tagapamahala ng trabaho RoutineTasks

ScheduledJobsManager

Kumuha ng Mga Naka-iskedyul na Trabaho (GetScheduledJobs)

Syntax:

Kumuha ng RoutineTasks(<Отбор>)

Mga Pagpipilian:

<Отбор>(opsyonal)

Uri: Istraktura. Pagtukoy sa istraktura ng pagpili. Ang mga halaga ng istruktura ay maaaring: UniqueIdentifier, Key, Metadata, Predefined, Usage, Name. Kung ang pagpili ay hindi tinukoy, ang lahat ng nakagawiang gawain ay makukuha.

Kung nagfi-filter ka ayon sa metadata, bilang halaga ng Metadata maaari mong tukuyin ang alinman sa metadata object ng nakagawiang gawain o ang pangalan nito.

Ibinalik na halaga:

Uri: Array.

Paglalarawan:

Tumatanggap ng hanay ng mga nakagawiang gawain para sa isang naibigay na seleksyon. Ang pagtanggap ng mga naka-iskedyul na gawain ay posible lamang para sa administrator.

Availability:

Para sa Bawat Regular ng Regulatory Cycle
NewLine = Listahan ng ScheduledTasks.Add();
NewRow.Metadata = Regular.Metadata.View();
NewLine.Name = Regular.Name;
NewString.Key = Regular.Key;
NewLine.Schedule = Schedule.Schedule;
NewLine.User = Regular.UserName;
NewString.Predefined = Regular.Predefined;
NewString.Use = Regular.Use;
NewString.Identifier = Regular.UniqueIdentifier;

LastTask = Regular.LastTask;
Kung ang LastTask ay Hindi Natukoy Pagkatapos
NewLine.Running = LastTask.Start;
NewRow.State = LastTask.State;
tapusin kung;
EndCycle;

Paglikha

Nilikha ng paraan ng Gumawa ng RoutineTask para sa tagapamahala ng mga nakagawiang gawain:

RoutineTask = RoutineTasks.CreateRoutineTask(MetadataSelection);

RegularTask.Name = Pangalan;
RegularTask.Key = Susi;
RegularTask.Use = Usage;
RoutineTask.UserName = UsersSelection;
RoutineTask.Number ofRepetitionsAtEmergencyCompletion =NumberofRepetitionsAtEmergencyCompletion;
ScheduledTask.RepeatIntervalAtEmergencyCompletion = RetryIntervalAtEmergencyCompletion;
ScheduleTask.Schedule = Iskedyul;
RegularTask.Record();

TaskObject = RoutineTasks.CreateRoutineTask("ExchangeExchange");

TaskObject.Name = Pangalan;
JobObject.Use = True;

Ang bagay na gawain ay may field na "Mga Parameter" kung saan nakatakda ang mga parameter ng pamamaraan:

Naka-iskedyul na Trabaho

Mga Parameter

Paggamit:

Magbasa at magsulat.

Paglalarawan:

Uri: Array. Isang hanay ng mga parameter para sa isang naka-iskedyul na gawain. Ang bilang at komposisyon ng mga parameter ay dapat na tumutugma sa mga parameter ng karaniwang pamamaraan ng gawain.

Availability:

Server, makapal na kliyente, panlabas na koneksyon.

Tandaan:

Ang mga kakayahan sa pagbasa at pagsulat ay magagamit lamang sa administrator.

Pagtanggal

Tinanggal gamit ang Delete() method ng task object:

ScheduledTask.Delete();

Pagkuha ng Bagay sa Trabaho

  • listahan sa pamamagitan ng GetRoutineTasks method:
    Routine = RoutineTasks.GetRoutineTasks(Selection);
  • sa pamamagitan ng FindByUniqueIdentifier ng paraan ng task manager:
    Gawain = ScheduledTasks.FindByUniqueIdentifier(UID);

[kailangan mong magparehistro para matingnan ang link]

Malamang, wala ni isang seryosong configuration sa 1C 8.3 o 8.2 ang magagawa nang walang paggamit ng mga gawain at background na gawain. Ang mga ito ay napaka-maginhawa, dahil sila ay isasagawa ayon sa isang malinaw na tinukoy na iskedyul nang walang interbensyon ng user o programmer.

Halimbawa, kailangan mong makipagpalitan ng data sa isa pang programa isang beses sa isang araw. Gamit ang mga nakagawiang gawain at background, magagawa ng 1C ang mga pagkilos na ito nang nakapag-iisa, halimbawa, sa mga oras na hindi nagtatrabaho. Ang pamamaraang ito ay hindi makakaapekto sa karanasan ng user sa anumang paraan at makakatulong ito sa pagtitipid ng oras.

Una, alamin natin kung ano ang ibig sabihin ng mga ito at kung ano ang kanilang pagkakaiba:

  • Naka-iskedyul na gawain nagbibigay-daan sa iyong maglunsad ng anumang partikular na pagkilos ayon sa isang paunang na-configure na iskedyul.
  • Trabaho sa background ay isang bagay na naglalaman ng mga aksyon na isasagawa.

Ipagpalagay natin na ang aming kumpanya ay nagbebenta ng isang bagay at may sariling website kung saan matatagpuan ang mga presyo. Gusto naming i-upload ang mga ito isang beses sa isang araw upang mapanatili ang kaugnayan.

Buksan ang configuration at magdagdag ng nakaiskedyul na gawain.

Pagtatakda ng mga katangian

Tingnan natin ang pinakamahalagang mga parameter na kailangang punan sa mga katangian nito.

  • Sa field" Pangalan ng pamamaraan» pinipili ang pamamaraan ng isang partikular na pangkalahatang module na direktang isasagawa. Ipapahiwatig nito ang lahat ng mga hakbang para sa pag-upload ng mga presyo sa aming website. Mangyaring tandaan na ang pagpapatupad ay magaganap sa server. Ito ay lohikal, dahil ang mga nakagawiang operasyon ay ginagawa nang walang paglahok ng gumagamit.
  • Ang naka-iskedyul na gawain ay maaaring hindi paganahin o paganahin kung kinakailangan. Hindi na kailangang i-edit ang kanyang iskedyul sa bawat oras. Upang gawin ito, sa paleta ng mga katangian, itakda o i-clear ang bandila " Paggamit».
  • Ang isa pang mahalagang bagay ay ang itakda kung ang nakagawiang gawain na ito ay magiging paunang natukoy, o hindi. Awtomatikong inilulunsad ang mga paunang-natukoy na naka-iskedyul na gawain. Kung hindi naka-install ang flag na ito, kakailanganin mong ilunsad ang mga ito sa programmatically, o gamitin ang pagproseso ng "Task Console" kasama ang ITS.
  • Maaari mo ring tukuyin bilang ng mga pag-uulit at pagitan sa pagitan nila sa kaso ng abnormal na pagwawakas. Ang abnormal na pagwawakas ay tumutukoy sa mga sitwasyong hindi natapos ang mga trabaho dahil sa isang error.

Pagse-set up ng iskedyul

Ang huling hakbang ay ang mag-set up ng iskedyul para sa aming pag-upload sa site gamit ang kaukulang hyperlink sa palette ng mga katangian.

Makakakita ka ng karaniwang setting ng iskedyul sa 1C 8.3. Walang kumplikado dito. Sa halimbawang ito, na-configure namin ang paglulunsad ng aming pag-upload ng mga presyo sa site araw-araw mula alas-singko hanggang alas-siyete ng umaga. Kung sakaling ang nakatakdang gawain ay walang oras upang makumpleto bago ang 7:00, ito ay makukumpleto sa mismong susunod na araw.

Pag-block ng mga naka-iskedyul na gawain

Patakbuhin ang karaniwang utility na "Pamamahala ng 1C Enterprise Servers" at buksan ang mga katangian ng infobase kung saan mo ginawa ang nakagawiang gawain (para sa mga bersyon ng client-server ng 1C).

Sa window na bubukas (pagkatapos ipasok ang iyong login at password upang ma-access ang seguridad ng impormasyon), suriin na ang checkbox na "Blocking of routine tasks is enabled" ay hindi napili. Kung nakatagpo ka ng sitwasyon kung saan hindi gumagana ang gawain, suriin muna ang setting na ito.

Sa parehong paraan, maaari mong ganap na hindi paganahin ang mga nakagawiang gawain sa 1C 8.3. Upang i-disable ang mga partikular na trabaho sa background, maaari mong gamitin ang pagproseso ng "Background Job Console" na binuo sa mga pinakabagong release.

Background at naka-iskedyul na mga gawain sa file mode

Sa mode na ito, ang pag-set up at paglulunsad ng mga gawaing ito ay mas mahirap ayusin. Kadalasan, ang isang karagdagang account ay nilikha, ang session kung saan ay palaging bukas.

Sa kasong ito, ang mga nakagawiang gawain ay isinaaktibo gamit ang "RunTaskProcessing()" na paraan.

Maaari mo ring gamitin ang sumusunod na konstruksyon:

Bilang pangalan ng pamamaraan, dapat mong tukuyin ang pangalan ng pamamaraan ng kliyente na isasagawa. Ang agwat ay nagpapakita kung gaano karaming segundo mamaya ang pagpapatupad ay magaganap. Ang parameter na "Isang beses" ay hindi kinakailangan. Sinasalamin nito kung ang pamamaraang ito ay isasagawa nang isang beses o ilang beses.

Mga error sa pagsubaybay sa mga trabaho sa background

Maaari mong tingnan ang pag-usad ng mga trabaho sa background, pati na rin ang pagkakaroon ng mga posibleng error, sa log. Sa filter, itakda ang pagpili sa application na "Background job" at, kung kinakailangan, piliin ang kahalagahan ng interes, halimbawa, "Mga Error" lang.

Ipapakita ng log ang lahat ng mga entry na tumutugma sa iyong pinili, kasama ang isang komento na makakatulong sa iyong maunawaan ang dahilan ng error.


Isara