Programmiski sāciet fona darbu. Fona darbi: funkcijas, iespējas, iestatījumi Fona uzdevums 1. 8.2

Strādājot 1C, ir daudzas ikdienas darbības, kuras ir jāuzsāk vai jāveido saskaņā ar grafiku, lai veiktu vienu vai otru darbību, piemēram: dokumentu ievietošana vai datu ielāde 1C no vietnes.

Es nesen ievietoju rakstu: Ir pienācis laiks automatizēt šo:

Rutīnas un fona uzdevumi

Darba programma ir paredzēta, lai veiktu jebkuru lietojumprogrammu vai funkcionalitāti pēc grafika vai asinhroni.

Uzdevuma mehānisms atrisina šādas problēmas:

  • Spēja definēt regulējošās procedūras sistēmas konfigurācijas stadijā;
  • Noteikto darbību izpilde saskaņā ar grafiku;
  • Izsaukšana noteiktai procedūrai vai funkcijai asinhroni, t.i. negaidot tā pabeigšanu;
  • Konkrēta uzdevuma progresa izsekošana un tā izpildes statusa iegūšana (vērtība, kas norāda, vai tas bija veiksmīgs vai nē);
  • Pašreizējo uzdevumu saraksta iegūšana;
  • Spēja gaidīt viena vai vairāku uzdevumu izpildi;
  • Darba vadība (atcelšanas iespēja, izpildes bloķēšana utt.).

Darba mehānisms sastāv no šādām sastāvdaļām:

  • Rutīnas uzdevumu metadati;
  • Regulāri uzdevumi;
  • fona darbi;
  • Uzdevumu plānotājs.

Fona darbi un ir paredzēti, lai veiktu lietojumprogrammu uzdevumus asinhroni. Fona uzdevumi tiek īstenoti, izmantojot iebūvēto valodu.

Plānotie uzdevumi un paredzēti lietojumprogrammu uzdevumu veikšanai pēc grafika. Kārtējie uzdevumi tiek glabāti informācijas bāzē un tiek izveidoti, pamatojoties uz konfigurācijā definētajiem metadatiem. Regulējošā uzdevuma metadati satur tādu informāciju kā nosaukums, metode, lietojums utt.

Rutīnas uzdevumam ir grafiks, kas nosaka, kādos laikos ir jāizpilda ar parasto uzdevumu saistītā metode. Grafiks, kā likums, ir norādīts informācijas bāzē, taču to var norādīt arī konfigurācijas posmā (piemēram, iepriekš definētiem ikdienas uzdevumiem).

Uzdevumu plānotājs tiek izmantots, lai ieplānotu ikdienas uzdevumu izpildi. Katram ieplānotajam darbam plānotājs periodiski pārbauda, ​​vai pašreizējais datums un laiks atbilst ieplānotā darba grafikam. Ja tas atbilst, plānotājs piešķir šo uzdevumu izpildei. Lai to paveiktu, šim ieplānotajam uzdevumam plānotājs izveido fona uzdevumu, kas veic faktisko apstrādi.

Manuprāt, ar aprakstu pietiek — ķersimies pie ieviešanas:

Ikdienas uzdevuma izveide

Metodes nosaukums– ceļš uz procedūru, kas tiks izpildīta fona uzdevumā atbilstoši noteiktajam grafikam. Procedūrai jābūt kopējā modulī. Ieteicams neizmantot standarta kopējos moduļus, bet gan izveidot savus. Neaizmirstiet, ka serverī darbojas fona darbi!

Lietošana– rutīnas uzdevuma izmantošanas pazīme.

Iepriekš noteikts– norāda, vai rutīnas uzdevums ir iepriekš noteikts.

Ja vēlaties, lai rutīnas uzdevums darbotos uzreiz pēc ievietošanas datu bāzē, norādiet atribūtu Iepriekš noteikts. Pretējā gadījumā jums būs jāizmanto “Job Console” apstrāde vai jāaktivizē darbs programmatiski.

Atkārtoto mēģinājumu skaits, kad darbs tiek pārtraukts neparasti– cik reižu fona darbs tika restartēts, ja tas tika izpildīts ar kļūdu.

Atkārtota mēģinājuma intervāls, kad darbs tiek pārtraukts neparasti– cik bieži fona darbs tiks restartēts, ja tas tika pabeigts ar kļūdu.

