1c karaniwang gawain. Mga gawain sa background: mga tampok, kakayahan, mga setting. - Pag-update ng mga gawain ng accountant


Paano pabilisin ang trabaho sa 1C: Accounting 8.3 (bersyon 3.0) o huwag paganahin ang mga gawain at background na gawain

2019-01-15T13:28:19+00:00

Kayong mga nagawa nang lumipat sa bagong edisyon ng 1C: Accounting 8.3 (bersyon 3.0) ay napansin na ito ay naging mas mabagal kaysa sa deuce. Ilang mga kakaibang paghina, walang katapusang mga gawain sa background nang ilang beses sa isang araw, na walang sinumang humiling sa kanya na gawin nang hindi namin nalalaman.

Kaagad pagkatapos ng paglipat, sinabi sa akin ng aking mga accountant na ang bagong edisyon ng 1C: Accounting 3.0 ay lantarang bumagal kumpara sa mga nauna! At imposibleng magtrabaho.

Nagsimula akong maunawaan at sa lalong madaling panahon nalaman na ang pangunahing sanhi ng mga pag-freeze at kasunod na kawalang-kasiyahan ng gumagamit ay ang mga gawain at background na gawain, na marami sa mga ito ay pinagana bilang default, bagama't para sa karamihan ng mga accountant hindi sila kinakailangan.

Buweno, halimbawa, bakit kailangan nating patakbuhin ang gawaing "Pagkuha ng Teksto" nang isang daang beses sa isang araw kung hindi tayo nagsasagawa ng full-text (mga accountant, huwag matakot) na paghahanap sa lahat ng mga bagay sa ating database.

O bakit patuloy na nagda-download ng mga halaga ng palitan kung wala kaming mga transaksyon sa pera o ginagawa namin ang mga ito paminsan-minsan (at bago iyon maaari naming i-click ang pindutan ng mga rate ng pag-download).

Ang parehong naaangkop sa patuloy na pagtatangka ng 1C na kumonekta sa site at suriin at i-update ang mga classifier ng bangko. Para saan? Ako mismo ang pipindutin ang pindutan upang i-update ang mga classifier kung hindi ko mahanap ang tamang bangko sa pamamagitan ng BIC nito.

Tungkol sa kung paano ito gagawin sa mga punto sa ibaba.

1. Pumunta sa seksyong "Pamamahala" at piliin ang item na "Pagpapanatili" sa panel ng pagkilos ():

2. Sa window na bubukas, hanapin at piliin ang item na "Mga regular at background na gawain":

3. Buksan ang bawat trabaho na mayroong Sa column. nagkakahalaga ng jackdaw.

4. Alisan ng tsek ang "Pinagana" at i-click ang pindutang "I-save at Isara".

5. Gawin ito sa bawat isa sa mga kasamang gawain at tamasahin ang bagong edisyon. Sa pangkalahatan, sa aking opinyon, ito ay mas mahusay kaysa sa deuce.

Kasabay nito, io-on pa rin ng platform ang ilan sa mga nakaiskedyul na gawain na hindi mo pinagana.

Kapag nagtatrabaho sa 1C, maraming nakagawiang operasyon na dapat ilunsad o mabuo sa isang iskedyul sa pamamagitan ng pagsasagawa ng isa o ibang aksyon, halimbawa: pag-post ng mga dokumento o pag-load ng data sa 1C mula sa isang site.

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

Naka-iskedyul at background na mga trabaho

Ang mekanismo ng trabaho ay idinisenyo upang isakatuparan ang anumang aplikasyon o paggana sa isang iskedyul o asynchronously.

Ginagawa ng mekanismo ng trabaho ang mga sumusunod na gawain:

  • Kakayahang matukoy ang mga nakagawiang pamamaraan sa yugto ng pagsasaayos ng system;
  • Pagpapatupad ng mga tinukoy na aksyon ayon sa iskedyul;
  • Ang pagpapatupad ng isang tawag sa isang ibinigay na pamamaraan o function ay asynchronous, i.e. nang hindi naghihintay para sa pagkumpleto nito;
  • Pagsubaybay sa pag-usad ng isang partikular na trabaho at pagkuha ng katayuan ng pagkumpleto nito (isang halaga na nagsasaad ng tagumpay o pagkabigo ng pagpapatupad nito);
  • Pagkuha ng listahan ng mga kasalukuyang gawain;
  • Kakayahang maghintay para sa pagkumpleto ng isa o higit pang mga gawain;
  • Pamamahala ng trabaho (posibilidad ng pagkansela, pagharang sa pagpapatupad, atbp.).

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

  • Metadata ng mga naka-iskedyul na gawain;
  • Naka-iskedyul na mga takdang-aralin;
  • Mga trabaho sa background;
  • Taga-iskedyul ng Gawain.

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

Mga nakaiskedyul na gawain at idinisenyo upang magsagawa ng mga nakaiskedyul na gawain. Ang mga naka-iskedyul na gawain ay iniimbak sa infobase at nilikha batay sa metadata na tinukoy sa configuration. Ang naka-iskedyul na metadata ng trabaho ay naglalaman ng impormasyon tulad ng pangalan, pamamaraan, paggamit, at iba pa.

Ang isang naka-iskedyul na trabaho ay may iskedyul na tumutukoy sa kung anong oras ang pamamaraang nauugnay sa naka-iskedyul na trabaho ay dapat isagawa. Ang iskedyul, bilang panuntunan, ay nakatakda sa infobase, ngunit maaari ding itakda sa yugto ng pagsasaayos (halimbawa, para sa mga paunang natukoy na naka-iskedyul na mga gawain).

