internetul Windows. Android

Rularea sarcinilor de reglementare 1C 8.3. Sarcini de fundal: Caracteristici, Caracteristici, Configurare

" În aceasta, vom analiza noi caracteristici care nu se referă la interfața sistemului, dar extind semnificativ funcționalitatea furnizată a platformei "1C: Enterprise 8".

Aplicabilitate

Articolul discută versiunea "1c: întreprindere" versiunea 8.3.4.437. Toate funcționalitățile descrise în articol sunt actualizate la funcția editorială 8.3.11.

Alte inovații în "1c: întreprindere 8.3"

Vom continua să vă familiarizăm cu inovațiile platformei 1C: Enterprise 8.3.

Sarcini de fundal și de reglementare din baza de informații despre fișier

În multe configurații tipice de platformă 8.2 A existat o constantă în care utilizatorul a fost specificat în ce sarcini au fost efectuate în dosar.

Când sistemul este pornit, sub acest utilizator, a apărut manipulatorul de așteptare, care pentru o anumită periodicitate a provocat metoda lingvistică încorporată. Performanțe ().

O astfel de abordare a creat dificultăți suplimentare și inconveniente de a utiliza sarcini de reglementare în baza de date a fișierelor.

Ar putea fi deosebit de critică atunci când lucrați cu astfel de configurații "Automatizare complexă" sau "Gestionarea întreprinderii de producție"În care sarcinile de reglementare joacă un rol destul de important.

Dacă este vorba de fileib atunci
=
Constante. De obicei, plină-planethe woversvariant. Focus();
În cazul în care un glnageveved.("Glotting Utilizator") =
Clip client.Atunci
// în intervalul de secunde, apelați procedura de lucru cu sarcini de reglementare
Suportă elentlentlentyfyle Filevesion();
Intervaltrack.=
Constantele. Intervaltlaprosarlamentadnayataniyvifylevarisa. Se toarnă();
În cazul în care un Intervaltrack.\u003d Incert.
SAU Intervaltrack.\u003d 0 atunci
Intervaltrack.= 60 ;
Încheiat;
Conectare("SuportDlamedadantedlameFilevare",
Intervaltrack.);
Încheiat;
Încheiat;

În platformă. 8.3 Lucrarea de sarcini de fond și de reglementare din baza de date privind informațiile despre fișiere este implementată fără a utiliza metoda contextului global Performanțe ().

Sarcinile de fond și de reglementare sunt efectuate direct într-una din aplicațiile client (client subțire, groasă) sau extensia serverului web.

Sarcina de fundal condusă de orice sesiune este efectuată de aceeași aplicație client care a inițiat-o.

Sarcinile de fundal sunt efectuate secvențial, adică Pe o singură cerere de client la un moment dat, se poate efectua o singură sarcină de fond (inclusiv reglementarea).

Sarcinile de reglementare sunt efectuate numai de o aplicație client. Pentru a gestiona începerea sarcinilor de reglementare, cheia liniei de comandă este destinată. Alunexecuteduledjobs..

Sarcinile de reglementare sunt efectuate mai întâi pentru a începe aplicația client care nu interzice executarea sarcinilor de reglementare (pentru interzicerea sesiunii trebuie lansată cu parametrul liniei de comandă Alunexecuteschedledjobs -off.).

Când această sesiune este finalizată, execuția continuă la oricare dintre sesiunile rămase care rulează.

Dacă șirul aplicației client specifică în mod explicit necesitatea de a începe sarcini de reglare (în promptul de comandă specificat Alunexecutescheduledjobs -force), Sarcinile de reglementare încep să fie efectuate pe aceasta, indiferent de disponibilitatea altor sesiuni.

Prelucrarea sarcinilor de reglementare are loc o dată la 60 de secunde.

Rețineți că sarcinile de reglementare ale soluției de aplicare (în varianta de fișiere) au început să fie executate nu mai devreme de 1 minut după lansarea aplicației client. Începând cu ediția 8.3.8, acest timp a fost dublat și, prin urmare, sarcinile de reglementare încep să fie făcute la maximum 2 minute după lansarea clientului (în fișier).

Această soluție se datorează unei scăderi a întârzierii atunci când începe aplicația. În plus, în lansarea 8.3.7, abilitatea de a determina rapid că sesiunea curentă este o sesiune de sarcină de fundal. Acest lucru este implementat în detrimentul noii metode de context global pentru a obține o bază de bază (), precum și o nouă metodă la sesiunea de bază de informații. OpendFonevenation ().

Următorul este codul care ilustrează cele descrise mai sus:

Pentru a mări, faceți clic pe imagine.

Calculul de verificare

În platformă, mecanismele păreau să calculeze sumele de control.

Reamintim că suma de control (hash) este o anumită valoare calculată de datele setate prin utilizarea unui algoritm specific și utilizat pentru a verifica integritatea datelor atunci când sunt transmise sau stocate.