Grafika sastādīšana

Grafiks pabeidzot uzdevumu:

Katru stundu, tikai vienu dienuRepeatDays Period = 0, RepeatDays Period = 3600
Katru dienu reizi dienāRepeatDays Period = 1, RepeatDays Period = 0
Vienu dienu, vienu reiziPeriodRepeatDays = 0
Katru otro dienu reizi dienāPeriods RepeatDays = 2
Katru stundu no 01:00 līdz 07:00 katru dienuPeriodRepeatDays = 1RepeatPeriodDuringDay = 3600StartTime = 01.00

Beigu laiks = 07.00

Katru sestdienu un svētdienu plkst.09.00Atkārtotu dienu periods = 1 nedēļas dienas = 6, 7 sākuma laiks = 09.00
Katru dienu vienu nedēļu, izlaidiet nedēļuPeriods RepeatDays = 1PeriodNedēļas = 2
01:00 vienu reiziSākuma laiks = 01.00
Katra mēneša pēdējā dienā 9:00.Periods Atkārtotās dienas = 1 diena mēnesī = -1 sākuma laiks = 09.00
Katra mēneša piektajā dienā pulksten 9:00Periods Atkārtotās dienas = 1 diena mēnesī = 5 sākuma laiks = 09.00
Katra mēneša otrajā trešdienā 9:00Periods Atkārtotas dienas = 1 diena Nedēļa Mēnesis = 2 dienasNedēļa = 3

Sākuma laiks = 09.00

Fona darbu izpildes iezīmes failu un klienta-servera variantos

Fona darbu izpildes mehānismi faila un klienta-servera versijās ir atšķirīgi.

Faila versijā jums ir jāizveido īpašs klienta process, kas veiks fona darbus. Lai to izdarītu, klienta procesam periodiski jāizsauc globālā konteksta funkcija ExecuteJobProcessing. Tikai vienam klienta procesam katrā informācijas bāzē ir jāapstrādā fona darbi (un attiecīgi jāizsauc šī funkcija). Ja klienta process fona darbu apstrādei nav izveidots, programmatiski piekļūstot darba programmai, tiks parādīta kļūda “Darbu pārvaldnieks nav aktīvs”. Nav ieteicams izmantot klienta procesu, kas apstrādā fona darbus citām funkcijām.

Kad klienta procesa fona darbu apstrāde ir uzsākta, citi klienta procesi var programmatiski piekļūt fona darbu dzinējam, t.i. var palaist un pārvaldīt fona darbus.

Klienta-servera versijā Lai izpildītu fona darbus, tiek izmantots uzdevumu plānotājs, kas fiziski atrodas klasteru pārvaldniekā. Visiem rindā esošajiem fona darbiem plānotājs iegūst vismazāk ielādēto darbinieka procesu un izmanto to, lai palaistu atbilstošo fona darbu. Darbinieka process izpilda darbu un paziņo plānotājam par izpildes rezultātiem.

Klienta-servera versijā ir iespējams bloķēt rutīnas uzdevumu izpildi. Regulāro uzdevumu izpilde tiek bloķēta šādos gadījumos:

  • Informācijas bāzē ir instalēta skaidra ikdienas uzdevumu bloķēšana. Slēdzeni var iestatīt, izmantojot klastera konsoli;
  • Informācijas bāzē ir savienojuma bloks. Slēdzeni var iestatīt, izmantojot klastera konsoli;
  • Metode SetExclusiveMode() ar parametru True tika izsaukta no iebūvētās valodas;
  • Dažos citos gadījumos (piemēram, datu bāzes konfigurācijas atjaunināšanas laikā).

Ieplānoto uzdevumu palaišanas un apskates apstrāde jūs varat lejupielādēt šeit.

Asinhronās programmēšanas koncepcija

Asinhronās programmēšanas koncepcija ir tāda, ka funkcijas rezultāts nav pieejams uzreiz, bet pēc kāda laika kaut kāda asinhrona (pārkāpjot parasto izpildes secību) izsaukuma veidā.

Tie. Asinhronās programmēšanas galvenā ideja ir veikt individuālus metožu izsaukumus un paralēli turpināt veikt citus darbus, negaidot zvanu pabeigšanu.