Ang task scheduler ay ginagamit upang iiskedyul ang pagsasagawa ng mga nakaiskedyul na 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, iiskedyul ng scheduler na tumakbo ang trabahong iyon. Upang gawin ito, ayon sa naka-iskedyul na gawaing ito, ang scheduler ay lumilikha ng isang gawain sa background na gumaganap ng aktwal na pagproseso.

Sa paglalarawan, sa tingin ko ay sapat na iyon - magpatuloy tayo sa pagpapatupad:

Paglikha ng Naka-iskedyul na Trabaho

Pangalan ng pamamaraan- landas sa pamamaraan na isasagawa sa gawain sa background ayon sa tinukoy na iskedyul. Ang pamamaraan ay dapat na nasa isang nakabahaging 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- isang tanda ng paggamit ng isang naka-iskedyul na gawain.

paunang natukoy– nagsasaad kung ang nakaiskedyul na trabaho ay paunang natukoy.

Kung gusto mong gumana kaagad ang naka-iskedyul na gawain pagkatapos mailagay sa database, tukuyin ang sign paunang natukoy. Kung hindi, kakailanganin mong gamitin ang pagpoproseso ng "Job Console" o tawagan ang trabaho upang tumakbo sa programmatically.

Bilang ng mga muling pagsubok kapag nag-crash ang isang trabaho– ilang beses na-restart ang background job kung ito ay naisakatuparan nang may error.

Ipinaabort ng trabaho ang agwat ng muling pagsubok– gaano kadalas ire-restart ang gawain sa background kung ito ay naisakatuparan nang may error.

Setting ng iskedyul

Iskedyul pagkumpleto ng gawain:

Bawat oras, isang araw langSubukan ulit ang PeriodDays = 0, Retry PeriodDuringDay = 3600
Araw-araw isang beses sa isang arawSubukan muli ang PeriodDays = 1, Retry PeriodDuringDay = 0
Isang araw, isang besesSubukang muli ang Mga Araw ng Panahon = 0
Every other day once a daySubukang muli ang Mga Araw ng Panahon = 2
Bawat oras mula 01.00 hanggang 07.00 araw-arawRetryPeriodDays = 1RepeatPeriodDay = 3600StartTime = 01.00

Oras ng Pagtatapos = 07.00

Tuwing Sabado at Linggo sa 09.00Ulitin ang Panahon ng mga Araw = 1 Araw ng Linggo = 6, 7Oras ng Pagsisimula = 09.00
Araw-araw isang linggo, linggo lumipasUlitin ang Panahon ng mga Araw = 1 Panahon ng Linggo = 2
Sa 01.00 isang besesOras ng Pagsisimula = 01.00
Huling araw ng bawat buwan sa 9:00.Ulitin na Panahon ng mga Araw = 1DayInMonth = -1StartTime = 09.00
Ikalima ng bawat buwan sa 9:00Ulitin na Panahon ng mga Araw = 1DayInMonth = 5StartTime = 09.00
Ikalawang Miyerkules ng bawat buwan sa 9:00 amUlitin ang PeriodDays = 1DayWeekInMonth = 2DaysWeek = 3

Oras ng Pagsisimula = 09.00

Mga kakaiba ng pagsasagawa ng mga gawain sa background sa mga bersyon 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 format ng file kailangan mong lumikha ng isang nakatuong proseso ng kliyente na magsasagawa ng mga gawain sa background. Para magawa ito, dapat na pana-panahong tawagan ang function ng konteksto sa buong mundo na ExecuteJobProcessing sa proseso ng kliyente. Isang proseso ng kliyente lamang sa bawat infobase ang dapat magproseso ng mga trabaho sa background (at samakatuwid ay tawagan ang function na ito). Kung walang nagawang proseso ng kliyente upang iproseso ang mga trabaho sa background, pagkatapos ay kapag na-access ng programmatically ang engine ng trabaho, bubuo ang error na "Hindi aktibo ang tagapamahala ng trabaho." Hindi inirerekomenda na gamitin ang proseso ng kliyente na nagpoproseso ng mga trabaho sa background para sa iba pang mga function.

Matapos simulan ang proseso ng kliyente sa pagpoproseso ng mga trabaho sa background, ang ibang mga proseso ng kliyente ay makakakuha ng pagkakataon na ma-access ng programmatically ang mekanismo ng trabaho sa background, i.e. maaaring tumakbo at pamahalaan ang mga trabaho sa background.

Sa bersyon ng client-server Upang magsagawa ng mga trabaho sa background, ginagamit ang task scheduler, na pisikal na matatagpuan sa cluster manager. Ang scheduler para sa lahat ng nakapila na trabaho sa background 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 naka-iskedyul na gawain. Ang pagharang sa pagpapatupad ng mga naka-iskedyul na gawain ay nangyayari sa mga sumusunod na kaso:

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

Pinoproseso ang paglulunsad at pagtingin sa mga nakaiskedyul na trabaho maaari mong i-download dito.

". Sa loob nito, isasaalang-alang namin ang mga bagong tampok na hindi nauugnay sa interface ng system, ngunit makabuluhang palawakin ang pag-andar ng platform ng 1C:Enterprise 8.

Applicability

Ang artikulo ay tumatalakay sa 1C:Enterprise platform na bersyon 8.3.4.437. Ang lahat ng functionality na inilarawan sa artikulo ay na-update sa bersyon 8.3.11.

Iba pang mga inobasyon sa 1C:Enterprise 8.3

Patuloy nating kilalanin ang mga inobasyon ng 1C:Enterprise 8.3 platform.

Background at naka-iskedyul na mga gawain sa file infobase

Sa maraming karaniwang mga pagsasaayos ng platform 8.2 mayroong isang pare-pareho na nagsasaad ng user kung saan ang mga gawain ay ginanap sa bersyon ng file.