Hischai poate fi folosit pentru a verifica identitatea datelor (de exemplu, este necesar să se asigure că nu este deteriorat atunci când transferați fișierul; verificați dacă există modificări ale fișierului și, dacă da, o încărcați la baza de date din nou).

Pentru a face acest lucru, un obiect a fost implementat în platformă ChestionovatDisponibil pe server într-un client gros, conexiuni externe, precum și pe un server de aplicații mobile.

Acest obiect are două metode: Adăuga () și Pentru a adăuga un fișier ()care actualizează suma hash cu datele transmise în parametri.

Platformă 8.3.4.437 Suportă calcularea următoarelor funcții HASH: CRC32., MD5, SHA1., SHA256.. Dar funcții SHA1.și SHA256.nu este acceptată pe o platformă mobilă.

Luați în considerare un exemplu simplu. Se presupune că pe server din directorul de program există un fișier " ragent.exe.". Este necesar să se calculeze MD5-Summage pentru acest fișier.

Pentru a face acest lucru, creați o prelucrare externă, pe baza căreia va fi plasată calculati. Manipulatorul conține următorul cod:

& Svlette.
Calculați procedura (comanda)
Rezultat \u003d. Calculați serverul();
Raport (șir (rezultatul));
Extradreses.
& Pe server
Funcţie Calculați serverul()
Hash \u003d Nou Chestionovat(Hashfunction);
Hash.daddlindile(Program de catalog.() + "Ragent.exe");
Întoarceți Heshe.esumum;
Endfunction

În platforma editorială 8.3.10+ în metodă Adăuga () Obiect Chestionovat A devenit posibilă utilizarea fluxului de date binare, care și-au simplificat în mod semnificativ utilizarea în rezolvarea diferitelor sarcini de aplicare pentru a actualiza sumele hash.

Lucrați cu versiuni sigure ale protocoalelor SMTP / POP3.

În platformă. 8.3 Există o oportunitate de a utiliza versiuni protejate de protocoale. SMTP / POP3. (Termeni se găsesc SMTPS / POP3S. sau SSLSMTP / SSLPOP3.).

Pentru obiect InternetPootpofil. Proprietăți noi implementate:

  • USSSSMTP.;
  • USASSLPOP3.;
  • ANGINDATENTIFFESTIFICATEMTP.;
  • ANGENDATENTITIFICAREPOP3..

Proprietăți AutentificăriMTP.și AutentificarePop3.obiect InternetPootpofil.precum și enumerații Podsmtpautentificareși Popop3Anautificationutilizarea Nu este recomandată - sunt susținute pentru compatibilitate.

Folosind un protocol securizat SMTPS.face posibilă trimiterea de e-mail de la 1c.Utilizarea căsuței poștale Google.

Luați în considerare un exemplu. Pe formularul, avem un câmp pentru introducerea subiectului literei și a adresei destinatarului și pentru a intra în textul literei - domeniul documentului formatat.

Pentru a mări, faceți clic pe imagine.

Apăsând butonul Trimiteurmătorul cod va fi executat:

& Svlette.
Procedură Trimiteți (comanda) mail \u003d nou pub online; Profil \u003d Nou InternetPootpofil.;
Profil. Presstresersmtp.\u003d "Smtp.googlemail.com";
Profil. UsersMTP.= “[E-mail protejat]” ;
Profil. PallSMTP.\u003d "Parolă";
Profil. USSSSMTP.\u003d Adevăr;
Profil. PORTSMTP \u003d 465; Atentat, încercare
Mail. Conferință(Profil);
O exceptie
Descrierea raportului ());
Restituire;
Sărbători; Informantexter poștal= “” ;
Atașamente \u003d structură nouă;
Text.chelchhtml.(Informantexter poștal, Investiții); Postalizare\u003d Nou Pubertate pe Internet;
Postalizare. Practicanți. Adăugați(La care);
Postalizare\u003d Subiect;
Postalizare. Albii. Adăugați(Informantexter poștal,
Tytextapochetovop.html.); Adresa postala ( Postalizare); Mail. Urmați.();
Extradreses.

Rețineți că, în exemplul nostru, dacă serverul SMTP nu a putut trimite un e-mail către destinatar (-m), atunci metoda Mail. Trimite (comunicare poștală) a generat o excepție. Acest lucru a cauzat anumite inconveniente de la dezvoltatori, deoarece Motivul pentru generarea de excepție nu a fost evident.

În tabloul editorial 8.3.9, acest comportament sa schimbat, iar acum metoda de trimitere () returnează conformitatea, despre care este destinația, iar valoarea este diagnosticarea de pe serverul de poștă electronică. Acest lucru vă permite să determinați cu exactitate motivele pentru trimiterea prin e-mail fără succes la fiecare dintre destinatari. În modul de compatibilitate cu versiunea 8.3.8, comportamentul nu sa schimbat.

