Rutinski i pozadinski zadaci (1Cv8). Univerzalni regulatorni zadatak

Brojni poslovi u uredskom poslu zahtijevaju redovito izvršavanje, inače će cijeli radni proces jednostavno stati. Izvješća su obavezna dostaviti određeni broj svaki mjesec. Ponekad svaki tjedan ili čak svaki dan.

Tvrtke u pravilu donose posebna pravila koja uređuju postupak izrade izvješća i obavljanje drugih poslova. Ovi propisi određuju odgovornosti svakog radnog mjesta i navode tko treba što provjeravati.

Za uspješnije rješavanje takvih problema, stvoren je, u kojem postoji funkcija 1C rutinskih zadataka, koja vam omogućuje da se nosite s dnevnom rutinom protoka dokumenata.

U biti, mehanizam planiranih zadataka u 1C stvoren je posebno za rješavanje strogo reguliranih zadataka. Ova metoda nadzora odavno je poznata IT stručnjacima, koji često rade s programima koji omogućuju redoviti nadzor. računalne mreže, stanja poslužitelja i drugih sustava. Informacije o statusu skeniranih objekata šalju se administratoru putem e-pošte

Rutinski zadaci 1C rješavaju slične probleme s određenim razdobljem izvršenja.

Pojedinosti o regulatornim zadacima 1C

Dakle, rutinski zadaci su funkcionalnost programa 1C, stvorena za obradu podataka i obavljanje određenih zadataka u trenutku nastanka događaja strogo prema utvrđeni raspored. Izravni rutinski zadatak u konfiguratoru nije ništa drugo nego alat za konfiguraciju i nadzor koji koristi zadani raspored. Treba napomenuti da se raspored lako može promijeniti tijekom rada u 1C Enterprise modu.

postavke. Korisnik može unijeti rutinske zadatke 1C i prilagoditi automatsko izvršavanje zadataka prema unesenim parametrima. Kada radite u sustavu Windows, zadaci će se izvršavati pod korisnikom koji je pokrenut kao klijent u rutinskim zadacima 1C.

Ako korisnik koristi opciju klijent-poslužitelj 1 C, zadaci se izvršavaju u automatski način rada na poslužitelju. Kada se približi postavljeno vrijeme, pokreće se pozadinski posao koji izvršava trenutni zadatak. U ovom slučaju, pozadinski zadatak se izvršava za Windows korisnika koji je pokrenuo program poslužitelja 1C.

Treba napomenuti da pozadinski poslovi sastavljaju se na programski jezik 1C bez korištenja funkcije "rutinski zadaci". U te svrhe preporuča se privremeno onemogućiti u postavkama upravljanja poslužiteljem 1C. Više detalja o tome možete pronaći na.

Kako dodati planirani zadatak 1C


Za početnike treba napomenuti da se rutinski zadatak 1C nalazi u odjeljku opći/rutinski zadaci. Za početak, dodajmo rutinski zadatak i dajmo mu naziv.

Idite na svojstva planiranog zadatka, gdje trebate navesti "funkciju rukovatelja" u nazivu metode. Važno je ne zaboraviti unaprijed dodati model u svojstva poslužitelja.

Položaj "naziv zadatka" u svojstvima planiranog zadatka navodi naziv koji će se koristiti u sustavu upravljanja zadacima.

"Ključna" pozicija u svojstvima rutinskog zadatka 1C pomoći će u kombiniranju razne zadatke. Važno je zapamtiti da se istovremeno može pokrenuti samo jedan zadatak s određenim ključem. Ako vrijednost nije popunjena, program će polje smatrati praznim i neće ga uzeti u obzir prilikom obrade podataka.

"Unaprijed definirana" pozicija u svojstvima planiranog zadatka kontrolira da se, kada se 1C Enterprise uključi, zadatak kreira u jednoj kopiji s vlastitim konfiguracijskim rasporedom.

U standardnim konfiguracijama, kao što je, na primjer, Računovodstveno izdanje 2.0, 1C rutinski zadaci „preračunavanje ukupnih iznosa“ i „ažuriranje konfiguracije“ bit će unaprijed definirani, ali zadaci „odgođena kretanja“ i „razmjena podataka“ neće biti unaprijed definirani. Opcija "koristi" započinje posao. Kako bi zadatak bio dovršen, potrebno je označiti kućicu uz “koristi”. Opcija ponovnog pokušaja u slučaju abnormalnog prekida ponovno pokreće zadatak ako iz nekog razloga ne uspije u prvom pokušaju. U tom slučaju morate navesti koliko puta trebate ponovno pokrenuti i nakon koliko je vremena prošlo od trenutka abnormalnog prekida.

Kako upravljati rutinskim zadatkom u 1C: postavljanje i obrada

Za upravljanje i praćenje rutinskog zadatka, 1C nudi standardnu ​​obradu u konzoli zadataka. Dostupan je na ITS diskovima. Ovaj tretman se smatra univerzalnim standardnim tretmanom i često se proizvodi zasebna aplikacija na ITS diskovima.

