Sarcini de rutină și de fundal. Lucrări de fundal: funcții, capabilități, setări 1s 8 3 dezactivați lucrări de fundal

După trecerea de la 1C: Accounting 2.0 la ediția 3.0, viteza noii versiuni devine mai mică. Ne vom uita la această problemă în acest articol și vom oferi instrucțiuni pas cu pas pentru acțiunile din programul 1C: Contabilitate 3.0, care va ajuta să funcționeze mai rapid.

De regulă, motivul funcționării lente a programului constă în faptul că în sistem rulează joburi de rutină și de fundal. În versiunea de server a configurației versiunii 3.0, acestea vă permit să automatizați multe operațiuni de întreținere a programului în timpul orelor de lucru. Dar în modul de funcționare fișier, lucrările de fundal sunt lansate în timp ce utilizatorul lucrează și, prin urmare, sistemul încetinește.

Pentru a accelera munca în modul fișier 1C: Accounting 3.0, se recomandă dezactivarea lucrărilor de fundal. Pentru a face acest lucru, trebuie să ne referim la secțiune Administrare. În această secțiune din panoul de navigare găsim Suport și service.

Deschideți secțiunea Operațiuni de reglementareși apoi faceți clic pe link Sarcini de rutină și de fundal.

În fața dvs. va apărea o listă, în care sunt bifate sarcinile active (activate).

Pentru a dezactiva o sarcină, trebuie să o deschideți și să debifați opțiunea "Activat", apoi apăsați butonul Salveaza si inchide.

Când lucrați în versiunea de fișier a programului, vă recomandăm să dezactivați toate sarcinile de rutină prezente în listă. Un alt motiv posibil pentru viteza scăzută a sistemului este mecanismul activat Căutare text integral. Deoarece în programul 1C: Contabilitate 3.0 acest mecanism este opțional, poate fi dezactivați. Pentru a face acest lucru, trebuie să accesați secțiunea Operațiuni de reglementare debifați Căutare de date full-text.

Utilizatorii se plâng adesea că „1C 8.3 este lent”: formularele documentelor se deschid lent, procesarea documentelor durează mult, programul pornește, generarea rapoartelor durează mult și așa mai departe.

În plus, astfel de „eșecuri” pot apărea în diferite programe:

Motivele pot fi diferite. Acesta nu este documente restaurate, un computer sau un server slab, serverul 1C este configurat incorect.

În acest articol vreau să mă uit la unul dintre cele mai simple și mai comune motive pentru un program lent - . Această instrucțiune va fi relevantă pentru utilizatorii bazelor de date de fișiere pentru 1-2 utilizatori, unde nu există concurență pentru resurse.

Dacă sunteți interesat de o optimizare mai serioasă a opțiunilor client-server pentru funcționarea sistemului, vizitați secțiunea site-ului.

Unde sunt sarcinile programate în 1C 8.3?

Înainte să am timp să încărc programul, multe sarcini de fundal au fost finalizate în 1C. Le puteți vizualiza accesând meniul „Administrare”, apoi „Suport și întreținere”:

Obțineți 267 de lecții video pe 1C gratuit:

Iată cum arată fereastra cu sarcinile finalizate:

Și iată o listă completă a tuturor sarcinilor de rutină care sunt lansate:

Printre aceste sarcini se numără „“, încărcarea diferitelor clasificatoare, verificarea relevanței versiunii programului și așa mai departe. De exemplu, nu am nici un folos pentru aproape toate aceste sarcini. Nu păstrez înregistrări valutare, controlez singur versiunile și încarc clasificatoare după cum este necesar.

Prin urmare, este în interesul meu (și în majoritatea cazurilor în interesul dumneavoastră) să dezactivați sarcinile inutile.

Dezactivarea sarcinilor de rutină și de fundal în 1C 8.3

Platforme: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Configurații: Toate configurațiile

2012-11-13
53989

În managementul documentelor, există sarcini care necesită execuție periodică - de exemplu, în a douăzecea, sau zilnic. De regulă, companiile creează anumite reguli special în acest scop, care indică când și cum trebuie îndeplinită sarcina necesară și cine ar trebui să controleze procesul. Astfel de sarcini sunt îndeplinite conform reglementărilor și se numesc reglementate.

Destul de des, reglementările de monitorizare sunt respectate în IT. Această metodă este foarte familiară administratorilor, deoarece în acest scop există programe speciale utilizate pentru a verifica periodic funcționalitatea infrastructurii de rețea și a serverelor. Aceștia anunță administratorul despre problemele detectate prin SMS sau e-mail.