Dažām metodēm, kas samazina izņēmumu iespējamību, nav nepieciešama asinhrona pieeja, bet citām tā ir nepieciešama pašā izstrādes sākumā.

Kā redzams no grafikiem, ar sinhronās programmēšanas modeli nav noderīgu interaktīvo lietotāja darbību koeficienta, jo sistēma bloķē lietotāja saskarni, savukārt ar asinhrono modeli lietotājs turpina aktīvi strādāt sistēmā.

Palaižot sinhroni, lietojumprogrammai ir tikai viens pavediens. Izmantojot asinhronās programmēšanas modeli, varat paralēli palaist vairākus pavedienus un reaģēt uz jaunām lietotāja darbībām, kad tās darbojas. Kad n-vītne ir izpildīta, rezultāts tiek parādīts ekrānā.

Fona uzdevumi 1C:Enterprise 8

Programmā 1C:Enterprise 8 fona darbi ir paredzēti, lai asinhroni veiktu lietojumprogrammas uzdevumus. Tie var ģenerēt pakārtotus fona darbus, piemēram, lai paralēli veiktu sarežģītus aprēķinus dažādos klastera darba serveros klienta-servera darbības režīmā.

Ir iespējams ierobežot tādu fona darbu izpildi, kuriem ir vienādas metodes, pamatojoties uz konkrētu lietojumprogrammas kritēriju. Programmatiska fona darbu izveide un pārvaldība ir iespējama no jebkura lietotāja savienojuma ar sistēmas informācijas bāzi. Fona darbs tiek izpildīts tā lietotāja vārdā, kurš to izveidoja.

Uzdevumu mehānisms darbojas gan klienta-servera, gan failu darbības režīmā, taču uzdevumu administrēšanas un izpildes iespējas abās versijās ir nedaudz atšķirīgas.

Klienta-servera opcija

Klienta-servera versijā uzdevumu plānošanu veic uzdevumu plānotājs, kas fiziski atrodas klasteru pārvaldniekā.

Plānotājs periodiski pārbauda, ​​vai ir saņemti pieprasījumi palaist fona darbus. Ja ir darbi, kas jāizpilda, plānotājs nosaka vismazāk noslogotos darbinieku procesus klasterī un secīgi piešķir katram no tiem izpildāmo uzdevumu. Tādējādi viens un tas pats darbinieka process potenciāli var veikt vairākus darbus paralēli. Kad darbinieka process ir saņēmis darbu, darbinieka process izveido savienojumu ar informācijas bāzi un izpilda darbu šajā savienojumā. Kad darbs ir pabeigts, darbinieka process paziņo plānotājam, vai darbs ir pabeigts veiksmīgi vai neveiksmīgi.

Faila opcija

Sākot ar platformas versiju 8.3.3.641, izstrādātāji ir ievērojami vienkāršojuši darbu ar fona darbiem faila versijā.

Iepriekš, lai automātiski izpildītu uzdevumus, bija nepieciešams palaist atsevišķu papildu 1C:Enterprise sesiju, ko izmantoja kā uzdevumu plānotāju. Un šajā sesijā bija nepieciešams periodiski izpildīt iebūvēto valodas metodi ExecuteTaskProcessing().Šī pieeja bija diezgan apgrūtinoša, neērta un ievērojami ierobežoja fona un ikdienas uzdevumu izmantošanu darba faila versijā.

Tagad viss ir kļuvis daudz vieglāk. Ja tiek startēts plāns vai biezs klients un arī tīmekļa serverim ir klienta savienojumi, tad katrā no šīm lietojumprogrammām automātiski tiek palaists cits pavediens ar savienojumu ar datu bāzi. Šie pavedieni ir iesaistīti fona un ikdienas uzdevumu veikšanā.

Katra no uzskaitītajām lietojumprogrammām veic savus fona uzdevumus. Ja pieteikumā ir uzsākti vairāki fona darbi, tie tiek izpildīti secīgi, to saņemšanas secībā.

1C fona darbu acīmredzamais trūkums: tā kā tie tiek izpildīti servera pusē, nav iespējams interaktīvais darbam ar lietotāju (piemēram, nav iespējams parādīt ziņojumu vai kādu citu informāciju; visi šie dati ir jāuzglabā informācijas bāzē un tālāk jāapstrādā kaut kādā veidā).