U obradi konzole zadataka moguće je: pokrenuti ili onemogućiti rutinski zadatak, promijeniti raspored rutinskog zadatka, promijeniti korisnika pod čijim imenom će se zadaci izvršavati, pratiti koji su zadaci i kada završeni s detaljnim pokrivanjem njihovih rezultata.

Platforme: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfiguracije: Sve konfiguracije

2012-11-13
53138

U upravljanju dokumentima postoje zadaci koji zahtijevaju periodično izvršenje - na primjer, dvadesetog ili dnevno. U pravilu, tvrtke posebno za tu svrhu stvaraju određena pravila koja pokazuju kada i kako treba izvršiti potrebni zadatak te tko treba kontrolirati proces. Takvi se poslovi obavljaju prema propisima i nazivaju se regulirani.

Često se u IT-u poštuju propisi o praćenju. Ova je metoda vrlo poznata administratorima, jer postoje posebni programi, koji se koristi za periodične provjere performansi mrežna infrastruktura i poslužitelji. Obavještavaju administratora o otkrivenim problemima putem SMS-a ili e-pošte.

Sličan sustav radi za webmastere, a dostupnost stranice provjerava se unutar 24 sata. Pomoću mehanizma "Rutinski zadaci" u 1C provode se zadaci praćenja, kao i periodični zadaci koji se izvršavaju prema rasporedu u automatskom načinu rada u 1C. Pogledajmo pobliže ovu temu.

Planirani zadaci 1C

Objekt 1C, nazvan "Rutinski zadaci", omogućuje obradu informacija ne nakon što se pojavi problem, već prema rasporedu. U konfiguratoru, rutinski zadatak je način postavljanja postavki i postavljanja rasporeda. Osim toga, moguće je naknadno promijeniti raspored u 1C Enterprise modu.

Kada koristite bazu podataka datoteka, poslovi se ne izvršavaju automatski. Da biste pokrenuli proces, morate pokrenuti 1C sesiju u 1C Enterprise modu i započeti izvršavanje rutinskog zadatka u njemu.

Sve standardne konfiguracije imaju korisničku postavku koja vam omogućuje da odredite da će se rutinski zadaci automatski izvršavati kada je 1C pokrenut.

Korištenje klijent-poslužiteljske verzije 1C to čini mogućim automatsko izvršenje zadatke na poslužitelju. U zakazano vrijeme - pokreće se pozadinski posao koji se izvodi potrebne radnje. Za paralelno računanje na poslužitelju se može kreirati pozadinski zadatak iz programskog teksta, koristeći 1C jezik, bez korištenja planiranog 1C zadatka. Radnja planiranog zadatka može se privremeno onemogućiti pomoću konzole za upravljanje poslužiteljem 1C.

Dodavanje planiranog zadatka

Rutinski zadaci nalaze se u - Konfigurator - Općenito - Rutinski zadaci. Dodajte novi "zadatak" i navedite naziv. Zatim morate otići na svojstva "Zadaci". I odaberite Naziv metode. Ovdje morate navesti funkciju rukovatelja, baš kao što se događa u pretplati na događaj. Ova će se funkcija nalaziti u općem modulu i u svojstvima će biti označena poslužiteljem "ptica". Ovo znači da potreban modul treba dodati unaprijed.

Naziv zadatka u svojstvima planiranog zadatka omogućuje vam da odredite njegov naziv, koji će se zatim pojaviti u alatima za upravljanje zadacima. Funkcija Routine Task Properties ključ je koji vam omogućuje grupiranje nekoliko različitih rutinskih zadataka. U ovom slučaju, samo jedan zadatak može biti pokrenut istovremeno s ista vrijednost ključ Ovdje vrijednost može biti proizvoljna, ali mora biti popunjena, jer prazna vrijednost sustav ne uzima u obzir.

U računovodstvenom izdanju 2.0, koje je standardna konfiguracija, rutinski zadaci, kao što su: “Rekalkulacija ukupnih iznosa” i “Ažuriranje konfiguracije” su unaprijed definirani, ali kao što su npr. “Odgođena kretanja” i “Razmjena podataka” nisu unaprijed definirani.

Pokušaj ponovno pri abnormalnom prekidu - ponovno pokreće trenutni posao. Dizajniran za izvođenje lansiranja koje nije bilo uspješno prvi put. Ovdje je naznačeno koliko puta možete ponovno pokrenuti i nakon koliko je vremena prošlo nakon abnormalnog prekida.

Alati za praćenje i upravljanje za rutinske zadatke 1C

Za upravljanje rutinskim zadatkom odgovorna je standardna procesorska konzola „Task Console“, koja se nalazi na ITS diskovima. Ova obrada je univerzalna vanjska standardna obrada za 1C. U pravilu nije uključen u konfiguraciju, već se kupuje zasebno.

Uz njegovu pomoć možete izvršiti sljedeće radnje:

Uključite i isključite zakazani zadatak;

Dodjeljivati ​​i mijenjati rasporede;

Odredite korisničko ime s kojim će se izvršavati rutinski zadatak;

Pogledajte dovršene zadatke (kada i s kojim rezultatom), kao i pogreške u zadacima;