Un sistem similar funcționează pentru webmasteri, iar disponibilitatea site-ului este verificată în 24 de ore. Folosind mecanismul „Sarcini de rutină” din 1C, sunt efectuate sarcini de monitorizare, precum și sarcini periodice care sunt efectuate conform unui program în modul automat în 1C. Să aruncăm o privire mai atentă la acest subiect.

Sarcini programate 1C

Obiectul 1C, numit „sarcini de rutină”, face posibilă procesarea informațiilor nu după ce apare o problemă, ci conform unui program. În configurator, o sarcină de rutină este o modalitate de a seta setări și de a stabili un program. În plus, este posibilă modificarea ulterioară a programului în modul 1C Enterprise.

Când utilizați o bază de date de fișiere, lucrările nu sunt executate automat. Pentru a începe procesul, trebuie să începeți o sesiune 1C în modul 1C Enterprise și să începeți să executați o sarcină de rutină în ea.

Toate configurațiile standard au o setare de utilizator care vă permite să specificați că atunci când rulează 1C, sarcinile de rutină vor fi efectuate automat.

Utilizarea versiunii client-server a 1C face posibilă efectuarea automată a sarcinilor pe server. La ora programată, se lansează un job de fundal, care efectuează acțiunile necesare. Pentru calculul paralel pe server, un job de fundal poate fi creat din textul programului folosind limbajul 1C, fără a utiliza un job 1C programat. Acțiunea unei sarcini programate poate fi dezactivată temporar utilizând consola de gestionare a serverului 1C.

Adăugarea unei sarcini programate

Sarcinile de rutină se află în - Configurator - General - Sarcini de rutină. Adăugați o nouă „sarcină” și furnizați un nume. Apoi, trebuie să mergeți la proprietățile „Sarcini”. Și selectați Numele metodei. Aici, trebuie să specificați o funcție de gestionare, așa cum se întâmplă într-un abonament de eveniment. Această funcție va fi localizată în modulul general și marcată cu un Server „pasăre” în proprietăți. Aceasta înseamnă că modulul necesar trebuie adăugat în prealabil.

Numele sarcinii din Proprietățile unei sarcini programate vă permite să definiți numele acesteia, care va apărea apoi în instrumentele de gestionare a sarcinilor. Funcția Proprietăți activități de rutină este o cheie care vă permite să grupați mai multe sarcini de rutină diferite. În acest caz, o singură activitate cu aceeași valoare a cheii poate fi lansată la un moment dat. Aici, valoarea poate fi arbitrară, dar trebuie completată, deoarece o valoare goală nu este luată în considerare de către sistem.

În ediția de contabilitate 2.0, care este o configurație standard, sarcinile de rutină precum: „Recalcularea totalurilor” și „Actualizarea configurației” sunt predefinite, dar precum, de exemplu, „Mișcări amânate” și „Schimb de date” nu sunt predefinite.

Reîncercați la terminarea anormală - repornește lucrarea curentă. Conceput pentru a realiza o lansare care nu a avut succes prima dată. Aici este indicat de câte ori puteți reporni și după ce timp a trecut după o întrerupere anormală.

Instrumente de monitorizare și management pentru sarcinile de rutină 1C

Procesarea standard „Consola de sarcini”, care poate fi găsită pe discurile ITS, este responsabilă pentru gestionarea unei sarcini de rutină. Această prelucrare este un standard extern universal de prelucrare 1C. De regulă, nu este inclus în configurație, dar este achiziționat separat.

Cu ajutorul acestuia puteți efectua următoarele acțiuni:

Porniți și dezactivați o sarcină programată;

Atribuiți și modificați orarele;

Desemnați numele de utilizator cu care va fi efectuată sarcina de rutină;

Vedeți sarcinile finalizate (când și cu ce rezultat), precum și erorile de sarcină;

Sarcini de rutină și copii ale bazelor de date

Când utilizați serverul 1C, poate apărea următorul moment:

Pentru a programa, trebuie să faceți o copie a bazei de date de lucru;

Necesitatea de a lucra în copii ale bazei de date (testare);

Din anumite motive, sarcina programată nu a fost inclusă în baza de date de testare.

Dacă una dintre aceste situații a apărut în timpul executării sarcinilor de către o sarcină de rutină care sunt asociate numai cu baza lor de date, atunci aceasta nu are consecințe negative. Dar, adesea, o sarcină de rutină poate salva fișiere sau alte date, poate trimite e-mailuri și poate efectua schimburi. În acest caz, poate apărea confuzie între rezultatele „lucrării” și copii. Pentru a preveni acest lucru, trebuie să dezactivați „sarcinile” din consola de gestionare a serverului.