Noong nagsimulang gumana ang system sa ilalim ng user na ito, nakakonekta ang isang wait handler, na sa isang partikular na frequency ay tinatawag na paraan ng built-in na wika. ExecuteProcessingJobs().

Ang diskarte na ito ay lumikha ng karagdagang mga paghihirap at abala para sa paggamit ng mga naka-iskedyul na gawain sa file base.

Ito ay maaaring maging kritikal lalo na kapag nagtatrabaho sa mga pagsasaayos tulad ng "Komprehensibong Automation" o "Pamamahala ng Negosyo sa Paggawa" kung saan ang mga nakagawiang gawain ay may mahalagang papel.

Kung Ito ayFileIB Pagkatapos
=
Constants.UserForPerformingRegularTasksInFileVariant.Get();
Kung ang glValueVariable(“gCurrentUser”) =
UserToPerformRegularJobs Pagkatapos
// na may pagitan ng mga segundo, tinatawag namin ang pamamaraan para sa pagtatrabaho sa mga naka-iskedyul na gawain
SupportRegularTaskForFileVersion();
Pagitan Para sa Pagboto=
Constants.IntervalForPollingRegularTasksInFileVariant.Get();
Kung ang Pagitan Para sa Pagboto= Hindi natukoy
O Pagitan Para sa Pagboto= 0 Pagkatapos
Pagitan Para sa Pagboto= 60 ;
Tapusin kung ;
ConnectHandlerNaghihintay("SupportRegularAssignmentForFileVersion",
Pagitan Para sa Pagboto);
Tapusin kung ;
Tapusin kung ;

Sa plataporma 8.3 Ipinatupad ang gawain ng background at naka-iskedyul na mga gawain sa file infobase nang hindi gumagamit ng tawag ng pandaigdigang paraan ng konteksto ExecuteProcessingJobs().

Ang background at naka-iskedyul na mga gawain ay direktang isinasagawa sa isa sa mga application ng kliyente (manipis, makapal na kliyente) o sa pamamagitan ng extension ng web server.

Ang isang background na trabaho na sinimulan ng isang session ay isinasagawa ng parehong application ng kliyente na nagpasimula nito.

Ang mga trabaho sa background ay isinasagawa nang sunud-sunod, i.e. sa isang application ng kliyente sa isang pagkakataon, isang gawain sa background lamang (kabilang ang mga naka-iskedyul) ang maaaring isagawa.

Ang mga naka-iskedyul na gawain ay ginagawa ng isang client application lamang. Ginagamit ang command line key upang kontrolin ang paglulunsad ng mga naka-iskedyul na gawain. /AllowExecuteScheduledJobs.

Ang mga naka-iskedyul na gawain ay isinasagawa ng unang aplikasyon ng kliyente sa pagkakasunud-sunod ng paglunsad, na hindi ipinagbabawal na magsagawa ng mga naka-iskedyul na gawain (upang hindi paganahin ang session, ang session ay dapat magsimula sa parameter ng command line /AllowExecuteScheduledJobs -Off).

Kapag natapos ang session na ito, ang execution ay tumalon sa alinman sa mga natitirang tumatakbong session.

Kung ang linya ng paglulunsad ng application ng kliyente ay tahasang tinukoy ang pangangailangan na maglunsad ng mga naka-iskedyul na gawain (ang command line ay tumutukoy /AllowExecuteScheduledJobs -Force), pagkatapos ay magsisimulang tumakbo ang mga nakaiskedyul na gawain dito, anuman ang pagkakaroon ng iba pang mga session.

Ang mga nakaiskedyul na gawain ay pinoproseso nang isang beses bawat 60 segundo.

Tandaan na ang mga naka-iskedyul na gawain ng inilapat na solusyon (sa bersyon ng file) ay nagsimulang isagawa nang hindi mas maaga kaysa sa 1 minuto pagkatapos ilunsad ang application ng kliyente. Simula sa bersyon 8.3.8, ang oras na ito ay nadoble, at samakatuwid ang mga naka-iskedyul na gawain ay magsisimulang tumakbo ng maximum na 2 minuto pagkatapos magsimula ang kliyente (sa bersyon ng file).

Ang desisyong ito ay dahil sa pagbaba ng pagkaantala sa pagsisimula ng aplikasyon. Bilang karagdagan, sa release 8.3.7, ang kakayahang mabilis na matukoy kung ang kasalukuyang session ay isang background na sesyon ng trabaho ay idinagdag. Ito ay ipinatupad sa pamamagitan ng isang bagong pandaigdigang paraan ng konteksto na GetCurrentInfobaseSession(), pati na rin isang bagong paraan para sa isang infobase session GetBackgroundTask().

Nasa ibaba ang code na naglalarawan sa itaas:

Mag-click sa larawan upang palakihin.

Pagkalkula ng checksum

Ang platform ay mayroon na ngayong mga mekanismo para sa pagkalkula ng mga checksum ng data.

Alalahanin na ang checksum (hash) ay isang halaga na kinakalkula mula sa isang set ng data sa pamamagitan ng paglalapat ng isang partikular na algorithm at ginagamit upang suriin ang integridad ng data sa panahon ng paghahatid o pag-iimbak.

Maaaring gamitin ang mga hash upang suriin ang pagkakakilanlan ng data (halimbawa, kailangan mong tiyakin na ang file ay hindi nasira sa panahon ng paglilipat; suriin kung ang mga pagbabago ay ginawa sa file, at kung gayon, i-upload ito muli sa database).

Upang gawin ito, ipinatupad ng platform ang isang bagay HashingData, magagamit sa server, makapal na kliyente, panlabas na koneksyon, at server ng mobile application.

