1С8

Când lucrați în 1C, există multe operații de rutină care trebuie pornite sau formate conform unui program atunci când efectuați o acțiune, de exemplu: efectuarea de documente sau descărcarea de date la 1C de pe site.







Recent am postat un articol: Citirea datelor dintr-un site în format XML și încărcarea în 1C este timpul pentru a automatiza:

Sarcinile de rutină și de fond

Motorul de sarcini este proiectat să execute orice aplicație sau funcționalitate într-un program sau asincron.

Mecanismul de sarcini rezolvă următoarele sarcini:

  • Posibilitatea de a defini procedurile de rutină în stadiul de configurare a sistemului;
  • Efectuați acțiunile specificate în program;
  • Apelarea unei proceduri sau a unei funcții date este asincronă, adică fără a aștepta finalizarea acestuia;
  • Urmărirea progresului unei sarcini specifice și obținerea statutului de finalizare (o valoare care indică succesul sau eșecul de a efectua);
  • Obținerea listei de sarcini curente;
  • Abilitatea de a aștepta terminarea uneia sau mai multor locuri de muncă;
  • Gestionarea locurilor de muncă (abilitatea de a anula, executarea blocurilor etc.).

Mecanismul de angajare constă în următoarele componente:

  • Metadatele sarcinilor de rutină;
  • Sarcinile programate;
  • Activități de bază;
  • Task Scheduler.

Activități de bază sunt destinate executării asincrone a sarcinilor aplicate. Sarcinile de fundal sunt implementate prin intermediul limbajului încorporat.

Sarcinile programate concepute pentru a efectua sarcini programate. Sarcinile programate sunt stocate într-o bază de date de informații și sunt create pe baza metadatelor definite în configurație. Metadatele sarcinii de reglementare conțin informații precum numele, metoda, utilizarea, etc.

Sarcina programată are un program care determină la ce momente este necesar să se efectueze metoda asociată sarcinii. Programul, de regulă, este setat în baza de date cu informații, dar poate fi setat și în timpul fazei de configurare (de exemplu, pentru sarcinile de rutină predefinite).

Task Scheduler este folosit pentru a programa executarea sarcinilor programate. Pentru fiecare sarcină programată, planificatorul verifică periodic dacă data și ora curente corespund programului orar al sarcinii programate. Dacă este, planificatorul atribuie o astfel de sarcină executării. Pentru aceasta, planificatorul creează o sarcină de fundal în cadrul acestei sarcini de rutină, care efectuează procesarea reală.

Cu o descriere, cred că este suficient - să începem să implementăm:

Creați o sarcină programată

1С8






Numele metodei este calea către procedura care va fi executată în sarcina de fundal în conformitate cu programul specificat. Procedura trebuie să fie într-un modul comun. Se recomandă să nu utilizați modulele generice comune, ci să creați propriile dvs. module. Nu uitați că lucrările de fundal sunt executate pe server!

Utilizați - un semn de utilizare a unei sarcini programate.

Predefinită - indică dacă sarcina programată este predefinită.

Dacă doriți ca sarcina de rutină câștigată imediat după punerea ei în baza de date, specificați atributul predefinit. În caz contrar, va trebui să utilizați procesarea "Job Console" sau să porniți programarea programată.

Numărul de repetări atunci când lucrarea este blocată - de câte ori lucrarea de fundal a fost repornit, dacă a fost executată cu o eroare.

Interval de repetare în cazul unei lucrări anormale - cât de des va fi reluată lucrarea de fundal dacă a fost executată cu o eroare.

Programați setările

Programul sarcinii:

1С8

În fiecare oră, doar o zi

Perioada de repetare = 1 săptămâniWheelsday = 2News = 3

Caracteristici ale executării fișierelor de activități de fundal și ale opțiunilor client-server

Mecanismele de efectuare a lucrărilor de fundal în fișierele și versiunile client-server diferă.

În versiunea de fișier, trebuie să creați un proces client dedicat care să se ocupe de sarcini de fundal. Pentru a face acest lucru, funcția context globală ExecuteTask Processing ar trebui să fie apelată periodic în procesul clientului. Numai un singur proces client în baza de date ar trebui să efectueze lucrări de fundal (și, prin urmare, apelează această funcție). Dacă procesul client nu a fost creat pentru a procesa lucrările de fundal, va apărea eroarea "Task Manager not active" atunci când accesați programabil stația de lucru. Nu se recomandă ca procesul client care efectuează procesarea de lucrări de fundal să fie utilizat pentru alte funcții.

După ce începe procesul clientului care procesează lucrările de fundal, celelalte procese ale clientului au capacitatea de a accesa în mod programatic mecanismul de sarcină de fundal, adică pot rula și gestiona lucrări de fundal.

În varianta client-server, planificatorul de sarcini este utilizat pentru a efectua sarcini de fundal, care este localizat fizic în managerul de cluster. Planificatorul pentru toate sarcinile de așteptare pentru executarea lucrărilor de fundal primește fluxul de lucru cel mai puțin încărcat și îl folosește pentru a efectua sarcina de fundal corespunzătoare. Fluxul de lucru execută lucrarea și notifică planificatorul rezultatelor.

În varianta client-server, există posibilitatea de a bloca executarea sarcinilor programate. Blocarea executării sarcinilor programate are loc în următoarele cazuri:

  • O blocare explicită a sarcinilor de rutină este stabilită pe baza de informații. Blocarea poate fi instalată prin consola de cluster;
  • Baza de date de conectare este blocată pe baza de informații. Blocarea poate fi instalată prin consola de cluster;
  • Din limbajul încorporat, metoda SetMonopoly Mode () este apelată cu parametrul True;
  • În alte cazuri (de exemplu, la actualizarea configurației bazei de date).

Ați putea fi, de asemenea, interesat

rphost ocupă memoria și încarcă procesorul 15
Mulți oameni au probleme cu rphost.exe, de diferite tipuri: rphost ocupă toate memoriile rphost încarcă procesorul rphost consumă memorie, iar 1C este chiar pornit și în controler următoarele: în fiecare minut calculul este de 2-3 megabytes. Cum să fii u. Arhivarea automată a bazelor de date 1C 8.x pentru versiunile de fișiere și client-server 5
Această metodă de arhivare este potrivită pentru fișierele și versiunile SQL ale bazelor de date 1C: Și astfel: 1. Creați un script VBS și salvați-l în C:





Trimiteți-le prietenilor: