Rutinski i pozadinski zadaci. Pozadinski poslovi: karakteristike, mogućnosti, postavke 1s 8 3 onemogući pozadinske poslove

Nakon prelaska sa 1C: Accounting 2.0 na izdanje 3.0, brzina nove verzije postaje sporija. Razmotrit ćemo ovaj problem u ovom članku i dati upute korak po korak za radnje u programu 1C: Računovodstvo 3.0, što će pomoći da njegov rad bude brži.

Po pravilu, razlog za spor rad programa leži u činjenici da se u sistemu izvršavaju rutinski i pozadinski poslovi. U serverskoj verziji konfiguracije verzije 3.0, oni vam omogućavaju automatizaciju mnogih operacija za održavanje programa tokom neradnog vremena. Ali u fajl modu rada, pozadinski poslovi se pokreću dok korisnik radi, pa se sistem usporava.

Da biste ubrzali rad u režimu datoteke 1C: Accounting 3.0, preporučuje se da onemogućite pozadinske poslove. Da bismo to učinili, moramo pogledati odjeljak Administracija. U ovom odjeljku na navigacijskoj ploči nalazimo Podrška i servis.

Otvorite odjeljak Regulatorne operacije a zatim kliknite na link Rutinski i pozadinski zadaci.

Pred vama će se pojaviti lista u kojoj su označeni aktivni (omogućeni) zadaci.

Da biste onemogućili zadatak, morate ga otvoriti i poništiti opciju "Omogućeno", zatim pritisnite dugme Sačuvaj i zatvori.

Kada radite u verziji datoteke programa, preporučujemo da onemogućite sve rutinske zadatke prisutne na listi. Drugi mogući razlog za malu brzinu sistema je omogućen mehanizam Pretraživanje cijelog teksta. Budući da u programu 1C: Accounting 3.0 ovaj mehanizam nije obavezan, može biti onemogućiti. Da biste to učinili, morate otići u odjeljak Regulatorne operacije opozovite izbor Pretraživanje podataka u punom tekstu.

Korisnici se često žale da je "1C 8.3 spor": obrasci dokumenata se otvaraju sporo, dokumentima je potrebno mnogo vremena za obradu, program se pokreće, izvještajima je potrebno mnogo vremena za generiranje itd.

Štaviše, takvi se "kvarovi" mogu pojaviti u različitim programima:

Razlozi mogu biti različiti. Ovo nisu vraćeni dokumenti, slab računar ili server, 1C server je pogrešno konfigurisan.

U ovom članku želim pogledati jedan od najjednostavnijih i najčešćih razloga za spor program - . Ovo uputstvo će biti relevantno za korisnike baza podataka za 1-2 korisnika, gde nema konkurencije za resurse.

Ukoliko ste zainteresovani za ozbiljniju optimizaciju klijent-server opcija za rad sistema, posetite sekciju sajta.

Gdje su zakazani zadaci u 1C 8.3?

Prije nego što sam uspio učitati program, mnogi pozadinski zadaci su završeni u 1C. Možete ih pogledati tako što ćete otići u meni “Administracija”, zatim “Podrška i održavanje”:

Nabavite 267 video lekcija na 1C besplatno:

Ovako izgleda prozor sa završenim zadacima:

A evo i kompletne liste svih planiranih zadataka koji se pokreću:

Među tim zadacima možete vidjeti kao što su „“, učitavanje raznih klasifikatora, provjera relevantnosti verzije programa i tako dalje. Na primjer, nemam koristi od skoro svih ovih zadataka. Ne vodim evidenciju o valutama, sam kontroliram verzije i po potrebi učitavam klasifikatore.

Shodno tome, u mom je (i u većini slučajeva u vašem) interesu da onemogućim nepotrebne zadatke.

Onemogućavanje rutinskih i pozadinskih zadataka u 1C 8.3

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

2012-11-13
53989

U upravljanju dokumentima postoje zadaci koji zahtijevaju periodično izvršavanje - na primjer, dvadesetog ili dnevno. Po pravilu, kompanije kreiraju određena pravila posebno za tu svrhu, koja ukazuju kada i kako treba izvršiti potreban zadatak i ko treba da kontroliše proces. Takvi poslovi se obavljaju prema propisima i nazivaju se regulisani.