Ang bagay na ito ay may dalawang pamamaraan: Magdagdag () at Upang magdagdag ng file(), na nag-a-update ng hash sum batay sa data na ipinasa sa mga parameter.

Platform 8.3.4.437 sumusuporta sa pagkalkula ng mga sumusunod na hash function: CRC32, MD5, SHA1, SHA256. Ngunit ang mga pag-andar SHA1 at SHA256 hindi suportado sa mobile platform.

Isaalang-alang natin ang isang simpleng halimbawa. Ipinapalagay na sa server sa direktoryo ng programa mayroong isang file " agent.exe". Kailangang kalkulahin MD5-sum para sa file na ito.

Upang gawin ito, lilikha kami ng isang panlabas na pagproseso, sa anyo kung saan ilalagay namin ang utos Kalkulahin. Ang handler ay naglalaman ng sumusunod na code:

&AtClient
Pagkalkula ng Pamamaraan (Utos)
Resulta = CalculateOnServer();
Ulat(String(Resulta));
EndProcedure
&Sa server
Function CalculateOnServer()
Hash = Bago HashingData(HashFunction .MD5 );
Hash.AddFile(Catalog Programs() + "ragent.exe" );
Ibalik ang Hash.HashSum ;
EndFunctions

Sa rebisyon ng platform 8.3.10+ sa pamamaraan Magdagdag () bagay HashingData naging posible na gumamit ng isang stream ng binary data, na lubos na pinasimple ang kanilang paggamit sa paglutas ng iba't ibang mga inilapat na problema sa pag-update ng mga hash sum.

Paggawa gamit ang mga secure na bersyon ng mga protocol SMTP/POP3

Sa plataporma 8.3 naging posible na gumamit ng mga secure na bersyon ng mga protocol SMTP/POP3(may mga terms SMTPS/POP3S o SSLSMTP/SSLPOP3).

Para sa bagay InternetPostalProfile ipinatupad ang mga bagong pag-aari:

  • Gumamit ngSSLSMTP;
  • Gumamit ngSSLPOP3;
  • OnlySecuredAuthenticationSMTP;
  • OnlySecuredAuthenticationPOP3.

Ari-arian SMTP authentication at POP3 authentication bagay InternetPostalProfile, pati na rin ang mga enumerasyon Paraan ng Pagpapatunay ng SMT at Paraan ng Pagpapatunay ng POP3 hindi na ginagamit - sinusuportahan ang mga ito para sa pagiging tugma.

Gamit ang isang secure na protocol SMTPS nagpapahintulot sa iyo na magpadala ng mail mula sa 1C gamit ang mailbox Google.

Isaalang-alang ang isang halimbawa. Sa form, maglalagay kami ng mga patlang para sa pagpasok ng paksa ng liham at address ng tatanggap, at para sa pagpasok ng teksto ng liham - isang naka-format na patlang ng dokumento.

Mag-click sa larawan upang palakihin.

Sa pamamagitan ng pagpindot sa pindutan Ipadala ang sumusunod na code ay isasagawa:

&AtClient
Pamamaraan Ipadala (Command) Mail = Bagong InternetMail ; Profile = Bago InternetPostalProfile;
Profile.SMTPServerAddress= "smtp.googlemail.com" ;
Profile.SMTP User= “[email protected]” ;
Profile.SMTP Password= "PASSWORD" ;
Profile.UseSSLSMTP= totoo ;
Profile.SMTP Port = 465 ; Tangka
Mail.Connect(Profile );
Exception
Ulat(ErrorDescription());
Bumalik ;
EndTry ; MailMessageText= “” ;
Mga Attachment = Bagong Istraktura ;
Text.GetHTML(MailMessageText, Mga Kalakip ); MailMessage= Bago InternetMailMessage;
MailMessage.Recipients.Add(Para kanino );
MailMessage.Subject= Paksa ;
MailMessage.Texts.Add(MailMessageText,
MailMessageTextType.HTML); Mail.Send ( MailMessage); Mail.Idiskonekta();
EndProcedure

Tandaan na sa aming halimbawa, kung ang SMTP server ay hindi nakapagpadala ng isang email na mensahe sa (mga) tatanggap, kung gayon ang pamamaraan Mail.Send(MailMessage) naghagis ng eksepsiyon. Nagdulot ito ng ilang abala para sa mga developer, dahil. hindi halata ang dahilan ng paghahagis ng exception.

Sa bersyon 8.3.9, ang gawi na ito ay nagbago, at ngayon ang Send() na paraan ay nagbabalik ng isang tugma, ang susi kung saan ay ang addressee, at ang halaga ay mga diagnostic mula sa mail server. Nagbibigay-daan ito sa iyong tumpak na matukoy ang mga dahilan para sa hindi matagumpay na pagpapadala ng isang mensaheng mail sa bawat isa sa mga tatanggap. Sa bersyon 8.3.8 compatibility mode, hindi nagbago ang gawi.

Dalawang panig na pag-print

Sa plataporma 8.2 Ang platform mismo ay hindi kinokontrol ang duplex printing; posible lamang na kontrolin ang function na ito gamit ang driver ng printer.

Sa plataporma 8.3 naging posible na kontrolin ang duplex printing para sa isang spreadsheet na dokumento, isang graphic scheme (mula sa built-in na wika at interactive) at isang text na dokumento (interactive lang).

Lumitaw ang mga enumerasyon ng system sa built-in na wika:

  • Uri ngDouble SidedPrinting(Wala, FlipUp, FlipLeft);
  • (Auto, MirrorUp, MirrorLeft, Huwag Gamitin).

At ang mga bagay SpreadsheetDocument at GraphicScheme lumitaw ang mga ari-arian Dalawang panig na pag-print at InterleavingPage Arrangements, kung saan maaari mong baguhin ang layout ng mga naka-print na pahina.

Sa rebisyon ng platform 8.3.9, may bagong value ang system enumeration DuplexType Gamitin ang Mga Setting ng Printer. Ang pagpili sa halagang ito ay nagpapahintulot sa mga setting ng printer na magamit kapag nagpi-print ng mga dokumento ng system. Sa bersyon 8.3.8 compatibility mode, ang gawi ay hindi nagbago at ang kaukulang mga setting ng printer ay binabalewala.

Ang dialog ng pag-publish ng infobase sa web server ay ginawang mas gumagana. Ang pag-publish ngayon mula sa configurator ay nagpapahintulot sa iyo na itakda ang lahat ng mga parameter ng file default.vrd.

Para sa dialog para sa pag-publish ng web client at mga serbisyo sa Web sa pamamagitan ng configurator, ipinatupad ang sumusunod:

  • ang kakayahang kontrolin ang pagkakaroon ng mga serbisyo sa Web bilang default (attribute pointEnableCommon elemento ws);
  • ang kakayahang kontrolin ang pagsasagawa ng mga trabaho sa background sa bersyon ng file (attribute allowexecutescheduledjobs elemento ws).

Kung ang checkbox "I-publish ang Mga Serbisyo sa Web ayon sa Default" sa bookmark “Basic” ay nakatakda, pagkatapos kapag ang publikasyon ay na-update, ang mga napiling serbisyo sa Web ay awtomatikong mai-publish.

Kung hindi, ang mga serbisyo sa Web ay mamarkahan bilang hindi na-publish. Ang flag na ito ay tumutugma sa katangian pointEnableCommon elemento ws nasa file default.vrd para sa pag-configure ng web client at mga serbisyo sa web.

Katangian pointEnableCommon Ang elemento ng ws ay responsable para sa posibilidad ng paggamit ng mga serbisyo sa Web sa infobase na ito na na-publish nang walang tahasang pagtukoy ng pahintulot na gamitin (attribute paganahin elemento punto).

Kung ang katangian ay may halaga totoo, pagkatapos ay lahat ng serbisyo sa Web kung saan ang halaga ng katangian ay hindi tahasang tinukoy paganahin elemento punto, ay papayagang gamitin.

Kung hindi, ang paggamit ng naturang mga serbisyo sa Web ay ipagbabawal.

Setting "Mga trabaho sa background sa file mode" tumutugma sa katangian allowexecutescheduledjobs ws elemento sa file default.vrd.

Katangian allowexecutescheduledjobs kinokontrol ang kakayahang magsagawa ng mga naka-iskedyul na gawain ng extension ng web server para sa bersyon ng infobase file.

Maaaring kunin ng attribute ang mga sumusunod na value:

  • off– sa kasong ito, ang extension ng web server ay hindi gagawa ng mga naka-iskedyul na gawain. Ang mga nakaiskedyul na gawain ay isasagawa ng isang client application (kung mayroon) na direktang kumokonekta sa infobase, nang hindi gumagamit ng web server.
  • puwersa– sa kasong ito, magsasagawa ang extension ng web server ng mga naka-iskedyul na gawain.
    Kung hindi nakatakda ang value ng attribute na ito, isasagawa ang mga nakaiskedyul na gawain ng application na gagamitin para sa unang koneksyon sa infobase.

Ang window ng pag-publish sa isang serbisyo sa web sa kasalukuyang paglabas ng platform ay naging mas maginhawa at ergonomic. Ngayon ang mga parameter na naglalarawan sa OpenID authentication ay inilalagay sa isang hiwalay na tab.

Pag-numero ng mga bagay sa infobase

Sa plataporma 8.3 ang mekanismo para sa awtomatikong pagnunumero ng mga bagay sa infobase ay muling idinisenyo. Ang pagiging natatangi ng numero o code (kabilang ang nakuha bilang resulta ng awtomatikong pagbuo ng numero o code) ay palaging kinokontrol sa panahon ng pagre-record ng bagay.

Ang isang indikasyon kung aling numero o code ang hindi natatangi ay idinagdag sa teksto ng mensahe tungkol sa isang paglabag sa pagiging natatangi ng isang numero o code.

Nagbago ang paggamit ng bakanteng numero o code. Ang isang bagong numero o code ay itinalaga nang hindi gumagamit ng mga bakanteng numero o code, kung mayroon nang naibigay na mga numero o code na may malaking (nakaayos) na numero o prefix ng code.

Pinagsama-samang Mga Function ng Data Composition System Expression Language

Ang mga bagong pinagsama-samang function ay ipinatupad sa expression na wika ng sistema ng komposisyon ng data:

  • Bawat ();
  • Any();
  • Standard Deviation ng Populasyon();
  • Sample Standard Deviation();
  • VarianceSampling();
  • Pagkakaiba-iba ng populasyon();
  • Populasyon Covariance();
  • SampleCovariance();
  • Kaugnayan();
  • RegressionSlope();
  • RegressionSegment();
  • RegressionCount();
  • RegressionR2();
  • RegressionMeanX();
  • RegressionMeanY();
  • RegressionMeanSXX();
  • RegressionMeanSYY();
  • RegressionMeanSXY().

Tulad ng nakikita mo mula sa mga pangalan, ito ay mga istatistikal na pag-andar, na nangangahulugan na ang mga developer ay may pagkakataon na lumikha ng mga kumplikadong ulat nang hindi gumagamit ng pagbuo ng mga pamamaraan para sa pagkalkula ng istatistikal na data.

Mag-click sa larawan upang palakihin.