Rutinski zadatak i kopije baza podataka

Kada koristite poslužitelj 1C, može se pojaviti sljedeći trenutak:

Za programiranje morate napraviti kopiju radne baze podataka;

Potreba za radom u kopijama baze podataka (testiranje);

Iz nekog razloga, planirani zadatak nije bio uključen u test bazu podataka.

Ako je jedna od ovih situacija nastala tijekom izvršavanja zadataka od strane rutinskog zadatka koji su povezani samo s njihovom bazom podataka, tada to nema negativne posljedice. Ali, često, rutinski zadatak može spremiti datoteke ili druge podatke, poslati elektronička pošta, izvršiti razmjenu. U tom slučaju može doći do zabune između rezultata "posla" i kopija. Kako biste spriječili da se to dogodi, morate onemogućiti "zadatke" u konzoli za upravljanje poslužiteljem.

Izvršeni i neizvršeni regulatorni poslovi

Prilikom izrade rutinskih zadataka važno je provjeriti može li se zadatak izvršiti kao rutinski zadatak. Važno je znati da poslužiteljski modul ne radi mnoge stvari koje su moguće na klijentu. Zatim, zadatak koji se bavi nečim što je izvan baze je važnu ulogu pritom se igra prava Windows korisnik, pod kojim se zadatak izvršava.

Posljednji faktor je posebno važan, jer ako se modul ne izvrši na poslužitelju, tada se zadatak u načelu ne može dovršiti. Za provjeru morate pokrenuti jedan zadatak i procijeniti rezultat.

Odavno je poznato da uspjeh postižu samo oni koji znaju čemu teže i što rade. Da biste ostvarili svoje ciljeve, morate uspješno izvršiti postavljene zadatke i znati navedene funkcije. Jesu li ti pojmovi identični ili među njima postoji neka razlika? Zašto je toliko važno znati točna vrijednost navedene kategorije i što prijeti njihovom zamjenom i zabunom?

Definicija

Zadatak- to je problem koji zahtijeva rješavanje raspoloživim sredstvima, nalog koji treba izvršiti navedeno razdoblje. Može poslužiti kao bilo koje pitanje s kojim se osoba suočava, bilo ono složeno znanstveni problem(lijek za rak) ili relativno manju poteškoću (izgradnja ceste). Izvođač je ograničen skupom sredstava kojima raspolaže.

Funkcija- aktivnost osobe ili mehanizma usmjerena na postizanje određeni rezultat, ulogu i namjenu unutarnjeg objekta odvojeni sustav. Svaka stvar ima određenu funkciju: alati se koriste za proizvodnju i obradu proizvoda, umjetnički predmeti se koriste za zadovoljenje estetskih potreba, računala se koriste za prikupljanje i pohranu informacija.

Usporedba

Koja je razlika između funkcije i zadatka? Dakle, i zadaci i funkcije dodjeljuju se osobi ili od strane vođe, menadžera ili neovisno. No, kategorije se međusobno razlikuju po konačnom rezultatu koji osoba mora postići. Funkcija se izvodi kontinuirano ili periodički (dostava vode u stambene objekte), a rezultat se može mjeriti samo u određenoj jedinici vremena. Problemi imaju potpuno različitu kvalitetu: svaki od njih ili ima određeno rješenje (jedno ili više), ili ne postoji (nerješiv problem).

Određenu funkciju može obavljati ili osoba (popravak glavnog grijanja, postavljanje pristupa internetu) ili mehanizam ili program (provjera integriteta cjevovoda, pročišćavanje vode). Zadatak uvijek stoji pred bićem obdarenim sviješću; potrebno ga je riješiti znanjem ili iskustvom. Neživi predmeti i mehanizmi izvode rutinski poslovi, samo obavlja svoje funkcije.

Zadatak se sastoji u sljedećem obvezni elementi, Kako kontroverzna situacija, problem i rješenje. Ako nije moguće odgovoriti na izazov, smatra se da nije rješiv. Funkcija je proces koji uključuje pravila, algoritam radnji i očekivani rezultat. Kršenje zadanog slijeda onemogućit će implementaciju. Cilj se može postići na razne načine, uključujući na nove načine.

Istovremeno, za provedbu zadataka i obavljanje funkcija potrebni su resursi (materijal, rad) koji mogu biti dovoljni, nedostatni ili pretjerani. Sloboda djelovanja izvođača ograničena je određenim pravilima čije kršenje povlači za sobom negativne posljedice. Zadaci i funkcije su potrebni za postizanje globalnih ciljeva postavljenih za osobu, radna skupina, društvo.

Web stranica Zaključci

  1. Proizlaziti. Zadatak ima određeno rješenje, dok funkcija nema i mora se kontinuirano izvršavati.
  2. Omjer. Koncept "zadatka" je vrlo širok: nekoliko funkcija može se koristiti za postizanje jednog cilja.
  3. Izvršitelj. Samo stvorenje obdareno inteligencijom može riješiti problem, izvršiti funkciju - bilo koji mehanizam.
  4. Hijerarhija. Funkcije služe za provedbu zadataka dodijeljenih pojedincima i društvu.
  5. Spoj. Zadatak uključuje zaplet (opis situacije), problem i rješenje. Funkcija – algoritam radnji i rezultata.