Jāņem vērā, ka fona darbi ir tikai programmatūras objekti un tos nevar saglabāt datu bāzē. Tas nozīmē, ka mēs varam izveidot tikai klases gadījumu, inicializēt tās rekvizītus un palaist to izpildei.

Asinhronā koda izpildes piemērs 1C:Enterprise 8

“Rakstīt programmas, kurās funkcijas izsaukuma rezultāts nonāk nezināmā laikā, ir daudz grūtāk nekā parastās. Ligzdoti zvani, kļūdu apstrāde, notiekošā kontrole - viss kļūst sarežģītāk,” to teiks tikai tie, kuri neprot pareizi izmantot platformas iespējas, bet ne mēs!

Demonstrēsim asinhronā koda izpildes vienkāršību un eleganci 1C:Enterprise 8!

1. darbība. Izveidosim jaunu informācijas drošības sistēmu konfigurācijas izstrādei

2. darbība. Konfigurācijā pievienosim vispārīgo moduli “Asinhronie apdarinātāji”

Kāpēc mēs pievienojām koplietotu moduli? Šeit viss ir vienkārši: lai veiktu asinhronās darbības 1C: Enterprise 8, tiek izmantoti fona darbi, kuriem ir savs pārvaldnieks - “BackgroundTask Manager”. Šim objektam ir “Run” metode, ar kuras palīdzību tiek palaists fona uzdevums.

Pievērsīsimies sintakses palīgam.

Tātad mums būs nepieciešams kopīgs modulis.

3. darbība. Vispārējā modulī “Asinhronie apstrādātāji” pievienosim eksporta procedūru OurLongOperation()

Procedūra OurLongOperation(Duration) Export // Ilgtermiņa darbības simulācija (Duration sec.). OperationStartDate = PašreizējaisDatums(); Kamēr CurrentDate() — operācijas sākuma datums< Длительность Цикл КонецЦикла; КонецПроцедуры

4. darbība. Pievienojiet konfigurācijai apstrādi “Asinhronās programmēšanas koncepcija” (varat izveidot ārēju apstrādi)

Pievienojiet veidlapai vienu atribūtu:

Ilgums (skaitlis)

un divas komandas

Veikt LongOperation;

Asinhroni veiciet ilgu un ilgu darbību.

5. darbība. Saskaņā ar sintakses palīgu aizpildiet veidlapas moduli

&Klienta procedūrā Veikt Long-RunningOperation(Command) ExecuteLong-RunningOperationOnServer(); EndProcedure &OnServer procedūra ExecuteLongOperationOnServer() AsynchronousHandlers.OurLongOperation(Duration); Procedūras beigas &Klienta procedūrā Veikt ilgstošu darbību asinhroni (komanda) Veikt ilgstošu darbību asinhroni serverī (); Procedūras beigas &Serverī Procedūra Veiciet ilgstošu darbību asinhroni serverī() Parameters = jauns masīvs; Parametri.Pievienot(Ilgums); BackgroundTasks.Execute("AsynchronousHandlers.OurLongOperation", Parameters, New UniqueIdentifier, "Asinhronās programmēšanas koncepcijas piemērs"); Procedūras beigas

6. darbība. Palaidīsim un pārbaudīsim!

Rezultāts:

Ja noklikšķinām uz pogas “Veikt ilgu darbību”, lietotāja interfeiss tiek bloķēts uz “Ilgums” sekundēm;

Ja noklikšķinām uz pogas “Veikt ilgstošu darbību asinhroni”, lietotāja interfeiss netiek bloķēts un programmas kods tiek izpildīts paralēli.

Mēs varam pārbaudīt, vai programmas kods tiek izpildīts asinhroni, apskatot žurnālu.

Mēs varam atkļūdot programmas kodu, kas darbojas “fonā”, ja atkļūdošanas parametros iestatām atbilstošo rekvizītu.

Asinhronā koda izpildes piemērs 1C:Enterprise 8, izmantojot BSP

Apskatīsim piemēru asinhronās programmēšanas koncepcijas ieviešanai 1C:Enterprise 8 BSP, izmantojot “Aktuālo lietu” apstrādes piemēru.