Imprimare pe două fețe

În platformă. 8.2 Platforma în sine nu a gestionat sigiliul față-verso, a fost posibilă gestionarea acestei caracteristici numai utilizând driverul de imprimantă.

În platformă. 8.3 Abilitatea de a controla imprimarea bilaterală pentru un document de masă, o schemă grafică (din limba încorporată și interactivă) și un document text (numai interactiv).

În limba încorporată, a apărut înregistrările de sistem:

  • TIPID MOWTENER.(Nu, Dvorsope, Doraved);
  • (Auto, putere oglindă, placă oglindă, înțelegeți).

Și în obiecte Cheresteași Graficăproprietățile au apărut Imprimare pe două fețeși Distribuția alternativăStranitsa.Cu care puteți schimba locația paginilor tipărite.

În biroul editorial al platformei 8.3.9, a fost adăugat un nou înțeles la lista de sisteme a Tidylon Utilizați Nastyprinter. Selectarea acestei valori a permis utilizarea setărilor imprimantei la imprimarea documentelor sistemului. În modul de compatibilitate cu versiunea 8.3.8, comportamentul nu sa schimbat și setările imprimantei corespunzătoare sunt ignorate.

Dialogul de publicare a bazei de informații de pe serverul web este mai funcțional. Acum publicarea configuratorului vă permite să setați toate setările fișierelor. implicit.vrd..

La publicarea dialogului a unui client web și servicii web prin intermediul configuratorului este implementat:

  • abilitatea de a gestiona disponibilitatea serviciilor web în mod implicit (atribut pointenableCommate. Element ws.);
  • abilitatea de a controla executarea sarcinilor de fundal în fișier (atribut alunexecuteduledjobs. Element ws.).

Dacă steagul "Publicați servicii web în mod implicit" Pe tab-ul "De bază" Instalat, la actualizarea publicării, serviciile Web selectate vor fi publicate automat.

În caz contrar, serviciile web vor fi marcate ca fiind nepregate. Acest steag se potrivește cu atributul pointenableCommate.element ws.în dosar implicit.vrd.Concepute pentru a configura clientul web și serviciile web.

Atribut pointenableCommate.elementul WS este responsabil pentru posibilitatea utilizării serviciilor Web în această bază de informații, care sunt publicate fără utilizarea explicită a permisiunilor de utilizare (atribut permiteelement punct).

Dacă atributul este important adevărat., apoi toate serviciile web pentru care valoarea atributului este clar specificată. permiteelement punctva fi permisă pentru utilizare.

În caz contrar, utilizarea acestor servicii web va fi interzisă.

Setare "Sarcini de fundal în modul fișier" corespunde atributului alunexecuteduledjobs.wS Element în fișier implicit.vrd..

Atribut alunexecuteduledjobs.gestionează capacitatea de a executa sarcini de reglementare la expansiunea serverului web pentru fișierul de bază de informații.

Atributul poate lua următoarele valori:

  • off.- În acest caz, extensia serverului Web nu va efectua sarcini de reglementare. Efectuarea sarcinilor de reglementare va fi aplicația client (dacă există), care se conectează direct la baza de date a informațiilor, fără a utiliza un server web.
  • forta- În acest caz, extensia serverului web va efectua sarcini de reglementare.
    Dacă valoarea acestui atribut nu este specificată, sarcinile de reglementare vor efectua aplicația cu care va fi efectuată prima conexiune la baza de informații.

Fereastra de publicare de pe serviciul web în versiunea curentă a platformei a devenit și mai convenabilă și mai ergonomică. Acum, parametrii care descriu autentificarea OpenID sunt realizate pe o filă separată.

Numerotarea obiectelor de bază de informații

În platformă. 8.3 mecanism reciclat pentru numerotarea automată a obiectelor de bază de informații. Monitorizarea unicității numărului sau codului (inclusiv numărul sau codul obținut ca rezultat al generației automate) se face întotdeauna în timpul înregistrării obiectului.

Textul unicității unicității numărului sau codului este adăugat la indicarea numărului sau codului nu este unic.

Utilizarea numărului sau a codului eliberat sa schimbat. Numărul sau codul nou este atribuit fără a utiliza numerele sau codurile eliberate, dacă există deja numere sau coduri deja emise cu un prefix mare (în ordine) al numărului sau codului.

Agregate Limba limbă Limba de limbă Sistem de aspect de date

În limba expresiilor sistemului de aspect de date, sunt implementate noi funcții agregate:

  • Toata lumea();
  • Orice();
  • Degenerarea standard alternativă ();
  • Standardlonions creaturi ();
  • Expoziție de dispersie ();
  • Senzor de dispersie ();
  • Recipientul de covariance ();
  • CovariarationSebors ();
  • Corelație();
  • Regresivallon ();
  • Regressing ();
  • Regresivismul ();
  • Regresivr2 ();
  • Regresarea formată ();
  • Media regresivă ();
  • Regresarea AVERAGEXX ();
  • Media regresivă ();
  • Regresând Averagexi ().