Mehanizam posla

Motor poslova dizajniran je za izvođenje bilo koje aplikacije ili funkcije prema rasporedu ili asinkrono.

Mehanizam zadataka rješava sljedeće probleme:

  • Sposobnost definiranja regulatornih procedura u fazi konfiguracije sustava;
  • Izvršenje navedene radnje po rasporedu;
  • Pozivanje određene procedure ili funkcije asinkrono, tj. bez čekanja na njegov završetak;
  • Praćenje napretka određenog zadatka i dobivanje statusa njegovog završetka (vrijednost koja pokazuje je li bio uspješan ili ne);
  • Dobivanje popisa tekućih zadataka;
  • Sposobnost čekanja da se završi jedan ili više zadataka;
  • Vođenje poslova (mogućnost otkazivanja, blokada izvršenja i sl.).

Mehanizam posla sastoji se od sljedećih komponenti:

  • Metapodaci rutinskih zadataka;
  • Redovni zadaci;
  • Pozadinski poslovi;
  • Planer zadataka.

Pozadinski poslovi dizajnirani su za asinkrono izvršavanje aplikacijskih zadataka. Pozadinski zadaci implementirani su pomoću ugrađenog jezika.

Planirani zadaci - dizajnirani za izvršavanje primijenjenih zadataka prema rasporedu. Rutinski zadaci pohranjuju se u informacijsku bazu i kreiraju na temelju metapodataka definiranih u konfiguraciji. Metapodaci regulatornog zadatka sadrže informacije kao što su naziv, metoda, upotreba itd.

Rutinski zadatak ima raspored koji određuje u koje vrijeme se mora izvršiti metoda povezana s rutinskim zadatkom. Raspored je u pravilu naveden u informacijskoj bazi, ali se također može navesti u fazi konfiguracije (na primjer, za unaprijed definirane rutinske zadatke).

Planer zadataka koristi se za planiranje izvršavanja rutinskih zadataka. Za svaki planirani zadatak, planer povremeno provjerava je li trenutni datum i vrijeme rasporeda rutinskih zadataka. Ako odgovara, planer dodjeljuje taj zadatak za izvršenje. Kako bi to učinio, za ovaj zakazani zadatak, planer stvara pozadinski zadatak, koji obavlja stvarnu obradu.

Pozadinski poslovi

Pozadinski poslovi prikladni su za korištenje za izvođenje složenih izračuna kada se rezultat izračuna može dobiti putem dugo vremena. Motor poslova ima sredstva za asinkrono izvođenje takvih izračuna.

Pozadinskom poslu pridružena je metoda koja se poziva kada se pozadinski posao izvodi. Metoda pozadinskog posla može biti bilo koja procedura ili funkcija neglobalnog zajedničkog modula koji se može pozvati na poslužitelju. Parametri pozadinskog posla mogu biti bilo koje vrijednosti koje je dopušteno proslijediti poslužitelju. Parametri pozadinskog posla moraju točno odgovarati parametrima procedure ili funkcije koju poziva. Ako je metoda pozadinskog posla funkcija, njezina povratna vrijednost se zanemaruje.

Pozadinski posao može imati ključ - bilo koju vrijednost aplikacije. Ključ uvodi ograničenje pokretanja pozadinskih poslova - samo jedan pozadinski posao s određenom vrijednošću ključa može se izvršiti po jedinici vremena i dati ime metoda pozadinskog posla (naziv metode sastoji se od naziva modula i naziva procedure ili funkcije). Ključ vam omogućuje grupiranje pozadinskih poslova koji imaju iste metode prema specifičnim karakteristikama aplikacije tako da se unutar jedne grupe ne izvršava više od jednog pozadinskog posla.

Pozadinski poslovi se stvaraju i upravljaju programski s bilo koje veze. Svaki korisnik može stvoriti pozadinski posao. Štoviše, izvršava se u ime korisnika koji ga je stvorio. Primanje zadataka, kao i čekanje na njihovo izvršenje, dopušteno je s bilo koje veze s korisnikom administrativna prava, ili korisnik koji je stvorio te pozadinske poslove.

Pozadinski posao je isključivo objekt sesije i ne pripada nijednoj korisničkoj sesiji. Za svaki zadatak kreira se posebna sesija sustava koja se izvodi u ime korisnika koji je uputio poziv. Pozadinski poslovi nemaju trajno stanje.

Pozadinski posao može proizvesti druge pozadinske poslove. U klijent-poslužitelj verzija to omogućuje usporedbu složenih izračuna u radničkim procesima klastera, što može značajno ubrzati cjelokupni proces izračuna. Paralelizacija se provodi stvaranjem nekoliko podređenih pozadinskih poslova i čekanjem da svaki od njih završi u glavnom pozadinskom poslu.

Pozadinski poslovi koji se uspješno ili neuspješno dovrše pohranjuju se 24 sata i zatim brišu. Ako broj dovršenih pozadinskih poslova premaši 1000, najstariji pozadinski zadaci se također brišu.