Loģika ir šāda: palaižot programmu, tiek inicializēts sākuma lapas darba apgabals, kurā var tikt parādīta apstrādes forma “Aktuāli”. Šo veidlapu aizpilda lietotāja aktuālās lietas, un tās aizpildīšana prasa laiku. Ja izstrādātājiem nebūtu iespējas izpildīt kodu asinhroni, tad apstrādes veidlapas aizpildīšanas laikā lietotāja saskarne tiktu bloķēta!

Analizēsim veidlapas programmas kodu.

Veidlapas notikums “When CreatedOnServer” izsauc procedūru “RunBackgroundTask” — tas ir tas, kas mums vajadzīgs.

Neaizraujoties no niansēm, analizēsim šo procedūru

Un šeit mēs redzam, ka tiek izmantots fona darbu pārvaldnieks un tā “Palaist” metode. Ņemiet vērā, ka izstrādātāji saglabā unikālu ID fona darbam.

Lai to izdarītu, izstrādātāji izmanto metodi ConnectWaitHandler(<ИмяПроцедуры>, <Интервал>, <Однократно>).



Saistītā procedūrā Connectable_CheckTaskComplete() izstrādātāji sauc funkciju Darbs pabeigts (uzdevuma ID)


Šī funkcija pārbauda fona darba izpildi pēc identifikatora.

Jāatzīmē, ka BSP ir izstrādājis vispārīgus moduļus, lai atbalstītu ilgtermiņa serveru darbības.

Tādējādi 1C:Enterprise 8 asinhronās programmēšanas koncepcija nedaudz palielina izstrādātāja problēmu risināšanas sarežģītību, bet ievērojami uzlabo programmas funkcionalitāti no lietotāja viedokļa.

Ļauj veikt jebkādus aprēķinus sistēmā lietotājam nepamanot, tas ir, fonā. Turklāt šis mehānisms ļauj mums paralēli veikt aprēķinu procesu. Mēs pat varam paralēli veikt procedūru. Lai to izdarītu, mūsu fona darbam ir jāpalaiž vēl vairāki fona darbi. Šajā gadījumā procesi tiek paralēli un, ja mums ir daudzprocesoru, daudzkodolu sistēma, mūsu algoritms darbosies efektīvi. Pēc vairāku procesu palaišanas mēs varam pateikt sistēmai, ka tai ir jāgaida šo procesu pabeigšana, lai kaut kā apvienotu rezultātu.

Piemēram, tipiskās konfigurācijās, kamēr lietotājs strādā, tiek izpildīti dažāda veida fona pakalpojumu darbi. Par to var liecināt žurnāla ieraksti, kas fiksē faktu, ka šādas darbības veiktas. Turklāt tas nekādā veidā neietekmē lietotāja darbu, viņš tos vienkārši nepamana.

Ideālā gadījumā fona darbs tiek ieviests klienta-servera versijā, un tādā gadījumā visa slodze nonāk serverī. Kas attiecas uz faila versiju, fona darbs ir iespējams, taču tam ir dažas īpatnības.

To sistēma radīs, ja neņemsiet vērā šīs funkcijas un palaidīsiet fona darbu informācijas bāzes faila versijā.


1C fona darbam ir daži ierobežojumi. Tā kā tas darbojas servera pusē, nav iespējams veikt interaktīvu darbu ar lietotāju. Piemēram, jūs nevarat parādīt ziņojumu vai vispār nekādu informāciju. Visi šie dati ir jāuzglabā informācijas bāzē un tālāk kaut kādā veidā jāapstrādā.
Sazinoties ar sintakses palīgu, varat iegūt detalizētāku informāciju par 1C fona darbiem. Šeit jāatzīmē, ka šis objekts ir tīri programmatūra un tas nekādā veidā netiek saglabāts datu bāzē. Tas ir, mēs izveidojam klases gadījumu, inicializējam rekvizītus un palaižam to izpildei.

Kādi rīki mums ir, lai pārvaldītu fona darbus? Šī iespēja ir metadatu objekts "Fona uzdevumu pārvaldnieks". Šim objektam ir metode "Skriet", izmantojot šo metodi, tiek palaists fona darbs.

Tam ir šādi parametri:
"Metodes nosaukums"- izpildāmās procedūras vai funkcijas nosaukums, un tai ir jābūt servera konteksta procedūrai vai funkcijai;

"Opcijas"- parametru masīvs, kura elementu skaitam jāatbilst parametrā norādītajam mūsu procedūras/funkcijas parametru skaitam "Metodes nosaukums";