După cum se poate observa din nume, acestea sunt funcții statistice, înseamnă că dezvoltatorii au posibilitatea de a crea rapoarte complexe fără a recurge la elaborarea procedurilor de calculare a datelor statistice.

Pentru a mări, faceți clic pe imagine.

Așa cum se poate observa în figură, nu există caracteristici noi în lista derulantă, dar dacă le introduceți manual, mesajul de eroare nu va fi și raportul va fi format:

Reprezintă, de asemenea, interesul unei noi caracteristici ClasificareaBC (). Rezultatul funcției funcției va fi numărul de clasă, pornind de la 1 (1 corespunde clasei A, 2 - clasa B, 3 - clasa C etc.).

Vom demonstra activitatea acestei funcții. Creați un nou raport extern "Clasificarea mărfurilor" Pe baza solicitării:

ALEGE
Costdranovanovari.thovar.,
CostBarovanovari.Colism.
DE
Document. Sursă. TustreLA FEL DE Costbatovaratovari

Determinați noul câmp calculat Clasă:

Pentru a mări, faceți clic pe imagine.

Vom configura resursele după cum urmează:

Pentru a mări, faceți clic pe imagine.

În modul utilizator, raportul arată astfel:

În concluzie, menționăm că de la placa editorială din platforma 1C 8.3 8.3, mecanismul SCD este în mod constant îmbunătățit și rafinat, iar în "nou-venitul", modificările de date ale articolelor nu sunt posibile. Da, pare inutil, deoarece, care lucrează la versiunea curentă a platformei, puteți utiliza întotdeauna diverse sisteme de referință pentru a ajuta la analiza unui anumit aspect al activității acestui mecanism.

În plus, nu uitați de cursul nostru separat, dezvoltarea profesională a rapoartelor în 1c 8.3 privind sistemul de aspect de date, care preia toate subtilitățile și terenurile la atom atunci când lucrează cu acest mecanism. Uită-te la demonstrații și.

Deci, să rezumăm rezultatele. Până în prezent, am fost, de asemenea, familiarizați cu noile caracteristici ale interfeței "Taxi" și a formelor gestionate, precum și cu unele capabilități furnizate anterior ale platformei în sine. Acum este timpul să vedeți ce caracteristici convenabile au devenit disponibile și dezvoltator în configurator.

Cum să accelerați activitatea în 1c: Contabilitate 8.3 (ediția 3.0) sau dezactivați sarcinile de reglementare și de fond

2019-01-15T13: 28: 19 + 00: 00

Aceia dintre voi care au reușit deja să meargă la o nouă versiune de 1c: contabilitate 8.3 (editori 3.0) a reușit să observe că a început să funcționeze mai lent decât de două ori. Unele bretele incomprehensibile, sarcini de fundal fără sfârșit de mai multe ori pe zi, pe care nimeni nu le-a cerut fără cunoștințele noastre.

Contabilii mei imediat după tranziție, au declarat că noua versiune a 1c: Contabilitatea 3.0 în comparație cu cele anterioare încetinește! Și este pur și simplu imposibil să lucrați.

Am început să înțeleg și am aflat foarte curând că principalul motiv pentru proști și următorii utilizatori nemulțumiri sunt sarcinile de reglementare și de fond, dintre care multe sunt incluse în mod implicit, deși nu este nevoie de majoritatea absolută a contabililor.

Ei bine, de exemplu, de ce ar trebui să începem sarcina "extragerea textului" de o sută de ori pe zi, dacă nu implementăm textul integral (contabili, nu fiți speriat) Căutați toate obiectele din baza noastră.

Sau de ce descărcați în mod constant cursurile de schimb, dacă nu avem tranzacții valutare sau noi ocazional (și putem face clic pe butonul de descărcare a cursurilor).

Același lucru este valabil și pentru încercarea permanentă 1C Conectarea la site și verificați și actualizați clasificatoarele bancare. Pentru ce? Voi face clic pe butonul Clasificatori de actualizare, dacă nu găsesc banca potrivită pe bick.

Cum să faceți acest lucru în elementele de mai jos.

1. Mergeți la secțiunea "Administrație" și în panoul de acțiune, selectați "Întreținere" ():

2. În fereastra care se deschide, găsiți și selectați "Restak și sarcini de fundal":

3. Deschideți fiecare sarcină care are în coloana "On" Este un daw.

4. Scoateți marcajul din elementul "Activat" și faceți clic pe butonul "Înregistrare și închidere".

5. Fă-o cu fiecare dintre sarcinile incluse și bucurați-vă de noua ediție. În general, în opinia mea, este mult mai bună decât de două ori.

În același timp, unele dintre sarcinile de reglementare deconectate de dvs. se vor întoarce înapoi.