Sarcini de reglementare finalizate și neterminate

Când creați sarcini de rutină, este important să verificați dacă sarcina poate fi executată ca o sarcină de rutină. Este important de știut că modulul server nu face multe lucruri posibile pe client. În plus, o sarcină care se ocupă de ceva care se află în afara bazei de date - un rol important în aceasta este jucat de drepturile utilizatorului Windows sub care este executată sarcina.

Ultimul factor este deosebit de important, deoarece dacă modulul nu este executat pe server, atunci sarcina nu poate fi finalizată în principiu. Pentru a verifica, trebuie să rulați o sarcină și să evaluați rezultatul.

Problema nu este nouă și se discută din când în când pe diverse forumuri 1C. Cea mai simplă și populară soluție este repornirea serverului 1C. Din păcate, această opțiune nu este întotdeauna acceptabilă sau extrem de nedorită. Într-un astfel de caz, există soluții mai delicate.

Aici una dintre aceste metode sub formă de instrucțiuni scurte pas cu pas:

1. Folosind consola de administrare a serverului 1C, căutăm fun job nou în lista de conexiuni (de exemplu, după ora de începere a funcționării sale, în comparație cu ora de începere a unui job reglementat în consola de joburi). Noi definimprocesul de lucru în care se află conexiunea suspendată.

2. Deschideți proprietățile acestui proces și marcați-l ca neutilizat (dacă este utilizat un singur proces, atunci trebuie mai întâi să creați un nou proces de lucru, astfel încât toate conexiunile active să se reconnecteze la el). Ne amintim numărul PID al acestui proces.


3. Așteptăm până când toate conexiunile curente trec de la procesul dezactivat la unul dintre cele utilizate. În cele din urmă, în procesul nostru ar trebui să rămână doar conexiunile problematice, pe care dorim să le eliminăm.

4. Pe un computer cu un server 1C, folosind managerul de activități, căutați procesul rphost.exe corespunzător folosind PID-ul procesului de lucru dezactivat și ștergeți-l.

5 . Pentru orice eventualitate, puteți șterge fluxul de lucru 1C pe care l-am dezactivat folosind administratorul. console și, dacă este necesar, creați unul nou.

6. Gata. Vă puteți conecta în consola de joburi și puteți verifica funcționalitatea jobului programat.

Când lucrați în 1C, există multe operațiuni de rutină care trebuie lansate sau formate conform unui program pentru a efectua una sau alta acțiune, de exemplu: postarea documentelor sau încărcarea datelor în 1C de pe un site web.

Am postat recent un articol: E timpul să automatizăm acest lucru:

Sarcini de rutină și de fundal

Motorul de job este proiectat pentru a executa orice aplicație sau funcționalitate conform unui program sau asincron.

Mecanismul sarcinii rezolvă următoarele probleme:

  • Abilitatea de a defini proceduri de reglementare în etapa de configurare a sistemului;
  • Executarea actiunilor specificate conform programului;
  • Efectuarea unui apel la o anumită procedură sau funcție în mod asincron, de ex. fără a aștepta finalizarea acestuia;
  • Urmărirea progresului unei sarcini specifice și obținerea stării de finalizare a acesteia (o valoare care indică dacă a avut succes sau nu);
  • Obținerea unei liste de sarcini curente;
  • Abilitatea de a aștepta finalizarea uneia sau mai multor sarcini;
  • Managementul jobului (posibilitate de anulare, blocare a executiei etc.).

Mecanismul de lucru este format din următoarele componente:

  • Metadatele sarcinilor de rutină;
  • Sarcini regulate;
  • Locuri de muncă de fundal;
  • Planificator de sarcini.

Lucrările de fundal și sunt concepute pentru a îndeplini sarcinile aplicației în mod asincron. Sarcinile de fundal sunt implementate folosind limbajul încorporat.

Sarcini programate și sunt concepute pentru a îndeplini sarcinile aplicației într-un program. Sarcinile de rutină sunt stocate în baza de informații și sunt create pe baza metadatelor definite în configurație. Metadatele unei sarcini de reglementare conțin informații precum numele, metoda, utilizarea etc.

O sarcină de rutină are un program care determină la ce momente trebuie executată metoda asociată sarcinii de rutină. Programul, de regulă, este specificat în baza de informații, dar poate fi specificat și în etapa de configurare (de exemplu, pentru sarcini de rutină predefinite).

Programatorul de sarcini este utilizat pentru a programa execuția sarcinilor de rutină. Pentru fiecare job programat, planificatorul verifică periodic dacă data și ora curente se potrivesc cu programarea jobului programat. Dacă se potrivește, planificatorul atribuie acea sarcină execuției. Pentru a face acest lucru, pentru această sarcină programată, planificatorul creează o sarcină de fundal, care realizează procesarea efectivă.