Tulad ng nakikita mo mula sa figure, walang mga bagong function sa drop-down na listahan, gayunpaman, kung manu-mano mong ipasok ang mga ito, pagkatapos ay walang mensahe ng error, at ang ulat ay bubuo:

Gayundin ng interes ay ang bagong function ClassificationABC(). Ang resulta ng function ay ang class number, simula sa 1 (1 ay tumutugma sa class A, 2 sa class B, 3 sa class C, atbp.).

Ipakita natin kung paano gumagana ang function na ito. Gumawa ng bagong panlabas na ulat "Pag-uuri ng mga kalakal" batay sa kahilingan:

PUMILI
ConsumptionGoodsGoods.Goods,
Pagkonsumo ng Goods Goods. Dami
MULA SA
Dokumento.Gastos ng Mga Kalakal.Mga Kalakal PAANO ConsumptionGoodsGoods

Tukuyin ang isang bagong kalkuladong field Klase:

Mag-click sa larawan upang palakihin.

I-configure natin ang mga mapagkukunan tulad ng sumusunod:

Mag-click sa larawan upang palakihin.

Sa user mode, ganito ang hitsura ng ulat:

Bilang konklusyon, napapansin namin na mula sa edisyon hanggang sa edisyon sa 1C 8.3 platform, ang mekanismo ng ACS ay patuloy na pinapabuti at pinipino, at hindi posibleng dalhin ang mga pagbabagong ito nang buo sa loob ng balangkas ng aming "newbie" na artikulo. Oo, ito ay tila kalabisan, dahil, nagtatrabaho sa kasalukuyang bersyon ng platform, maaari mong palaging gumamit ng iba't ibang mga sistema ng tulong upang tumulong sa pagsusuri ng isa o ibang aspeto ng pagpapatakbo ng mekanismong ito.

Bilang karagdagan, huwag kalimutan ang tungkol sa aming hiwalay na kurso Propesyonal na pag-unlad ng mga ulat sa 1C 8.3 sa Sistema ng Komposisyon ng Data, na sinusuri sa atom ang lahat ng mga subtleties at mga pitfalls kapag nagtatrabaho sa mekanismong ito. Tingnan ang demo para sa iyong sarili.

Kaya, sabihin ng buod ang mga intermediate na resulta. Hanggang sa puntong ito, nakilala namin ang mga bagong feature ng Taxi interface at mga pinamamahalaang form, pati na rin ang ilang dating hindi ibinigay na feature ng platform mismo. Ngayon ay oras na upang makita kung anong mga maginhawang feature ang naging available sa developer sa configurator.

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

2012-11-13
53989

Sa daloy ng trabaho, may mga gawain na nangangailangan ng pana-panahong pagpapatupad - halimbawa, sa ikadalawampu, o araw-araw. Bilang isang patakaran, sa mga kumpanya na partikular para dito, ang ilang mga patakaran ay nilikha 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, sinusunod ng IT ang mga patakaran para sa pagsubaybay. Ang pamamaraang ito ay kilala sa mga administrator, dahil para dito mayroong mga espesyal na programa na ginagamit upang pana-panahong suriin ang kalusugan ng imprastraktura ng network at mga server. Inaabisuhan nila ang administrator tungkol sa mga nakitang problema sa pamamagitan ng SMS o e-mail.

Ang isang katulad na sistema ay may bisa para sa mga webmaster, habang ang pagkakaroon ng site ay sinusuri sa loob ng 24 na oras. Sa tulong ng mekanismo ng "Regular na Mga Gawain" sa 1C, ang mga gawain sa pagsubaybay ay isinasagawa, pati na rin ang mga pana-panahong gawain na naka-iskedyul sa awtomatikong mode sa 1C. Isaalang-alang natin ang paksang ito nang mas detalyado.

Mga nakaiskedyul na gawain 1C

Ang Object 1C, na tinatawag na "Mga regular na gawain" - ginagawang posible na iproseso ang impormasyon hindi pagkatapos mangyari ang isang problema, ngunit ayon sa isang iskedyul. Sa configurator, ang naka-iskedyul na trabaho ay isang paraan upang mag-set up 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 simulan ang 1C session sa 1C Enterprise mode at simulan ang pagpapatupad ng naka-iskedyul na gawain dito.

Ang lahat ng karaniwang configuration ay may setting ng user na nagbibigay-daan sa iyong linawin 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 - isang gawain sa background ay inilunsad, na nagsasagawa ng mga kinakailangang aksyon. Para sa parallel computing sa server, maaaring gumawa ng background task mula sa program text gamit ang 1C language, nang hindi gumagamit ng naka-iskedyul na 1C task. Maaaring pansamantalang i-disable ang pagkilos ng isang naka-iskedyul na gawain gamit ang 1C server management console para dito.

Pagdaragdag ng Naka-iskedyul na Trabaho

Ang mga naka-iskedyul na gawain ay matatagpuan sa — Configurator — Pangkalahatan — Mga naka-iskedyul na gawain. Magdagdag ng bagong "gawain" at magbigay ng pangalan. Susunod, kailangan mong pumunta sa mga katangian ng "Mga Gawain". At piliin ang pangalan ng Method. Dito, kailangan mong tukuyin ang function ng handler, tulad ng nangyayari sa subscription ng 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 Mga Katangian ng naka-iskedyul na gawain ay nagbibigay-daan sa iyo na tukuyin ang pangalan nito, na lilitaw sa ibang pagkakataon sa mga tool sa pamamahala ng gawain. Ang function na naka-iskedyul na pag-aari ng trabaho ay isang susi na nagbibigay-daan sa iyong pagpangkatin ang ilang iba't ibang naka-iskedyul na mga trabaho. Sa kasong ito, isang gawain lang na may parehong key value ang maaaring ilunsad sa parehong oras. Dito, ang halaga ay maaaring maging arbitrary, ngunit ito ay sapilitan upang punan ito, dahil ang walang laman na halaga ay hindi isinasaalang-alang ng system.