"Atslēga"- noteikta unikalitātes atslēga, kas ir rinda, pēc kuras sistēma saprot, vai ir jāpalaiž fona uzdevums, vai arī šāds uzdevums jau darbojas;

"Vārds"- šeit varat norādīt patvaļīgu mūsu metodes aprakstu.

Atgriešanas vērtība ir objekts "Fona uzdevums", kas satur pašreizējās metodes nosaukumu, pašreizējo atslēgu un vairākus citus rekvizītus un metodes. Viena no šādām metodēm ir metode "Pagaidiet pabeigt". Tās mērķis ir nodrošināt, lai sistēma neko nedarītu, kamēr fona darbs nav pabeigts.

Fona darbs 1C 8.2, 8.3 — izmantošanas piemērs

Sniegsim piemēru darbam ar 1C fona darbiem. Pirmkārt, mēs izveidosim vienkāršu algoritmu, kas īsi ielādēs 1C sistēmu tā, lai mēs šobrīd neko nevarētu darīt.

Priekš šī:

1. Izveidosim kopīgu moduli "Fona uzdevumu apstrādātāji", kas tiks apkopota servera pusē;


2. Tajā aprakstīsim eksporta procedūru "ProduceBackgroundCalculation(Parameter)", kas aizņem vienu virknes tipa parametru;

Procedūra PerformBackgroundCalculation(Parameter) ExportStartTime = CurrentDate() ; Kamēr CurrentDate() — sākuma laiks< = 6 Цикл КонецЦикла ; КонецПроцедуры Процедура КнНажатие() ОбработчикиФоновыхЗаданий. ПроизветиФоновоеВычисление("Kāds parametrs") ; Procedūras beigas
Gatavs. Tagad, kad sākat apstrādi un nospiežat pogu, sistēma sastingst uz vairākām sekundēm, kuru laikā neko nevar izdarīt. Tas ir tieši tas, kas mums bija jādara.

Tagad mēs nodrošināsim, ka šie aprēķini tiek veikti fonā, tas ir, lai fona uzdevums 1C 8.2, 8.3 tiktu izpildīts, bet tas mūs netraucē.

Priekš šī:

1. Apstrādes laikā pogas nospiešanas notikumā ierakstiet šādu kodu.

Procedūra KnPress() Parametri = jauns masīvs; Iespējas. Pievienot( "Kāds parametrs") ; Fona uzdevums. Palaist ( "Fona uzdevumu apstrādātāji. Veiciet fona aprēķinus", Parametri, jauns unikālais identifikators, "Pārbaude") ; Procedūras beigas

Šeit mēs nododam kopējās moduļa procedūras nosaukumu kā pirmo parametru un parametru masīvu kā otro. Trešajam parametram ir jānodod unikāla atslēga, bet ceturtajam parametram - mūsu procedūras apraksts.

Platformas: 1C: Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfigurācijas: Visas konfigurācijas

2012-11-13
53989

Dokumentu pārvaldībā ir uzdevumi, kas jāveic periodiski – piemēram, divdesmitajā vai katru dienu. Parasti uzņēmumi speciāli šim nolūkam veido noteiktus noteikumus, kas norāda, kad un kā jāveic nepieciešamais uzdevums, un kam jākontrolē process. Šādi uzdevumi tiek veikti saskaņā ar noteikumiem un tiek saukti par reglamentētiem.

Diezgan bieži IT tiek ievēroti uzraudzības noteikumi. Šī metode ir ļoti pazīstama administratoriem, jo ​​šim nolūkam tiek izmantotas īpašas programmas, lai periodiski pārbaudītu tīkla infrastruktūras un serveru funkcionalitāti. Viņi informē administratoru par konstatētajām problēmām, izmantojot SMS vai e-pastu.

Līdzīga sistēma darbojas tīmekļa pārziņiem, un vietnes pieejamība tiek pārbaudīta 24 stundu laikā. Izmantojot 1C mehānismu “Ikdienas uzdevumi”, tiek veikti uzraudzības uzdevumi, kā arī periodiski uzdevumi, kas tiek veikti saskaņā ar grafiku automātiskajā režīmā 1C. Apskatīsim šo tēmu tuvāk.

Plānotie uzdevumi 1C