Cred că este suficient cu descrierea - să trecem la implementare:

Crearea unei sarcini de rutină

Numele metodei– calea către procedura care va fi executată într-un job de fundal conform unui program dat. Procedura trebuie să fie într-un modul comun. Se recomandă să nu utilizați module comune standard, ci să vă creați propriile module. Nu uitați că joburile de fundal rulează pe server!

Utilizare– semn de utilizare a unei sarcini de rutină.

Predeterminat– indică dacă sarcina de rutină este predeterminată.

Dacă doriți ca sarcina de rutină să funcționeze imediat după ce a fost plasată în baza de date, specificați atributul Predeterminat. În caz contrar, va trebui să utilizați procesarea „Job Console” sau să declanșați ca sarcina să ruleze în mod programatic.

Numărul de reîncercări atunci când o sarcină se termină anormal– de câte ori a fost repornit jobul de fundal dacă a fost executat cu o eroare.

Interval de reîncercare când jobul se încheie anormal– cât de des va fi repornită lucrarea de fundal dacă a fost finalizată cu o eroare.

Stabilirea unui program

Programa finalizarea sarcinii:

În fiecare oră, doar o ziPerioada RepeatDays = 0, Perioada RepeatDays = 3600
În fiecare zi, o dată pe ziPerioada RepeatDays = 1, Perioada RepeatDays = 0
O zi, o datăPeriodRepeatDays = 0
Din două în două zile, o dată pe ziPeriodRepeatDays = 2
În fiecare oră de la 01.00 la 07.00 în fiecare ziPeriodRepeatDays = 1RepeatPeriodDuringDay = 3600StartTime = 01.00

Ora de încheiere = 07.00

În fiecare sâmbătă și duminică la ora 09.00Perioada RepeatDays = 1WeekDays = 6, 7StartTime = 09.00
În fiecare zi timp de o săptămână, sări peste o săptămânăPeriodRepeatDays = 1PeriodWeeks = 2
O dată la ora 01.00Ora de începere = 01.00
Ultima zi a fiecărei luni la ora 9:00.PeriodRepeatDays = 1DayInMonth = -1StartTime = 09.00
A cincea zi a fiecărei luni la ora 9:00PeriodRepeatDays = 1DayInMonth = 5StartTime = 09.00
A doua zi de miercuri a fiecărei luni la ora 9:00PeriodRepeatDays = 1DayWeekMonth = 2DaysWeek = 3

Ora de începere = 09.00

Caracteristici de execuție a joburilor de fundal în variante de fișier și client-server

Mecanismele de executare a joburilor de fundal în versiunile fișier și client-server sunt diferite.

În versiune de fișier trebuie să creați un proces dedicat clientului care va efectua lucrări de fundal. Pentru a face acest lucru, procesul client trebuie să apeleze periodic funcția context global ExecuteJobProcessing. Doar un proces client pe bază de informații ar trebui să proceseze joburi de fundal (și, în consecință, să apeleze această funcție). Dacă nu a fost creat un proces client pentru a procesa joburi de fundal, atunci când accesați programatic motorul de job, va fi afișată eroarea „Job Manager is not active”. Nu este recomandat să utilizați un proces client care procesează joburi de fundal pentru alte funcții.

Odată ce procesul client care procesează joburile de fundal este pornit, alte procese client pot accesa programatic motorul jobului de fundal, de exemplu. poate rula și gestiona joburi de fundal.

În versiunea client-server Pentru a executa joburi de fundal, se folosește un planificator de activități, care se află fizic în managerul de cluster. Pentru toate joburile de fundal aflate în coadă, planificatorul primește procesul de lucru cel mai puțin încărcat și îl folosește pentru a rula jobul de fundal corespunzător. Procesul de lucru execută jobul și notifică planificatorul despre rezultatele execuției.

În versiunea client-server, este posibilă blocarea execuției sarcinilor de rutină. Executarea sarcinilor de rutină este blocată în următoarele cazuri:

  • Pe baza de informații a fost instalată o blocare explicită a sarcinilor de rutină. Blocarea poate fi setata prin consola cluster;
  • Există un bloc de conexiune în baza de informații. Blocarea poate fi setata prin consola cluster;
  • Metoda SetExclusiveMode() cu parametrul True a fost apelată din limbajul încorporat;
  • În alte cazuri (de exemplu, la actualizarea configurației bazei de date).

Procesarea lansării și vizualizarea sarcinilor programate poti descarca aici.