Când lucrați în 1c, există numeroase operațiuni de rutină care trebuie lansate sau să se formeze pe programarea acestei acțiuni, de exemplu: efectuarea de documente sau sarcină de date în 1c de pe site.

Recent am postat un articol: Este timpul să-l automatizați:

Regulamentele și sarcinile de fond

Mecanismul de activitate este conceput pentru a efectua orice funcționalitate aplicată sau a unui program sau asincron.

Mecanismul de sarcini rezolvă următoarele sarcini:

  • Abilitatea de a defini procedurile de reglementare la faza de configurare a sistemului;
  • Executarea acțiunilor specificate pe un program;
  • Efectuarea unui apel pentru o procedură dată sau o funcție asincronă, adică. fără a aștepta finalizarea acestuia;
  • Urmărirea progresului unei anumite sarcini și obținerea statutului său de finalizare (valori care indică succesul sau implementarea cu succes);
  • Primind o listă de sarcini curente;
  • Capacitatea de a aștepta finalizarea uneia sau mai multor sarcini;
  • Managementul locurilor de muncă (Abilitatea de a anula, execuția de blocare etc.).

Mecanismul de activitate constă din următoarele componente:

  • Metadate de sarcini de reglementare;
  • Sarcini de reglementare;
  • Sarcini de fundal;
  • Planificator de locuri de muncă.

Sarcini de fundal și sunt concepute pentru a efectua sarcini aplicate în mod asincron. Sarcinile de fundal sunt implementate de limba încorporată.

Sarcinile regulilor și sunt concepute pentru a efectua sarcini de programare aplicate. Sarcinile de reglementare sunt stocate în baza de informații și sunt create pe baza metadatelor definite în configurație. Metadatele sarcinii de reglementare conține informații precum numele, metoda, utilizarea etc.

Sarcina de reglementare are un program care determină ce momente de timp trebuie efectuate prin metoda asociată cu sarcina de reglementare. Programul este de obicei setat în baza de informații, dar poate fi, de asemenea, specificat în stadiul de configurare (de exemplu, pentru sarcini de reglementare predefinite).

Schedulerul de sarcini este utilizat pentru planificarea executării sarcinilor de reglementare. Pentru fiecare sarcină de reglementare, planificatorul verifică periodic dacă data și ora curentă a programului de reglementare este adevărată. Dacă se potrivește, planificatorul atribuie o astfel de sarcină de executare. Pentru a face acest lucru, conform acestei sarcini de reglementare, planificatorul creează o sarcină de fond care îndeplinește o prelucrare reală.

Cu descrierea, cred, destul - voi continua să implementez:

Crearea unei sarcini de reglementare

Numele metodei. - calea către procedura care va fi efectuată în sarcina de fundal pe un program specificat. Procedura trebuie să fie în modulul general. Se recomandă să nu utilizați module comune tipice, ci creați-vă propriul. Nu uitați că sarcinile de fundal sunt executate pe server!

Folosind. - un semn de utilizare a unei sarcini de reglementare.

Predefinit- indică dacă sarcina de reglementare este predefinită.

Dacă doriți să lucrați ca o sarcină de reglementare imediat după camera din baza de date, specificați un semn Predefinit. În caz contrar, va trebui să utilizați procesul de procesare a consolei de sarcini sau să apelați sarcina de a porni programatic.

Numărul de repetări în cazul finalizării în caz de urgență - De câte ori au o repornire a postului de fundal, dacă a fost efectuată cu o eroare.

Repetați intervalul când un eșec al accidentului - Ce frecvență va fi configurată pentru a reporni sarcina de fundal dacă a fost efectuată cu o eroare.

Setarea programului.

programa Performanța activității:

În fiecare oră, doar o ziPerioadaSTOistNe \u003d 0, PerioadaStravteraneedydee \u003d 3600
În fiecare zi o dată pe ziPerioadastOistnee \u003d 1, PeriodistravTeReneednya \u003d 0
Într-o zi, o datăPerioada de vârstă: 0.
În fiecare zi o dată pe ziPerioadeAlte \u003d 2.
La fiecare oră de la 01.00 la 07.00 în fiecare ziPerioadaSTOistNe \u003d 1Periodhonthe Showroom \u003d 3600 tras \u003d 01.00

Timp conferă \u003d 07.00

În fiecare sâmbătă și duminică la ora 09.00Perioadastoistnes \u003d 1dnnneheli \u003d 6, 7 tras \u003d 09.00
În fiecare zi o săptămână, săptămâna săptămânalăPerioadaRStrans: 1 perioadă \u003d 2
La ora 01.00 o datăTimp \u003d 01.00.
Ultimul număr din fiecare lună la ora 9:00.PerioadastOistnee \u003d 1 Deniye \u003d -1 tras \u003d 09.00
Al cincilea număr al fiecărei luni la ora 9:00PerioadaSToistnee \u003d 1 Deniye \u003d 5 tras \u003d 09.00
Al doilea mediu din fiecare lună la ora 9:00PerioadaSToistnee \u003d 1Deneliyvyza \u003d 2dnnnyed \u003d 3