Često se u IT-u poštuju propisi o praćenju. Ova metoda je vrlo poznata administratorima, jer u tu svrhu postoje posebni programi koji se koriste za periodičnu provjeru funkcionalnosti mrežne infrastrukture i servera. Obavještavaju administratora o otkrivenim problemima putem SMS-a ili e-pošte.

Sličan sistem radi i za webmastere, a dostupnost stranice se provjerava u roku od 24 sata. Koristeći mehanizam „Rutinski zadaci“ u 1C, izvode se zadaci nadzora, kao i periodični zadaci koji se izvode prema rasporedu u automatskom načinu rada u 1C. Pogledajmo pobliže ovu temu.

Planirani zadaci 1C

1C objekat, nazvan "Rutinski zadaci", omogućava obradu informacija ne nakon što se pojavi problem, već prema rasporedu. U konfiguratoru, rutinski zadatak je način postavljanja postavki i 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 početi izvršavati rutinski zadatak u njoj.

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

Korištenje klijent-server verzije 1C omogućava automatsko izvršavanje zadataka na serveru. U zakazano vrijeme pokreće se pozadinski posao koji obavlja potrebne radnje. Za paralelno računanje na serveru, pozadinski posao se može kreirati iz teksta programa koristeći 1C jezik, bez korištenja zakazanog 1C posla. Radnja planiranog zadatka može se privremeno onemogućiti pomoću konzole za upravljanje 1C serverom.

Dodavanje planiranog zadatka

Rutinski zadaci se nalaze u - Konfigurator - Općenito - Rutinski zadaci. Dodajte novi "zadatak" i navedite ime. Zatim morate otići na svojstva "Zadaci". I odaberite Naziv metode. Ovdje morate navesti funkciju rukovatelja, baš kao što se to događa u pretplati na događaj. Ova funkcija će se nalaziti u opštem modulu i označena sa serverom „ptica“ u svojstvima. To znači da se potrebni modul mora dodati unaprijed.

Naziv zadatka u svojstvima zakazanog zadatka omogućava vam da definirate njegovo ime, koje će se zatim pojaviti u alatima za upravljanje zadacima. Funkcija Svojstva rutinskog zadatka je ključ koji vam omogućava grupiranje nekoliko različitih rutinskih zadataka. U ovom slučaju, istovremeno se može pokrenuti samo jedan zadatak s istom vrijednošću ključa. Ovdje vrijednost može biti proizvoljna, ali se mora popuniti, jer praznu vrijednost sistem ne uzima u obzir.

U izdanju Računovodstva 2.0, koje je standardna konfiguracija, rutinski zadaci kao što su: „Ponovni izračun ukupnih iznosa“ i „Ažuriranje konfiguracije“ su unaprijed definirani, ali kao što su, na primjer, „Odložena kretanja“ i „Razmjena podataka“ nisu unaprijed definirani.

Pokušajte ponovo sa nenormalnim prekidom - ponovo pokreće trenutni posao. Dizajniran za izvođenje lansiranja koje nije bilo uspješno prvi put. Ovdje je naznačeno koliko puta možete ponovo pokrenuti i nakon kojeg vremena je prošlo nakon nenormalnog prekida.

Alati za praćenje i upravljanje rutinskim zadacima 1C

Standardna obrada “Task Console”, koja se može naći na ITS diskovima, odgovorna je za upravljanje rutinskim zadatkom. Ova obrada je univerzalna eksterna standardna obrada 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;

Dodijelite i promijenite rasporede;

Odredite korisničko ime sa kojim će se rutinski zadatak izvršiti;

Pogledajte obavljene zadatke (kada i sa kojim rezultatom), kao i greške u zadatku;

Rutinski zadatak i kopije baza podataka

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

Da biste programirali, morate napraviti kopiju radne baze podataka;

Potreba za radom u kopijama baze podataka (testiranje);

Iz nekog razloga, zakazani zadatak nije bio uključen u testnu bazu podataka.

Ako je jedna od ovih situacija nastala tokom izvršavanja zadataka od strane rutinskog zadatka koji su povezani samo s njihovom bazom podataka, onda to nema negativnih posljedica. Ali, često rutinski zadatak može sačuvati datoteke ili druge podatke, poslati e-poštu i obaviti razmjenu. U ovom slučaju može nastati zabuna između rezultata „posla“ i kopija. Da biste spriječili da se to dogodi, morate onemogućiti "zadatke" u konzoli za upravljanje serverom.

Završeni i neizvršeni regulatorni zadaci