Planirani zadaci

Planirani zadaci se koriste kada je potrebno izvršiti određene periodične ili jednokratne radnje prema rasporedu.

Planirani zadaci pohranjuju se u informacijsku bazu i kreiraju se na temelju metapodataka rutinskog zadatka definiranog u konfiguraciji. Metapodaci određuju takve parametre rutinskog zadatka kao što su: pozvana metoda, naziv, ključ, mogućnost korištenja, znak predodređenosti itd. Prilikom izrade rutinskog zadatka možete dodatno odrediti raspored (može se navesti u metapodacima), vrijednosti ​​parametara metode, ime korisnika u čije ime se izvršavaju rutinski zadaci itd.

Stvaranje i upravljanje planiranim zadacima izvodi se programski s bilo koje veze i dopušteno je samo korisnicima s administratorskim pravima.

Bilješka. Kada radite u datotečnoj verziji, moguće je kreirati i uređivati ​​rutinske zadatke bez pokretanja planera zadataka.

S rutinskim zadatkom povezana je metoda koja se poziva kada se rutinski zadatak izvrši. Metoda rutinskog zadatka može biti bilo koja procedura ili funkcija neglobalnog zajedničkog modula koji se može pozvati na poslužitelju. Parametri rutinskog zadatka mogu biti bilo koje vrijednosti koje je dopušteno prenijeti na poslužitelj. Parametri rutinskog zadatka moraju točno odgovarati parametrima procedure ili funkcije koju poziva. Ako je metoda rutinskog zadatka funkcija, tada se njezina povratna vrijednost zanemaruje.

Rutinski zadatak može imati ključ - bilo koju vrijednost aplikacije. Ključ uvodi ograničenje pokretanja zakazanih zadataka, jer po jedinici vremena, među rutinskim zadacima povezanim s istim objektom metapodataka, može se izvršiti samo jedan rutinski zadatak s određenom vrijednošću ključa. Ključ vam omogućuje grupiranje rutinskih zadataka povezanih s istim objektom metapodataka prema specifičnim karakteristikama aplikacije tako da se unutar jedne grupe ne izvodi više od jednog rutinskog zadatka.

Tijekom konfiguracije možete definirati unaprijed definirane rutinske zadatke. Unaprijed definirani rutinski zadaci ne razlikuju se od uobičajenih rutinskih zadataka, osim što se ne mogu izričito stvoriti ili izbrisati. Ako je u metapodacima planiranog zadatka postavljeno znak unaprijed određenog rutinskog zadatka, tada će se prilikom ažuriranja konfiguracije u infobazi automatski kreirati unaprijed definirani rutinski zadatak. Ako se unaprijed određena zastavica poništi, tada će se prilikom ažuriranja konfiguracije u informacijskoj bazi unaprijed definirani rutinski zadatak automatski izbrisati. Početne vrijednosti svojstava unaprijed definiranog planiranog zadatka (na primjer, raspored) postavljene su u metapodacima. U budućnosti, kada je aplikacija pokrenuta, oni se mogu promijeniti. Unaprijed definirani rutinski zadaci nemaju parametre.

Raspored rutinskog zadatka određuje u koje vrijeme treba pokrenuti rutinski zadatak. Raspored omogućuje postavljanje: datuma i vremena početka i završetka zadatka, razdoblja izvršenja, dana u tjednu i mjesecima do kojih se planirani zadatak mora izvršiti itd. (pogledajte opis izgrađenog u jeziku).

Primjeri rasporeda rutinskih zadataka:

Svaki sat, samo jedan dan

Razdoblje ponavljanja dana = 0, Razdoblje ponavljanja dana = 3600

Svaki dan jednom dnevno

Razdoblje ponavljanja dana = 1, Razdoblje ponavljanja dana = 0

Jedan dan, jedan put

PeriodRepeatDays = 0

Svaki drugi dan jednom dnevno

PeriodRepeatDays = 2

Svaki sat od 01.00 do 07.00 svaki dan

PeriodRepeatDays = 1

Razdoblje ponavljanja tijekom dana = 3600

Vrijeme početka = 01.00

Vrijeme završetka = 07.00

Svake subote i nedjelje u 09.00

PeriodRepeatDays = 1

Dani u tjednu = 6, 7

Vrijeme početka = 09.00

Svaki dan tjedan dana, preskočite tjedan

PeriodRepeatDays = 1

Razdoblje Tjedni = 2

Jednom u 01.00

Vrijeme početka = 01.00

Zadnji dan svakog mjeseca u 9:00.

PeriodRepeatDays = 1

Dan u mjesecu = -1

Vrijeme početka = 09.00

Peti dan svakog mjeseca u 9:00

PeriodRepeatDays = 1

Dan u mjesecu = 5

Vrijeme početka = 09.00

Druge srijede u mjesecu u 9:00

PeriodRepeatDays = 1

DanTjedanUMjesecu = 2

Dani u tjednu = 3

Vrijeme početka = 09.00