Top \u003d 09.00.

Caracteristicile executării sarcinilor de fundal și versiunile client-server

Mecanismele de efectuare a sarcinilor de fundal în variantele de fișiere și server client diferă.

În versiunea de fișiere Este necesar să se creeze un proces de client selectat care să facă performanța sarcinilor de fundal. Pentru a face acest lucru, în procesul de client, funcția funcției contextului de configurare globală trebuie ocupată. Numai un proces de client din baza de date de informații ar trebui să efectueze prelucrarea sarcinilor de fundal (și, în consecință, apelați această funcție). Dacă procesul de client nu este creat pentru procesarea sarcinilor de fundal, atunci când accesul software-ului, managerul de activități va fi emis mecanismului de angajare. Procesul de client care efectuează prelucrarea sarcinilor de fundal nu este recomandat pentru alte funcții.

După procesul de client care efectuează prelucrarea sarcinilor de fundal este lansată, procesele client rămase obțin capacitatea de a programa mecanismul sarcinilor de fundal, adică. Pot rula și gestiona sarcinile de fundal.

În versiunea client-server Pentru a efectua sarcini de fundal, se utilizează un programator de sarcini, ceea ce este fizic în managerul de cluster. Planificatorul pentru toate sarcinile de fundal atribuite pentru a efectua sarcinile de fundal primește fluxul de lucru cel mai puțin încărcat și îl utilizează pentru a efectua sarcina de fundal corespunzătoare. Fluxul de lucru este însărcinat și notifică planificatorul cu privire la rezultatele execuției.

Versiunea client-server are capacitatea de a bloca executarea sarcinilor de reglementare. Blocarea executării sarcinilor de reglementare are loc în următoarele cazuri:

  • Baza de informare are o blocare clară a sarcinilor de reglementare. Blocarea poate fi instalată prin consola de cluster;
  • Baza de date Informații este setată pentru a bloca conexiunea. Blocarea poate fi instalată prin consola de cluster;
  • Din limba încorporată, se numește metoda de stabilire monopulară () cu parametrul adevărului;
  • În alte cazuri (de exemplu, la actualizarea configurației bazei de date).

Pornirea și vizualizarea regulilor pentru sarcinile de reglementare Puteți descărca aici.

Ne permite să facem orice calcule în sistem imperceptibil pentru utilizator, adică în fundal. Mai mult decât atât, acest mecanism ne permite lui Pararallery procesul de calcul. Putem chiar paralela procedura care va fi efectuată. Pentru a face acest lucru, sarcina noastră de fond trebuie să lanseze mai multe sarcini de fond. În acest caz, procesele sunt paraleleizate și, dacă avem un sistem multiprocesor, multi-core, algoritmul nostru va funcționa eficient. După lansarea mai multor procese, putem spune că sistemul este necesar să așteptați pentru sfârșitul executării acestor procese pentru a reduce într-un fel rezultatul.

De exemplu, în configurații tipice, în timp ce apare utilizator, se produce un alt tip de sarcini de fundal de serviciu. Aceasta poate dovedi înregistrările înregistrărilor înregistrărilor în care se înregistrează faptul că se înregistrează astfel de acțiuni. Și nu afectează activitatea utilizatorului, el nu le observă.

În mod ideal, sarcina de fundal este implementată în versiunea client-server, în acest caz întreaga încărcătură se duce la server. În ceea ce privește opțiunea de fișier, activitatea sarcinii de fundal este posibilă, dar are unele caracteristici.

Acesta este ceea ce este emis sistemul dacă nu luați în considerare aceste caracteristici și executați sarcina de fundal în versiunea de fișier a bazei de informații.


Sarcina de fundal 1C are unele limitări. Deoarece rulează pe partea serverului, atunci nu există posibilitatea de a lucra interactiv cu utilizatorul. De exemplu, nu puteți retrage un mesaj, bine, în general, unele informații. Toate aceste date trebuie menținute în baza de informații și procesează în continuare.
Revenind la sintaxa asistent, puteți obține informații mai detaliate despre sarcinile de fundal 1C. Aici trebuie remarcat faptul că acest obiect este exclusiv software și nu este salvat în baza de date. Adică, creăm o instanță a clasei, inițializăm proprietățile și rulați-o pentru a executa.

Ce fonduri trebuie să gestionăm sarcinile de fond? Acest mijloc este obiectul metadatelor "Forțele gestionate". Acest obiect are o metodă "Alerga"Cu această metodă, sarcina de fundal este pornită.

Are următorii parametri:
"Namemode" - numele procedurii sau funcției care trebuie efectuate și aceasta trebuie să fie o procedură sau o funcție de context a serverului;

"Parametrii" - Gama de parametri, numărul de elemente care trebuie să corespundă numărului de parametri ai procedurii / funcției specificate în parametru "Namemode";

"Cheie" - o anumită cheie de unicitate, reprezentând o linie de la sine, în care sistemul înțelege dacă începe sarcina de fond sau o astfel de sarcină a fost deja lansată;

"Nume" - Aici puteți specifica o descriere arbitrară a metodei noastre.

Valoarea returnată este obiectul "Franța"conținând metoda curentă a metodei, cheia curentă și mai multe proprietăți și metode. Una dintre aceste metode este metoda "Așteptați convertoarele". Sarcina sa este că putem specifica sistemul, astfel încât nimic nu sa făcut până când sarcina de fundal va fi finalizată.

Sarcina de fundal 1C 8.2, 8.3 - Exemplu de utilizare

Dăm un exemplu de lucru cu sarcini de fundal 1C. În primul rând, creați un algoritm simplu care va descărca pe scurt sistemul 1C, astfel încât să nu putem face nimic în acel moment.

Pentru aceasta:

1. Creați un modul comun "PrelucrareaFounds"care vor fi compilate pe partea serverului;


2. Să descriem în procedura de export IT "Apendice de producție (parametru)"care acceptă un parametru de tip șir;

Procedură ProdusePhone [parametru) Timp de export \u003d CurrentData (); În timp ce curge) () - timp< = 6 Цикл КонецЦикла ; КонецПроцедуры Процедура КнНажатие() ОбработчикиФоновыхЗаданий. ПроизветиФоновоеВычисление("Un fel de parametru"); Extradreses.
Gata. Acum, când începeți procesarea și apăsarea butonului, sistemul funcționează timp de câteva secunde, în procesul de care nimic nu poate fi făcut. Este doar ceea ce trebuia să facem.

Acum vom oferi un produs al acestor calcule în fundal, adică sarcina de fond 1c 8.2, 8.3 a fost efectuată, dar nu ne-a împiedicat.

Pentru aceasta:

1. În procesare, în evenimentul de presare, următorul cod este următorul cod.

Procedura de fuziune () parametri \u003d o nouă matrice; Parametri. Adăuga ( "Un fel de parametru"); Aspectul de fundal. A executa "PrelucrareaFoundsfounds. Playfounds", Parametri, un nou identificator unic, "Test"); Extradreses.

Aici, primul parametru transmitem numele procedurii modulului general, iar al doilea este o serie de parametri. Al treilea parametru trebuie transferat la o cheie unică și o a patra descriere a procedurii noastre.

Am făcut în articolul din titlu Întrebarea este relevantă pentru mulți administratori de sistem care lucrează cu acest produs. Pe cât posibil, încercăm să vorbim despre parametrii care afectează performanța 1c și de descărcare de mituri populare. Astăzi, pe exemplul unui caz recent, vrem să vă spunem despre un alt aspect care poate afecta serios productivitatea - sarcinile de reglementare.

Să începem cu un caz real. Nu cu mult timp în urmă, unul dintre clienții noștri ne-a transformat cu o plângere cu privire la "frânarea" 1c de la unul dintre angajații săi. Simptomele au fost exprimate în faptul că, după un anumit timp, configurația controlului comerțului 10 a început să încetinească mult și pur și simplu a ezitat de ceva timp.

Cu o analiză mai detaliată a situației, sa dovedit că a fost doar la un angajat și la orice loc de muncă, sa întâmplat de mult timp, dar dacă "frânele" mai devreme au durat aproximativ o secundă, acum, după actualizare, ei poate dura până la 15-20 de secunde, ceea ce face ca lucrarea să fie extrem de incomodă.

În principiu, datele sursă sunt deja suficiente pentru a face primele concluzii. Le dăm din nou:

  • "Frânele" apar în mod constant, cu o anumită periodicitate
  • "Încetinește" doar un singur utilizator
  • "Încetinește" la orice loc de muncă

Pentru a confirma ghicirile dvs. să se uite în Setări pentru parametrii contabili:

Într-adevăr, utilizatorul "Problemă" este specificat ca utilizator pentru a efectua sarcini de reglementare. Așa cum sa dovedit, o dată cu mult timp în urmă, atribuirea autocramei Rib lucra în numele acestui utilizator. Rămâne de văzut ce anume a fost cauza "frânării" episodice. Este, de asemenea, ușor de făcut:

Și aici este "celebrarea celebrării" - stabilind actualizarea indicelui de căutare cu text integral, care a fost lansat o dată la 2,5 minute. În acest caz, problema a fost complet rezolvată prin oprirea executării sarcinilor de reglementare sub acest utilizator, dar acest lucru nu este întotdeauna posibil sau adecvat, deci mai jos vom examina modul în care puteți gestiona sarcinile de reglementare și cum să vă asigurați că acestea nu au un impact negativ asupra productivității.