Prilikom kreiranja rutinskih zadataka važno je provjeriti može li se zadatak izvršiti kao rutinski zadatak. Važno je znati da serverski modul ne radi mnogo stvari koje su moguće na klijentu. Nadalje, zadatak koji se bavi nečim što je izvan baze podataka - važnu ulogu u tome igraju prava korisnika Windowsa pod kojima se zadatak izvršava.

Posljednji faktor je posebno važan, jer ako se modul ne izvršava na serveru, zadatak se u principu ne može izvršiti. Da biste provjerili, morate pokrenuti jedan zadatak i procijeniti rezultat.

Problem nije nov i o njemu se s vremena na vrijeme raspravlja na raznim 1C forumima. Najjednostavnije i najpopularnije rješenje je ponovno pokretanje 1C servera. Nažalost, ova opcija nije uvijek prihvatljiva ili vrlo nepoželjna. U tom slučaju postoje delikatnija rješenja.

Evo jedna od ovih metoda u obliku kratkih uputa korak po korak:

1. Pomoću administrativne konzole 1C servera tražimo problematične fnovi posao u listi povezivanja (na primjer, po vremenu početka njegovog rada, u poređenju sa vremenom početka reguliranog posla u konzoli poslova). Mi definišemoradni proces u kojem se nalazi obješena veza.

2. Otvorite svojstva ovog procesa i označite ga kao neiskorištenog (ako se koristi samo jedan proces, tada prvo morate kreirati novi radni proces tako da se sve aktivne veze ponovo povežu na njega). Pamtimo PID broj ovog procesa.


3. Čekamo dok se sve trenutne veze ne premjeste iz onemogućenog procesa u jedan od korištenih. Na kraju, u našem procesu trebaju ostati samo problematične veze, koje želimo ukloniti.

4. Na računaru sa 1C serverom, pomoću menadžera zadataka, potražite odgovarajući proces rphost.exe koristeći PID onemogućenog radnog procesa i izbrišite ga.

5 . Za svaki slučaj, možete izbrisati 1C radni tok koji smo onemogućili pomoću administratora. konzolu i, ako je potrebno, kreirajte novu.

6. Spreman. Možete se prijaviti na konzolu poslova i provjeriti funkcionalnost zakazanog posla.

Prilikom rada u 1C postoji mnogo rutinskih operacija koje se moraju pokrenuti ili formirati prema rasporedu za obavljanje jedne ili druge radnje, na primjer: objavljivanje dokumenata ili učitavanje podataka u 1C s web stranice.

Nedavno sam objavio članak: Vrijeme je da se ovo automatizira:

Rutinski i pozadinski zadaci

Mehanizam poslova je dizajniran da izvodi bilo koju aplikaciju ili funkcionalnost prema rasporedu ili asinhrono.

Mehanizam zadataka rješava sljedeće probleme:

  • Sposobnost definisanja regulatornih procedura u fazi konfiguracije sistema;
  • Izvođenje navedenih radnji prema planu;
  • Pozivanje date procedure ili funkcije asinhrono, tj. bez čekanja njegovog završetka;
  • Praćenje napretka određenog zadatka i dobijanje statusa njegovog završetka (vrijednost koja pokazuje da li je bio uspješan ili ne);
  • Dobivanje liste tekućih zadataka;
  • Sposobnost čekanja da se završi jedan ili više zadataka;
  • Upravljanje poslom (mogućnost otkazivanja, blokada izvršenja, itd.).

Mehanizam posla sastoji se od sljedećih komponenti:

  • Metapodaci rutinskih zadataka;
  • Redovni zadaci;
  • Pozadinski poslovi;
  • Task Scheduler.

Pozadinski poslovi & dizajnirani su za asinhrono izvršavanje zadataka aplikacije. Pozadinski zadaci se implementiraju pomoću ugrađenog jezika.

Planirani zadaci & su dizajnirani da izvršavaju zadatke aplikacije prema rasporedu. Rutinski zadaci su pohranjeni u informacijskoj bazi i kreirani su na osnovu 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 mora biti izvršena metoda povezana s rutinskim zadatkom. Raspored je, po pravilu, određen u bazi podataka, ali se može odrediti i u fazi konfiguracije (na primjer, za unaprijed definirane rutinske zadatke).