Sa Accounting 2.0 edition, na isang tipikal na configuration, ang mga nakaiskedyul na gawain gaya ng: "Recalculation of totals" at "Configuration update" ay paunang natukoy, at gaya ng, halimbawa, "Delayed movements" at "Data exchange" ay hindi paunang natukoy.

Crash Retry - Nagsisimula muli ng tumatakbong trabaho. Ibinigay para sa isang paglulunsad na hindi matagumpay na nakumpleto sa unang pagkakataon. Dito, ipinapahiwatig kung ilang beses ka makakapag-restart at gaano katagal pagkatapos ng pag-crash.

Mga tool sa pagsubaybay at pamamahala para sa nakatakdang gawain 1C

Ang karaniwang pagpoproseso ng "Job Console", na matatagpuan sa mga disk ng ITS, ay responsable para sa pamamahala ng naka-iskedyul na gawain. Ang pagproseso na 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 naka-iskedyul na gawain;

Magtalaga at baguhin ang iskedyul;

Ipahiwatig ang pangalan ng user kung saan isasagawa ang nakatakdang gawain;

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

Naka-iskedyul na gawain at mga kopya ng database

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

Para sa programming, kailangan mong gumawa ng 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 pinagana sa database ng pagsubok.

Kung ang isa sa mga sitwasyong ito ay lumitaw sa panahon ng pagpapatupad ng mga gawain sa pamamagitan ng isang naka-iskedyul na gawain na nauugnay lamang sa sarili nitong database, kung gayon hindi ito nangangailangan ng mga negatibong kahihinatnan. Ngunit, kadalasan, ang isang naka-iskedyul na gawain ay maaaring mag-save ng mga file o iba pang data, magpadala ng mga email, at makipagpalitan. Sa kasong ito, maaaring magkaroon ng kalituhan sa pagitan ng mga resulta ng "trabaho" at mga kopya. Upang maiwasang mangyari ito, kailangan mong i-disable ang "mga gawain" sa console ng pamamahala ng server.

Nakumpleto at hindi natapos ang mga nakagawiang gawain

Kapag lumilikha ng mga naka-iskedyul na gawain, mahalagang suriin kung ang gawain ay maaaring isagawa bilang isang naka-iskedyul na gawain. Mahalagang malaman na ang module ng server ay hindi nagbibigay ng marami sa mga bagay na posible sa kliyente. Susunod, 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 ginaganap ang gawain.

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

Kadalasan, kapag nag-iingat ng mga talaan, kinakailangan na pana-panahong magsagawa ng ilang mga aksyon nang walang interbensyon ng user. Ang mga nakaiskedyul at background na gawain sa 1C ay ang mga mekanismo na ibinigay para sa layuning ito sa ikawalong bersyon ng programa at nagbibigay-daan sa:

  • I-set up ang napapanahong paghahatid ng mga dokumento;
  • Kalkulahin ang mga balanse at kabuuan;
  • Tiyakin ang regular na pag-post;
  • Suriin at tanggalin ang walang kaugnayang data.

Background at naka-iskedyul na gawain - ano ito at saan ito naka-configure

Ang naka-iskedyul na gawain ay isang mekanismo na naka-embed sa 1C na nagbibigay-daan sa iyong i-configure at, alinsunod sa itinatag na iskedyul at dalas, magsagawa ng isang tiyak na pagkakasunud-sunod ng mga aksyon.

Ang gawain sa background ay isang aksyon na nabuo ng isang naka-iskedyul na operasyon at hindi nangangailangan ng direktang partisipasyon ng user.

Ang isang naka-iskedyul na gawain ay nilikha sa mode ng configurator:

  • Sa window ng configuration tree nakita namin ang kaukulang sangay (Larawan 1);
  • I-click ang add button;
  • Sa window na bubukas, dapat mong tukuyin ang isang pangalan na nagpapahintulot sa iyo na makilala ang bagay sa pagsasaayos;

Fig.2

  • Sa tapat ng inskripsyon na "Iskedyul" (Larawan 2) mayroong isang inskripsyon na "Buksan", pag-click kung saan magbubukas ang isang window para sa pagtatakda ng oras at dalas ng pagpapatupad ng handler (Larawan 3);

Fig.3

  • Kinakailangan din na punan ang "Pangalan ng pamamaraan" (ang pangalan ng pamamaraan na tinawag mula sa pangkalahatang module at naglalarawan sa algorithm ng pag-uugali ng programa ay ipapasok dito);
  • Ang mga patlang na "Pangalan" at "Susi" ay nagbibigay-daan sa iyo upang pangkatin ang mga bagay;
  • Ang naka-check na kahon na "Paggamit" ay nagpapahiwatig ng aktibidad ng naka-iskedyul na operasyon;
  • Ang "Predefined" ay dapat itakda kung ang handler ay dapat na ilunsad kaagad pagkatapos itong maidagdag sa database, kung hindi, maaari itong ilunsad mula sa kaukulang pagproseso (higit pa sa ibaba);
  • Ang mga parameter ng Retry Count at Retry Interval ay naglalarawan sa gawi ng programa kung sakaling magkaroon ng exception habang nagsasagawa ng background na trabaho.

Kaya, gamit ang mekanismo ng mga naka-iskedyul na operasyon, maaari mong itakda ang iskedyul at ang mga pangunahing aksyon ng mga trabaho sa background. Tingnan natin ngayon ang kanilang mga tampok.

Mga tampok ng mga trabaho sa background

Ang pangunahing tampok ng mekanismong ito ay ang proseso ng background ay tumatakbo nang asynchronously.

Anong ibig sabihin nito. Ang katotohanan ay na may isang kasabay na modelo ng trabaho, sa kaso ng pagpapatupad ng anumang algorithm, ang user interface ay naharang. Sa aming kaso, ang user ay maaaring magpatuloy sa pagpasok at pag-edit ng data, kahit na ang pamamaraan ay tumatakbo. Ang asynchronous programming model ay nagsasangkot ng paghihiwalay ng mga computational thread.

Kaya, ang mga background na trabaho sa 1C ay maaaring makabuo ng kanilang sariling mga proseso, na namamahagi ng mga kalkulasyon sa iba't ibang mga server na bahagi ng parehong cluster.

Mga tampok ng pagtatrabaho sa client-server mode

  • Ang pag-iiskedyul at kontrol ng pagpapatupad ay ginagawa ng scheduler mula sa cluster ng server;
  • Sa kaganapan ng isang kahilingan para sa pagpapatupad, ang scheduler ay naghahanap ng mga proseso ng cluster worker na may minimum na load at namamahagi ng mga gawain sa kanila para sa pagpapatupad;
  • Ang bawat proseso ay maaaring magsagawa ng maramihang parallel computations;
  • Matapos dumating ang gawain, ang proseso ay kumokonekta sa database at isinasagawa ang algorithm sa loob nito;
  • Iniuulat ng proseso ang mga resulta sa scheduler.

Mga trabaho sa background sa file mode

Bago ang bersyon ng platform 8.3.3.641, ang pagtatrabaho sa mga trabaho sa background sa bersyon ng file ay nagpakita ng ilang mga paghihirap:

  1. Ito ay kinakailangan upang ilunsad ang isang hiwalay na session na gagana sa buong orasan, na pinapalitan ang scheduler;
  2. Ang session na ito ay dapat na pana-panahong nagsagawa ng ExecuteJobProcessing() na pamamaraan.

Pagkatapos ng pag-update, ang bawat pagsisimula ng makapal at manipis na mga kliyente, kung ang AllowExecuteScheduledJobs key ay tinukoy sa mga setting ng paglulunsad (Fig. 4) sa field na "Karagdagang", magsisimula ng karagdagang thread ng koneksyon sa database, na hindi nakakaapekto sa user's gumana sa anumang paraan, ngunit gumaganap lamang ng mga gawain sa background.

Fig.4

Dapat itong isaalang-alang na kahit na sa bersyon ng file ng trabaho, ang mga proseso sa background ay hindi pinapayagan ang interactive na trabaho sa gumagamit (mga mensahe ng serbisyo, mga babala, mga tanong ay hindi ipapakita). Iyon ay, dapat silang i-encode na parang ipapatupad sila sa gilid ng server.

Paano i-disable ang mga naka-iskedyul na gawain

Maaaring hindi paganahin ang mga hindi nagamit na gawain sa pamamagitan lamang ng pag-alis ng check sa checkbox na "Gamitin" sa mga katangian ng bagay.

Kung kailangang ipagbawal ng administrator ang paggamit ng mga nakagawiang at background na mga operasyon para sa buong database sa kabuuan (halimbawa, maraming mga database ang nakaimbak sa server, kung saan isa lamang ang pangunahing, at ang iba ay ginagamit lamang para sa pag-unlad) , kinakailangang gamitin ang utility ng pangangasiwa ng database. Maaari mo ring suriin ang kahon na "Itakda ang pag-block ng mga naka-iskedyul na gawain" sa database na ginawa sa server.

Bilang karagdagan, ang mga disk ng ITS ay may espesyal na pagproseso na "Job Console", na nagpapahintulot sa iyo na i-edit ang iskedyul ng mga proseso sa background at baguhin ang kanilang aktibidad.

Pinili ng Editor
Ang mga pautang sa mortgage ay madalas na ibinibigay. Ang mga kondisyon ay nakasalalay sa bangko, at ang mga patakaran para sa pag-isyu ay halos pareho sa lahat ng dako. Ang mga pautang ay ibinibigay sa...

Mga programa sa pagpapautang ng kotse Ngayon, ang isang kotse ay hindi na isang luho, ngunit higit na isang pangangailangan. Sa isang malaking lungsod, tulad sa isang maliit na...

Ang klasikong paraan ay ang makipag-ugnayan sa pinakamalapit na sangay ng bangko. Doon ay dapat mong bigyan ang empleyado ng bangko ng impormasyon batay sa ...

Ang mga kapangyarihan at karapatan ng mga bailiff ay mahigpit na nililimitahan ng batas (N 118-FZ On Bailiffs) at gusto kong sabihin sa iyo kung anong mga aksyon ...
Sa Russia, ang isang sistema ng seguro sa deposito para sa mga indibidwal ay kasalukuyang tumatakbo: ano ang halaga ng kabayaran, at kung paano malaman kung sino ang nakaseguro ...
Bihirang, ngunit may pangangailangan na gumawa ng paglipat sa isang kasalukuyang account mula sa isang Sberbank card. Halimbawa, ang malalaking online na tindahan ay tumatanggap ng ...
Suriin natin ang mga kondisyon at benepisyo ng ganitong uri ng pagpapautang sa mga mamamayan. Ngayon, lahat ay maaaring malagay sa isang mahirap na posisyon kapag apurahang...
Ang libre at pampublikong available na consumer loan calculator ng OTP Bank ay aktibong ginagamit ng mga kliyente ng institusyong pinansyal na ito na may ...
Ang pagkuha ng malaking halaga ng pera sa pautang ay maaaring maging mahirap. Ang pagpaparehistro ay tatagal ng maraming oras, na nagbibigay ng ...