Aplicație normală

În configurații bazate pe aplicarea obișnuită a unui singur set de instrumente pentru a gestiona sarcinile de reglementare acolo. Acest lucru se datorează în mare măsură faptului că, în momentul dezvoltării lor inițiale, conceptul de sarcini de reglementare în sine a fost dezvoltat destul de slab.

Gestionarea numeroaselor sarcini de reglementare se face prin setarea subsistemelor asociate. De exemplu, ar trebui căutate setările sarcinilor de reglementare asociate schimbului de date în cadrul setărilor de schimb asociate cu AGAIS în setările comerciale alcoolice etc.

La prima vedere, totul este destul de logic, dar absența unui singur instrument face dificilă controlul sarcinilor de reglementare configurate și optimitatea setărilor acestora. Ei bine, dacă sarcinile sunt una - două și dacă există mai multe dintre ele sau, ca în cazul nostru, există o suspiciune a oricărei sarcini de reglementare, dar nu aveți ideea care a fost configurată în această bază de date.

În acest caz, ar trebui să utilizați procesarea externă Consolezdans. (Jobsconsole.), care este inclusă în setul de tratamente standard pe discul său. Prelucrarea oferă o singură interfață pentru toate sarcinile și le permite să-și îndeplinească setarea centralizată, precum și să controleze sarcina pe care o rulează la ora curentă.

Această listă trebuie să fie învățată cu atenție, toate sarcinile inutile ar trebui dezactivate, iar în conducerea necesară programul în conformitate cu nevoile urgente și bunul simț. De exemplu, în cazul nostru, nu este nevoie să se ocupe de răspunsurile EGAI la fiecare 30 de secunde (această setare este făcută pentru testare) și în modul de lucru va fi suficient de suficient pentru ao face o dată la o jumătate de oră.

Aplicație controlată

În configurațiile bazate pe o aplicație gestionată, este alocat un rol mai important al sarcinilor de reglementare, cu ajutorul lor diverse sarcini pentru întreținerea bazei de informații și menținerea acestuia în starea actuală, dar în același timp este tocmai sarcinile de reglementare devin cel mai adesea cauza "frânelor".

Pentru a gestiona sarcinile de reglementare, un articol hotel este destinat în meniu Administrație - Suport și întreținere.

Se poate observa imediat că sarcinile au fost adăugate în mod semnificativ (de exemplu, am luat aceeași configurație - comerțul cu amănuntul), iar stabilirea lor competentă este capabilă să îmbunătățească semnificativ performanța bazei de informații. Setările implicite se fac pe baza nevoilor companiei sferice medii aflate în vid și nu sunt optime chiar și aproape.

În primul rând, opriți ceea ce este în mod clar inutil, cu care nu lucrați. Apoi optimizăm programul funcțiilor rar utilizate, să spunem actualizarea clasificatorului băncilor în comerțul cu amănuntul, precum și controlul contrapartidelor, pot fi efectuate o dată pe săptămână în ore sau la sfârșitul zilei de lucru.

O atenție separată ar trebui acordată tot ceea ce este asociat cu indicele de căutare. Căutarea de text integral este cu siguranță un lucru confortabil, dar lucrul cu indicele său este o sarcină foarte intensă de resurse. Prin urmare, nu ar trebui să cadă în extremă și să o abandonați, dar ar trebui să revizuiți și să configurați în mod serios parametrii săi.

Să începem cu S. extrageți textAceastă operație vă permite să căutați pe conținutul fișierelor aplicate, deci dacă nu le utilizați, nu căutați, sau aveți câteva imagini acolo, atunci această operație poate fi dezactivată, în orice caz, pentru ao realiza 85 de secunde - Forța brută explicită.

Indexul de actualizare PPD. - una dintre cele mai intensive operațiuni de resurse, implicite o dată pe minut.

Și acum ne gândim cât de des în baza de date se adaugă sau informații despre care căutați cel mai adesea căutarea? Nu în mod clar în fiecare minut, deci va fi suficient pentru a actualiza indicele mult mai puțin frecvent: o dată pe oră, o dată pe zi sau în general o dată pe săptămână.

De asemenea, se aplică indicele de fuziune PPD.Dacă actualizați indicele o dată pe zi, ar trebui să configurați fuziunea pentru a executa o dată pe săptămână, în timp ce alegerea timpului cel mai puțin de interferență ca începutul sarcinii.

Aceste operații simple vă vor permite, fără deteriorarea specială a funcționalității de configurare pentru a crește confortul de a lucra cu acesta la un nou nivel datorită eșecului executării frecvente a operațiunilor suficient de intensive a resurselor. Doar nu cad în extremități, judecați cu competență modul în care aveți nevoie de anumite oportunități și cât de des ar trebui efectuate sarcinile asociate.

  • Etichete:

Activați JavaScript pentru a vizualiza