Planer zadataka se koristi za planiranje izvršavanja rutinskih zadataka. Za svaki zakazani posao, planer periodično provjerava da li se trenutni datum i vrijeme podudaraju s rasporedom zakazanog posla. Ako se podudara, planer dodjeljuje taj zadatak izvršenju. Da bi to uradio, za ovaj zakazani zadatak, planer kreira pozadinski zadatak, koji obavlja stvarnu obradu.

Mislim da je dovoljno sa opisom - prijeđimo na implementaciju:

Kreiranje rutinskog zadatka

Naziv metode– putanja do procedure koja će se izvršiti u pozadinskom poslu prema datom rasporedu. Procedura mora biti u zajedničkom modulu. Preporučuje se da se ne koriste standardni zajednički moduli, već da se kreiraju sopstveni. Ne zaboravite da pozadinski poslovi rade na serveru!

Upotreba– znak korištenja rutinskog zadatka.

Unaprijed određeno– označava da li je rutinski zadatak unaprijed određen.

Ako želite da rutinski zadatak radi odmah nakon postavljanja u bazu podataka, navedite atribut Unaprijed određeno. U suprotnom, morat ćete koristiti obradu "Job Console" ili pokrenuti zadatak da se programski pokrene.

Broj ponovnih pokušaja kada se zadatak nenormalno završi– koliko je puta pozadinski posao ponovo pokrenut ako je izvršen s greškom.

Interval ponovnog pokušaja kada se posao završi nenormalno– koliko često će se pozadinski posao ponovo pokretati ako je dovršen s greškom.

Postavljanje rasporeda

Raspored izvršavanje zadatka:

Svaki sat, samo jedan danPeriod dana ponavljanja = 0, period ponavljanja dana = 3600
Svaki dan jednom dnevnoPeriod dana ponavljanja = 1, period ponavljanja dana = 0
Jednog dana, jednomPeriodRepeatDays = 0
Svaki drugi dan jednom dnevnoPeriodRepeatDays = 2
Svaki sat od 01.00 do 07.00 svaki danPeriodRepeatDays = 1RepeatPeriodDuringDay = 3600StartTime = 01.00

Vrijeme završetka = 07.00

Svake subote i nedjelje u 09.00 satiPeriod ponavljanja = 1 dani u nedelji = 6, 7 vreme početka = 09,00
Svaki dan jednu sedmicu, preskočite sedmicuPeriodRepeatDays = 1PeriodWeeks = 2
U 01.00 jednomVrijeme početka = 01.00
Zadnji dan svakog mjeseca u 9:00.PeriodRepeatDays = 1DayInMonth = -1StartTime = 09.00
Peti dan svakog mjeseca u 9:00PeriodRepeatDays = 1DayInMonth = 5StartTime = 09.00
Svake druge srijede u mjesecu u 9:00PeriodRepeatDays = 1DayWeekMonth = 2DaysWeek = 3

Vrijeme početka = 09.00

Karakteristike izvršavanja pozadinskih poslova u fajl i klijent-server varijantama

Mehanizmi za izvršavanje pozadinskih poslova u verzijama datoteke i klijent-server su različiti.

U verziji fajla morate kreirati namjenski klijentski proces koji će obavljati pozadinske poslove. Da bi to učinio, klijentski proces mora periodično pozvati funkciju globalnog konteksta ExecuteJobProcessing. Samo jedan klijentski proces po bazi podataka bi trebao obraditi pozadinske poslove (i, shodno tome, pozvati ovu funkciju). Ako klijentski proces nije kreiran za obradu pozadinskih poslova, tada će se prilikom programskog pristupa mehanizmu poslova prikazati greška “Upravitelj poslova nije aktivan”. Ne preporučuje se korištenje klijentskog procesa koji obrađuje pozadinske poslove za druge funkcije.

Jednom kada klijentski proces obrađuje pozadinske poslove, drugi klijentski procesi mogu programski pristupiti mašini za pozadinske poslove, tj. može pokrenuti i upravljati poslovima u pozadini.

U klijent-server verziji 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-server moguće je blokirati izvršavanje rutinskih zadataka. Izvršavanje rutinskih zadataka je blokirano u sljedećim slučajevima:

  • Na informacijskoj bazi je instalirano 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() sa parametrom True pozvana je iz ugrađenog jezika;
  • U nekim drugim slučajevima (na primjer, prilikom ažuriranja konfiguracije baze podataka).

Obrada pokretanja i pregled planiranih zadataka možete preuzeti ovdje.