1C objekts, ko sauc par “Ikdienas uzdevumiem”, ļauj apstrādāt informāciju nevis pēc problēmas rašanās, bet gan saskaņā ar grafiku. Konfiguratorā rutīnas uzdevums ir veids, kā iestatīt iestatījumus un iestatīt grafiku. Turklāt ir iespējams vēlāk mainīt grafiku 1C Enterprise režīmā.

Izmantojot failu datu bāzi, darbi netiek automātiski izpildīti. Lai sāktu procesu, jums jāsāk 1C sesija 1C Enterprise režīmā un jāsāk tajā izpildīt rutīnas uzdevums.

Visām standarta konfigurācijām ir lietotāja iestatījums, kas ļauj norādīt, ka, kad darbojas 1C, rutīnas uzdevumi tiks veikti automātiski.

Izmantojot 1C klienta-servera versiju, ir iespējams automātiski veikt uzdevumus serverī. Paredzētajā laikā tiek palaists fona darbs, kas veic nepieciešamās darbības. Paralēlai skaitļošanai serverī fona darbu var izveidot no programmas teksta, izmantojot 1C valodu, neizmantojot ieplānotu 1C darbu. Ieplānotā uzdevuma darbību var īslaicīgi atspējot, izmantojot 1C servera pārvaldības konsoli.

Ieplānota uzdevuma pievienošana

Ikdienas uzdevumi atrodas sadaļā - Konfigurators - Vispārīgi - Ikdienas uzdevumi. Pievienojiet jaunu "uzdevumu" un norādiet nosaukumu. Tālāk jums jādodas uz rekvizītiem “Uzdevumi”. Un atlasiet Metodes nosaukums. Šeit ir jānorāda apdarinātāja funkcija, tāpat kā tas notiek notikumu abonementā. Šī funkcija atradīsies vispārīgajā modulī un rekvizītos atzīmēta ar “putnu” serveri. Tas nozīmē, ka nepieciešamais modulis ir jāpievieno iepriekš.

Uzdevuma nosaukums ieplānotā uzdevuma rekvizītos ļauj noteikt tā nosaukumu, kas pēc tam tiks parādīts uzdevumu pārvaldības rīkos. Funkcija Rutīnas uzdevuma rekvizīti ir atslēga, kas ļauj grupēt vairākus dažādus ikdienas uzdevumus. Šajā gadījumā vienlaikus var palaist tikai vienu uzdevumu ar tādu pašu atslēgas vērtību. Šeit vērtība var būt patvaļīga, taču tā ir jāaizpilda, jo sistēma neņem vērā tukšu vērtību.

Grāmatvedības izdevumā 2.0, kas ir standarta konfigurācija, rutīnas uzdevumi, piemēram: “Kopsummas pārrēķins” un “Konfigurācijas atjaunināšana”, ir iepriekš definēti, taču, piemēram, “Atliktās kustības” un “Datu apmaiņa” nav iepriekš definēti.

Mēģiniet atkārtoti pārtraukt neparastu darbību — tiek restartēts pašreizējais darbs. Paredzēts palaišanai, kas nebija veiksmīga pirmajā reizē. Šeit ir norādīts, cik reizes varat restartēt un pēc kāda laika ir pagājis pēc neparastas pārtraukšanas.

Uzraudzības un pārvaldības rīki ikdienas uzdevumiem 1C

Standarta apstrāde “Uzdevumu konsole”, kas atrodama ITS diskos, ir atbildīga par parastā uzdevuma pārvaldību. Šī apstrāde ir universāla ārējā standarta apstrāde 1C. Parasti tas nav iekļauts konfigurācijā, bet tiek iegādāts atsevišķi.

Ar tās palīdzību jūs varat veikt šādas darbības:

Ieslēgt un izslēgt ieplānotu uzdevumu;

Piešķirt un mainīt grafikus;

Norādiet lietotājvārdu, ar kuru tiks veikts rutīnas uzdevums;

Skatīt izpildītos uzdevumus (kad un ar kādu rezultātu), kā arī uzdevumu kļūdas;

Rutīnas uzdevums un datu bāzu kopijas

Izmantojot serveri 1C, var rasties šāds brīdis:

Lai programmētu, jāizveido darba datu bāzes kopija;

Nepieciešamība strādāt ar datu bāzes kopijām (testēšana);

Kādu iemeslu dēļ ieplānotais uzdevums netika iekļauts testa datubāzē.