Možete provjeriti izvodi li se zadatak za određeni datum (metoda RequiredExecution objekta ScheduleTasks). Planirani zadaci uvijek se izvode pod imenom određenog korisnika. Ako korisnik planiranog zadatka nije naveden, izvršenje se događa u ime zadanog korisnika koji ima administratorska prava.

Rutinski zadaci se izvršavaju pomoću pozadinskih zadataka. Kada planer utvrdi da treba pokrenuti planirani zadatak, automatski se stvara pozadinski posao na temelju tog planiranog zadatka, koji obavlja svu daljnju obradu. Ako se ovaj rutinski zadatak već izvodi, neće se ponovno pokrenuti, bez obzira na njegov raspored.

Planirani zadaci mogu se ponovno pokrenuti. To je osobito istinito kada se mora zajamčiti izvršenje metode rutinskog zadatka. Rutinski zadatak ponovno se pokreće kada se nenormalno prekine ili kada se radni proces (u verziji klijent-poslužitelj) ili klijentski proces (u verziji datoteke) na kojem je rutinski zadatak izvršen nenormalno prekine. U planiranom zadatku možete odrediti koliko puta se mora ponovno pokrenuti, kao i interval između ponovnih pokretanja. Prilikom implementacije metode rutinskog zadatka koji se može ponovno pokrenuti, morate uzeti u obzir da će nakon ponovnog pokretanja njegovo izvršenje započeti od početka, a ne nastaviti od trenutka abnormalnog prekida.

Važno je to zapamtiti Vrijeme završetka neće nužno dovršiti pozadinski posao u navedeno vrijeme. Neke izjave:

* Pozadinski posao može zanemariti svoje automatsko otkazivanje, ako se ne smrzne, ali nastavi raditi taj razlog da se ne mogu otkazati sve operacije platforme. Ako se ispuni ciklički kod ugrađeni jezik, tada se zadatak može otkazati, inače ne. Sve ovisi o tome što posao radi. * Vrijeme završetka - granica unutar koje zadatak može započeti, a ne završiti?*

Prisilni prekid

vraća li posao promjene napravljene na početak transakcije?

ovu funkciju ). Ako proces klijenta nije kreiran za obradu pozadinskih poslova, tada će se prilikom programskog pristupa mehanizmu poslova prikazati pogreška "Upravitelj poslova nije aktivan". Ne preporučuje se korištenje procesa klijenta koji obrađuje pozadinske poslove za druge funkcije. Nakon što proces obrade klijenta započne pozadinske poslove, drugi procesi klijenta mogu

U verziji klijent-poslužitelj za izvršavanje pozadinskih poslova koristi se planer zadataka koji se fizički nalazi u upravitelju klastera. Za sve pozadinske poslove u redu čekanja, planer dobiva najmanje opterećen radni proces i koristi ga za pokretanje odgovarajućeg pozadinskog posla. Radnički proces izvršava posao i obavještava planer o rezultatima izvršenja.

U verziji klijent-poslužitelj moguće je blokirati izvršavanje rutinskih zadataka. Izvršenje rutinskih zadataka blokirano je u sljedećim slučajevima:

  • Na informacijskoj bazi instalirano je eksplicitno blokiranje rutinskih zadataka. Zaključavanje se može postaviti preko konzole klastera;
  • Na infobazi postoji blok veze. Zaključavanje se može postaviti preko konzole klastera;
  • Metoda SetExclusiveMode() s parametrom True pozvana je iz ugrađenog jezika;
  • U nekim drugim slučajevima (na primjer, prilikom ažuriranja konfiguracije baze podataka).

Stvaranje metapodataka za rutinski zadatak

Prije nego što programski kreirate rutinski zadatak u informacijskoj bazi, morate za njega stvoriti objekt metapodataka.

Za stvaranje objekta metapodataka za rutinski zadatak u stablu konfiguracije u grani "Općenito" za granu "Rutinski zadaci", izvršite naredbu "Dodaj" i ispunite sljedeća svojstva rutinskog zadatka u paleti svojstava:

Naziv metode - označite naziv metode rutinskog zadatka.

Ključ - odredite proizvoljnu vrijednost niza koja će se koristiti kao ključ planiranog zadatka.

Raspored - označava raspored rutinskog zadatka. Za izradu rasporeda kliknite na poveznicu "Otvori" i u obrascu rasporeda koji se otvori postavite potrebne vrijednosti.

Na kartici "Općenito" naznačeni su datum početka i završetka zadatka i način ponavljanja.

Na kartici "Dnevno" prikazan je dnevni raspored zadatka.

Navedite raspored:

  • vrijeme početka i vrijeme završetka zadatka;
  • vrijeme dovršetka zadatka, nakon kojeg će biti prisiljeno prekinuti;
  • period ponavljanja zadatka;
  • trajanje pauze između ponavljanja;
  • trajanje izvršenja.

Dopušteno je navesti proizvoljnu kombinaciju uvjeta.

Na kartici “Tjedno” prikazan je tjedni raspored zadatka.