Ja kāda no šīm situācijām radās, izpildot uzdevumus ar rutīnas uzdevumu, kas ir saistīts tikai ar viņu datu bāzi, tam nav negatīvu seku. Taču bieži vien rutīnas uzdevums var saglabāt failus vai citus datus, sūtīt e-pastus un veikt apmaiņu. Šajā gadījumā var rasties neskaidrības starp “darba” rezultātiem un kopijām. Lai tas nenotiktu, servera pārvaldības konsolē ir jāatspējo “uzdevumi”.

Pabeigtie un nepabeigtie normatīvie uzdevumi

Veidojot rutīnas uzdevumus, ir svarīgi pārbaudīt, vai uzdevumu var izpildīt kā rutīnas uzdevumu. Ir svarīgi zināt, ka servera modulis neveic daudzas klienta darbības iespējas. Turklāt uzdevums, kas nodarbojas ar kaut ko, kas atrodas ārpus datu bāzes - tajā svarīga loma ir Windows lietotāja tiesībām, saskaņā ar kurām uzdevums tiek izpildīts.

Pēdējais faktors ir īpaši svarīgs, jo, ja modulis netiek izpildīts serverī, uzdevumu principā nevar izpildīt. Lai pārbaudītu, jums ir jāpalaiž viens uzdevums un jānovērtē rezultāts.

1C Enterprise konfigurācijās ir rutīnas un fona uzdevumi. Šie darbi tiek izpildīti saskaņā ar plānotāju, ņemot vērā katra darba grafiku. Daži uzdevumi sākotnēji tiek izpildīti uz taimera pēc noteikta sekunžu skaita, kas var negatīvi ietekmēt veiktspēju un nepārprotami traucēt darbu informācijas bāzē.

Lai rediģētu rutīnas un fona uzdevumus, administrēšanas cilnē kreisajā pusē atlasiet “rutīnas un fona uzdevumi”. Tiks parādīts esošo uzdevumu saraksts, to statuss, grafiks un cita informācija.

Pāris reizes noklikšķinot uz jebkura uzdevuma, tiks atvērts logs ar šī uzdevuma rekvizītiem. Šeit varat mainīt daudzus iestatījumus pēc savas gaumes, tostarp šī uzdevuma grafiku. Lai atspējotu uzdevumu, ir jānoņem izvēles rūtiņa “Iespējots”. Bet, ja uzdevumam ir jādarbojas pēc grafika, ir ārkārtīgi svarīgi izmantot atsevišķu lietotāju ar pilnām tiesībām visiem fona uzdevumiem.

Uzdevumu plānošanas parametri ir ļoti elastīgi, taču joprojām ir ieteicams visus uzdevumus iestatīt tā, lai vienlaikus tiktu izpildīts tikai 1 uzdevums un vēlams ārpus darba laika. Vienīgais izņēmums var būt vairāku saistīto informācijas datu bāzu sinhronizācija, piemēram, uzņēmuma grāmatvedība + algu un personāla vadība.

Bankas klasifikatora ielāde - svētdiena, 4:30
Valūtu kursu ielāde - katru dienu; 7:00
Teksta izvilkšana - katru dienu; 6:00.
Ziņojumu apmaiņa starp dokumentu pārvaldības kontiem - katru dienu; ik pēc 10800 sek.
Vienības tiek atjauninātas katru dienu; no 5:00:00 vienu reizi dienā
Atjaunināt grāmatveža uzdevumus - katru dienu; no 6:30:00 vienu reizi dienā
PPD indeksa atjaunināšana (pilna teksta meklēšana) - katru dienu; ik pēc 10800 sek.
Pārbūves vienības - katru dienu, pa nedēļas dienām [sestdiena]; no 3:00:00 vienu reizi dienā
Izmaiņu aizlieguma relatīvo datumu pašreizējo vērtību pārrēķins - katru dienu; no 7:00:00 vienu reizi dienā
PPD indeksa sapludināšana (pilna teksta meklēšana) - katru dienu; no 4:00:00 vienu reizi dienā
Nesvarīgas sinhronizācijas informācijas noņemšana - katru dienu; no 3:30:00 vienu reizi dienā
Perioda iestatīšana aprēķinātajām summām - katru dienu, mēneša 5.datums; no 1:00:00 vienu reizi dienā