Odaberite potvrdne okvire za dane u tjednu u kojima će se zadatak izvršiti. Ako želite ponoviti zadatak, odredite interval ponavljanja u tjednima. Na primjer, zadatak se izvrši za 2 tjedna, vrijednost ponavljanja je 2.

Na kartici “Mjesečno” prikazan je mjesečni raspored zadatka.

Odaberite potvrdne okvire za mjesece u kojima će zadatak biti izvršen. Ako je potrebno, možete odrediti određeni dan (mjesec ili tjedan) izvršenja od početka mjeseca/tjedna ili kraja.

Korištenje - ako je postavljeno, zadatak će se izvršavati prema rasporedu.

Unaprijed definirano - ako je postavljeno, zadatak je unaprijed definiran zadatak.

Broj ponovnih pokušaja u slučaju nenormalnog prekida - označava broj ponovnih pokušaja u slučaju nenormalnog prekida.

Interval ponovnog pokušaja nakon abnormalnog prekida - navodi interval ponovnog pokušaja nakon abnormalnog prekida. Primjeri

Stvaranje pozadinskog posla “Ažuriranje indeksa pretraživanja cijelog teksta”:

BackgroundTasks.Run("UpdatingFullTextSearchIndex");

Stvaranje rutinskog zadatka “Oporavak sekvenci”:

Raspored = New ScheduleTask; Schedule.PeriodRepeatDays = 1; Schedule.RepeatPeriodDuringDay = 0;

Zadatak = RoutineTasks.CreateRoutineTask("Vraćanje sekvenci"); Posao.Raspored = Raspored; Task.Write();

Konzola poslova

Obrada s ITS-om, upravlja rutinskim zadacima:

Rad s rutinskim zadacima

Objekti posla

Objekti posla nisu referencirani, ali su pohranjeni u bazi podataka u nekoj posebnoj pohrani.

Ako je u metapodacima omogućena zastavica "Unaprijed", tada se takav objekt automatski kreira kada se pokrene 1C:Enterprise i uvijek postoji u točno jednoj instanci. Takav se objekt ne može izbrisati.

Ako zastavica "Unaprijed" nije postavljena, tada se objekti takvog zadatka stvaraju i brišu programski, navodeći raspored i parametre.

Dobivanje popisa zadataka

Popis zadataka može se dobiti pomoću metode Nabavite RoutineTasks globalni menadžer poslova Rutinski zadaci

ScheduledJobsManager

Dobijte planirane poslove (GetScheduledJobs)

Sintaksa:

Nabavite RutineTasks(<Отбор>)

Parametri:

<Отбор>(neobavezno)

Tip: Struktura. Odabir definiranja strukture. Vrijednosti strukture mogu biti: UniqueIdentifier, Key, Metadata, Predefined, Usage, Name. Ako odabir nije naveden, dobivaju se svi rutinski zadaci.

Ako filtrirate prema metapodacima, tada kao vrijednost metapodataka možete navesti objekt metapodataka rutinskog zadatka ili njegov naziv.

Povratna vrijednost:

Vrsta: niz.

Opis:

Prima niz rutinskih zadataka od dati odabir. Primanje planiranih zadataka moguće je samo za administratora.

Dostupnost:

Rutina = RoutineTasks.GetRoutineTasks(Selekcija);

Za svaku rutinu ciklusa rutine NewLine = List of RoutineTasks.Add();

NewRow.Metadata = Regular.Metadata.View();<>NewLine.Name = Regular.Name;

NewString.Key = Regular.Key;

NewLine.Schedule = Raspored.Raspored;

NewLine.User = Regular.UserName;

NewString.Predefined = Regular.Predefined;

NewString.Use = Regular.Use;

NewString.Identifier = Regular.UniqueIdentifier;

LastTask = Regular.LastTask;

Ako je LastTask

Nedefinirano Then NewRow.Running = LastTask.Start; NewRow.State = LastTask.State;

endIf; EndCycle;

Stvaranje

Opis:

Kreirano metodom Create RoutineTask za upravitelja rutinskih zadataka:

Dostupnost:

RoutineTask = RoutineTasks.CreateRoutineTask(MetadataSelection);

RegularTask.Name = Ime; RegularTask.Key = Ključ; RegularTask.Use = Upotreba; RoutineTask.UserName = UsersSelection; RoutineTask.Number ofRepetitionsAtEmergencyCompletion =Broj ponavljanjanakonEmergencyCompletion; ScheduledTask.RepeatIntervalAtEmergencyCompletion = RetryIntervalAtEmergencyCompletion; ScheduleTask.Schedule = Raspored; RegularTask.Record();

TaskObject = RoutineTasks.CreateRoutineTask("ExchangeExchange");

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

Objekt zadatka ima polje "Parametri" u kojem su navedeni parametri metode:

ScheduledJob

Mogućnosti

  • (Parametri)

Upotreba:

  • Čitaj i piši.

Zadatak = ScheduledTasks.FindByUniqueIdentifier(UID);

Periodično čišćenje registara (na primjer, registar informacija "Verzije objekta" u SCP konfiguraciji), izvođenje izračuna prema rasporedu, dovršavanje dokumenata u određeno vrijeme- nije daleko puni popis akcije koje se mogu provesti pomoću 1C regulatornih zadataka.

Napravite zadatak

Nemamo za cilj opisati kod izvršnog modula; opći principi funkcioniranje i stvaranje regulatorne zadaće.

Rutinski zadatak je nezamjenjiv:

  1. Ako zadatak pri ruci uključuje, kao jedan od uvjeta, potrebu periodičkog izvršavanja određenog algoritma;
  2. Ako se kod mora izvršiti bez obzira na radnje operatera i korisnika baze podataka;
  3. Ako pokretanje izvršne procedure ne ovisi o vanjskim događajima koji se događaju s objektima infobaze.

Da biste ga stvorili, morate otići u informacijsku bazu u načinu rada "Konfigurator". Zatim pronađite granu "Rutinski zadaci" u konfiguracijskom stablu, nalaze se na kartici "Općenito" i kliknite gumb "Dodaj" (slika 1)

Pogledajmo pobliže prozor njegovih svojstava (slika 2):
sl.2

  1. Naziv, sinonim i komentar - pravila i principi popunjavanja ovih polja slični su za sve konfiguracijske objekte i nema potrebe ponovno ih opisivati;
  2. Naziv metode – procedura općeg modula koja što točnije opisuje traženi algoritam (klikom na gumb za odabir otvaraju se dostupne procedure čiji se prikaz sastoji od naziva općeg modula i naziva procedure u različitim stupcima) stola);
  3. Ključ ne određuje toliko jedinstvenost regulacijske zadaće, koliko jedinstvenost pozadinski proces, pokrenut na temelju posla, ima ograničenje duljine;
  4. Raspored – posvetit ćemo opis ovog elementa zaseban paragraf naš članak;
  5. Upotreba – označavanje ovog okvira određuje aktivnost zadatka, TRUE znači da će zadatak biti pokrenut i izvršen prema rasporedu;
  6. Predefinirano – ako element ima ovaj potvrdni okvir, ti se zadaci ne mogu izbrisati automatski kada se konfiguracija spremi u bazu podataka;
  7. Broj ponavljanja – ako se pojavio problem tijekom izvođenja iznimna situacija, ponovno će se pokrenuti, kako bi se izbjegle beskrajne petlje, program ograničava broj ponovnih pokretanja;
  8. Interval ponovnog pokušaja – vrijeme u sekundama između ponovnog pokretanja nenormalno dovršenih zadataka.

Pogledajmo pobliže raspored.

Raspored rutinskih zadataka

sl.3

Prije svega, trebali biste obratiti pozornost na donji dio prozora, to je mjesto gdje se detaljne informacije s raščlambom koliko često i u koje vrijeme će se zadatak izvršavati.

Kartica "Općenito":

  • Datum početka zadatka;
  • Datum završetka obrade;
  • Učestalost ponavljanja zadatka.

Ako na ovoj kartici nisu navedeni datumi, tada za zadatak neće biti postavljen rok.

Kartica "Dnevno" (Sl. 4)
sl.4

Osim polja za unos vremena početka i završetka zadatka te učestalosti njegovog pokretanja tijekom dana, sadrži tablični dio za detaljne postavke učestalost izvršenja.

Kartice "Dnevno" i "Tjedno" sadrže informacije za odgovarajuća razdoblja.

Značajke rada

U klijent-poslužiteljskoj verziji rada, izvršavanje rutinskih zadataka određeno je poslužiteljskim alatima. Iz administratorske konzole možete omogućiti ili onemogućiti mogućnost pokretanja zadataka za određenu bazu podataka.

Situacija je mnogo složenija s verzijom rada datoteke. Prije izdanja određene platforme, pozadinske i rutinske procedure izvodile su se samo ako, kada se sustav pokrene, definira korisnik Aktivirana je metoda ExecuteTaskProcessing(). U ovom slučaju, algoritmi su se povremeno pokretali sve dok je korisnik koji je pokrenuo metodu bio u programu.

Trenutno je rad pozadinskih poslova u datotečnom načinu rada ravnomjerno raspoređen između korisnika ovlaštenih u bazi podataka, ako je program pokrenut s dodatni parametar AllowExecuteSheduledJobs, ovaj proces će biti odgovoran za rutinsko održavanje.

Potpuno onemogućite pozadinski i rutinski rad u bazi podataka koja se izvodi način datoteke Možete izbrisati ili preimenovati datoteku DoNotCopy.txt u mapi s bazom podataka. Prisutnost ove datoteke govori platformi da se posao obavlja u izvorniku, a ne u kopiji baze podataka.

Osim toga, u standardnim isporukama 1C postalo je moguće upravljati planiranim radom izravno iz programa, bez odlaska u "Konfigurator". U konfiguraciji “ZUP” verzija 3.1.3.223 obrazac za upravljanje možete otvoriti iz izbornika Administracija->Održavanje->Rutinski poslovi->Rutinski i pozadinski zadaci (slika 5.)
sl.5

Forma koja se otvara ima intuitivan izgled jasno sučelje i omogućuje:


Također možete pokrenuti zadatak izravno iz obrasca.