Baggrundsjob 8.3 arbejdsprocessen afsluttedes unormalt. – Fjernelse af irrelevant synkroniseringsinformation

Brugere klager ofte over, at "1C 8.3 er langsom": dokumentformularer åbner langsomt, dokumenter tager lang tid at behandle, programmet starter, rapporter tager lang tid at generere, og så videre.

Desuden kan sådanne "fejl" forekomme i forskellige programmer:

Årsagerne kan være forskellige. Dette er ikke gendannede dokumenter, en svag computer eller server, 1C-serveren er forkert konfigureret.

I denne artikel vil jeg se på en af ​​de enkleste og mest almindelige årsager langsomt arbejde programmer – . Denne vejledning vil være relevant for brugere af fildatabaser til 1-2 brugere, hvor der ikke er konkurrence om ressourcer.

Hvis du er interesseret i mere seriøs optimering af klient-server-muligheder for systemdrift, kan du besøge sektionen af ​​webstedet.

Hvor er de planlagte opgaver i 1C 8.3?

Inden jeg nåede at indlæse programmet, blev mange baggrundsopgaver udført i 1C. Du kan se dem ved at gå til menuen "Administration" og derefter "Support og vedligeholdelse":

Få 267 videolektioner på 1C gratis:

Sådan ser vinduet med udførte opgaver ud:

Og så fuld liste alle planlagte opgaver, der startes:

Blandt disse opgaver er såsom ““, indlæsning af forskellige klassificeringer, kontrol af relevansen af ​​programversionen og så videre. Jeg har for eksempel ingen brug for næsten alle disse opgaver. Jeg fører ikke valutaregistreringer, jeg kontrollerer selv versionerne og indlæser klassifikatorer efter behov.

Derfor er det i min (og i de fleste tilfælde i din) interesse at deaktivere unødvendige opgaver.

Deaktivering af planlagte opgaver og baggrundsopgaver i 1C 8.3

Sandsynligvis skulle hver 1C 8.3 programmør før eller siden konfigurere udførelsen af ​​visse opgaver efter en tidsplan. Nedenfor vil jeg give detaljeret beskrivelse af disse mekanismer, håber jeg, det bliver nyttige oplysninger for begyndere 1C programmører. Dette er meget praktisk, fordi det ikke kræver menneskelig handling, rutineopgave kan konfigureres én gang og fungerer i henhold til din tidsplan.

Du finder detaljerede instruktioner ved hjælp af et eksempel nedenfor.

Hvad er rutine- og baggrundsopgaver i 1C

  • Planlagte opgaver- Det her speciel mekanisme 1C enterprise 8.3, designet til at udføre en specifik handling i henhold til en given tidsplan.
  • Baggrund job- objekter genereret af en rutineopgave, der direkte udfører den tilsigtede handling uden deltagelse af brugeren eller 1C 8.2-programmøren.

Mekanismen for rutine- og baggrundsjob fungerer i klient-server-tilstand (SQL) takket være funktionaliteten i DBMS. Har du en fildatabase, så kan opgaven også konfigureres, men efter et lidt andet princip.

Opsætning af baggrundsjob i 1C klient-server-tilstand

Lad os først oprette et nyt metadataobjekt - en rutineopgave. Jeg vil kalde min opgave "Indlæsning af valutakurser". Lad os se på egenskabspaletten for dette konfigurationsobjekt:

Få 267 videolektioner på 1C gratis:

  • Metodens navn— stien til den procedure, der vil blive udført i et baggrundsjob i henhold til en given tidsplan. Proceduren skal være i et fælles modul. Det anbefales ikke at bruge standard, men at skabe dine egne. Glem ikke, at baggrundsjob kører på serveren!
  • Brug— et tegn på at bruge en rutineopgave.
  • Forudbestemt— angiver, om rutineopgaven er forudbestemt. Hvis du ønsker, at rutineopgaven skal virke umiddelbart efter at være blevet placeret i databasen, skal du angive dette flag. Ellers skal du bruge Job Console-behandling eller få jobbet til at køre programmatisk.
  • Antal genforsøg, når en opgave afsluttes unormalt— hvor mange gange baggrundsjobbet blev genstartet, hvis det blev udført med en fejl.
  • Prøv igen interval, når jobbet afsluttes unormalt— hvor ofte baggrundsjobbet genstartes, hvis det blev afsluttet med en fejl.

Og den mest interessante indstilling er Skema:

Her konfigurerer du startintervallet for den procedure, der er angivet i feltet "Metodenavn". Lad os sige, at jeg konfigurerede

Opmærksomhed! Glem ikke at deaktivere blokering af udførelse af rutine- og baggrundsjob på DBMS-niveau!

Dette kan gøres i administrationsværktøjet til klient-server-versionen eller ved oprettelse af en ny database:

Opsætning af rutineopgaver i 1C-filtilstand

I filtilstand er det noget sværere at sætte sådanne job op. Til en sådan opgave skal en separat session af 1C-programmet lanceres. Dette løses ofte ved at oprette en "teknisk" bruger, hvis session altid kører.

I filtilstand initialiseres et rutinejob, når "RunTaskProcessing()"-metoden startes.

For en bestemt bruger kan du konfigurere denne metode til at køre ved hjælp af en anden metode −

ConnectWaitHandler( <ИмяПроцедуры>, <Интервал>, <Однократно>).

  • Procedurenavn— navnet på den procedure, der er tilsluttet som ventemand. Navnet på den eksporterede procedure for et administreret applikationsmodul (et almindeligt applikationsmodul) eller et globalt delt modul. Proceduren skal være placeret på klienten.
  • Interval— periode mellem udførelsen af ​​operationer i sekunder.
  • Én gang- hvordan man udfører opgaven, én gang eller ej.

ConnectWaitHandler, 3600 );

En to-minutters video, der viser, hvordan man opsætter en rutineopgave i 1C-konfiguratoren:

" I den vil vi se på nye funktioner, der ikke relaterer til systemgrænsefladen, men udvider den leverede funktionalitet på 1C:Enterprise 8-platformen markant.

Anvendelighed

Artiklen diskuterer 1C:Enterprise-platformen version 8.3.4.437. Al funktionalitet beskrevet i artiklen er blevet opdateret til version 8.3.11.

Andre innovationer i 1C:Enterprise 8.3

Lad os fortsætte med at stifte bekendtskab med innovationerne i 1C:Enterprise 8.3-platformen.

Baggrunds- og rutineopgaver i filinfobasen

I mange typiske platformskonfigurationer 8.2 der var en konstant, der indikerede den bruger, under hvem opgaverne blev udført i filversionen.

Da systemet begyndte at køre under denne bruger, blev der tilsluttet en ventehandler, som kaldte den indbyggede sprogmetode med en vis periodicitet ExecuteTaskProcessing().

Denne tilgang skabte yderligere vanskeligheder og besvær ved at bruge rutineopgaver i fildatabasen.

Dette kan især være kritisk, når man arbejder med konfigurationer som f.eks "Omfattende automatisering" eller "Kontrollere produktionsvirksomhed, hvor regulatoriske opgaver spiller en ret vigtig rolle.

Hvis dette er fil IB så
=
Constants.UserForExecutingRoutineTasksInFileVariant.Get();
Hvis chValueVariable("glCurrentUser") =
UserTo ExecuteTaskRegl
// med et interval på sekunder kalder vi proceduren for at arbejde med rutineopgaver
SupportRegularTaskForFileVersion();
IntervalFor Poll=
Constants.IntervalFor PollingRutineTasksInFileVariant.Get();
Hvis IntervalFor Poll= Udefineret
ELLER IntervalFor Poll= 0 Så
IntervalFor Poll= 60 ;
EndIf ;
ConnectWaitHandler("Support for RoutineTaskForFileVersion",
IntervalFor Poll);
EndIf ;
EndIf ;

På platformen 8.3 implementeret arbejdet med baggrunds- og rutineopgaver i filinfobasen uden at bruge det globale kontekst-metodekald ExecuteTaskProcessing().

Baggrunds- og rutineopgaver udføres direkte i en af ​​klientapplikationerne (tynd, tyk klient) eller af en webserverudvidelse.

Et baggrundsjob, der startes af en session, udføres af det samme klientprogram, som startede det.

Baggrundsjob udføres sekventielt, dvs. På én klientapplikation kan kun én baggrundsopgave (inklusive rutineopgaver) udføres ad gangen.

Rutineopgaver udføres af kun én klientapplikation. For at kontrollere lanceringen af ​​planlagte opgaver bruges en kommandolinjetast /AllowExecuteScheduledJobs.

Rutineopgaver udføres af den første klientapplikation i startrækkefølgen, som ikke er forbudt at udføre rutineopgaver (for at forbyde sessionen skal sessionen startes med kommandolinjeparameteren /AllowExecuteScheduledJobs -Off).

Når den session slutter, går eksekveringen videre til en af ​​de resterende kørende sessioner.

Hvis klientapplikationens startlinje udtrykkeligt angiver behovet for at køre rutineopgaver (i kommandolinje angivet /AllowExecuteScheduledJobs -Force), så begynder rutineopgaver at blive udført på den, uanset tilstedeværelsen af ​​andre sessioner.

Rutineopgaver behandles en gang hvert 60. sekund.

Bemærk, at rutineopgaverne for applikationsløsningen (i filversionen) begyndte at blive udført tidligst 1 minut efter, at klientapplikationen blev startet. Fra og med version 8.3.8 er denne tid blevet fordoblet, og derfor begynder rutineopgaver at blive udført maksimalt 2 minutter efter, at klienten er startet (i filversionen).

Denne afgørelse skyldes en reduktion af forsinkelsen ved start af ansøgningen. Derudover blev evnen tilføjet i release 8.3.7 hurtig definition at den aktuelle session er en baggrundsjobsession. Dette er implementeret ved hjælp af den nye globale kontekstmetode GetCurrentInfoBaseSession(), samt en ny metode til infobasesessionen GetBackgroundTask().

Nedenfor er kode, der illustrerer ovenstående:

Klik på billedet for at forstørre.

Beregning af kontrolsummer

Platformen indeholder nu mekanismer til beregning af datakontrolsummer.

Lad os minde dig om det kontrolsum(hash) er en værdi, der beregnes ud fra et sæt data ved at anvende en bestemt algoritme og bruges til at kontrollere integriteten af ​​data under transmission eller lagring.

Hashes kan bruges til at kontrollere identiteten af ​​data (f.eks. skal du sikre dig, at filen ikke blev beskadiget ved overførslen; tjek om der er foretaget ændringer i filen, og i så fald upload den til databasen igen) .

Til dette formål blev et objekt implementeret i platformen HashingData, tilgængelig på serveren, i den tykke klient, ekstern forbindelse og også på mobilapplikationsserveren.

Dette objekt har to metoder: Tilføje() Og AddFile(), som opdaterer hash-summen under hensyntagen til de data, der sendes i parametrene.

Platform 8.3.4.437 understøtter beregning af følgende hash-funktioner: CRC32, MD5, SHA1, SHA256. Men funktionerne SHA1 Og SHA256 er ikke understøttet på den mobile platform.

Lad os se på et simpelt eksempel. Det antages, at der på serveren i programbiblioteket er en fil " ragent.exe" Skal beregne MD5-sum for denne fil.

For at gøre dette vil vi oprette en ekstern behandling, på hvilken form vi vil placere kommandoen Beregne. Behandleren indeholder følgende kode:

&OnClient
Procedure Beregn (kommando)
Resultat = CalculateOnServer();
Rapport(String(Resultat));
Slutprocedure
&OnServer
Fungere CalculateOnServer()
Hash = Ny HashingData(HashFunction.MD5);
Hash.AddFile(Katalogprogrammer() + "ragent.exe" );
Returner Hash.HashSum ;
EndFunction

I udgave platform 8.3.10+ i metoden Tilføje() objekt HashingData Det blev muligt at bruge en strøm af binære data, hvilket i høj grad forenklede deres brug til at løse forskellige anvendte problemer med at opdatere hash-summer.

Arbejde med beskyttede versioner af protokoller SMTP/POP3

På platformen 8.3 blev det muligt at bruge beskyttede versioner af protokoller SMTP/POP3(der er vilkår SMTPS/POP3S eller SSLSMTP/SSLPOP3).

Til objekt InternetMailProfile nye ejendomme implementeret:

  • Brug SSLSMTP;
  • Brug SSLPOP3;
  • Kun SecureAuthenticationSMTP;
  • Kun POP3 Secure Authentication.

Egenskaber AuthenticationSMTP Og POP3-godkendelse objekt InternetMailProfile, samt overførsler SMTPA-godkendelsesmetode Og POP3-godkendelsesmetode Det anbefales ikke at bruge dem - de understøttes for kompatibilitet.

Brug af en sikker protokol SMTPS gør det muligt at sende mail fra 1C, ved hjælp af i postkassen Google.

Lad os se på et eksempel. På formularen vil vi placere felter til indtastning af emnet for brevet og modtagerens adresse, og til indtastning af brevets tekst - et formateret dokumentfelt.

Klik på billedet for at forstørre.

Når du trykker på knappen Sende Følgende kode vil blive udført:

&OnClient
Procedure Send (Kommando) Mail = Ny InternetMail; Profil = Ny InternetMailProfile;
Profile.SMTPServerAddress= "smtp.googlemail.com" ;
Profil.BrugerSMTP= “[e-mailbeskyttet]” ;
Profil.PasswordSMTP= "PASSWORD" ;
Profil.BrugSSLSMTP= Sandt ;
Profile.SMTPPort = 465 ; Forsøg
Mail.Connect(Profil);
Undtagelse
Rapport(ErrorDescription());
Retur ;
Slutforsøg ; MailMessageText= “” ;
Vedhæftede filer = Ny struktur;
Tekst.GetHTML(MailMessageText, Vedhæftede filer); MailBesked= Ny InternetMailMessage;
MailMessage.Recipients.Add(Til hvem);
MailMessage.Subject= Emne;
MailMessage.Texts.Add(MailMessageText,
MailMessageTextType.HTML); Mail.Send ( MailBesked); Mail.Afbryd forbindelsen();
Slutprocedure

Bemærk, at hvis SMTP-serveren i vores eksempel ikke var i stand til at sende en e-mail til modtageren(e), så Mail.Send(MailMessage) kastede en undtagelse. Dette medførte visse gener for udviklerne, fordi... Årsagen til at kaste undtagelsen var ikke indlysende.

I version 8.3.9 er denne adfærd ændret, og nu returnerer metoden Send() et match, hvis nøgle er modtageren, og hvis værdi er diagnosticeringen fra mailserveren. Dette giver dig mulighed for nøjagtigt at bestemme årsagerne til, at du ikke har sendt en e-mail til hver modtager. I kompatibilitetstilstand med version 8.3.8 er adfærden ikke ændret.

Duplex udskrivning

På platformen 8.2 Selve platformen klarede ikke dupleksudskrivning. Denne funktion kunne kun styres ved hjælp af printerdriveren.

På platformen 8.3 det blev muligt at styre dupleksudskrivning for et regnearksdokument, et grafisk diagram (fra det indbyggede sprog og interaktivt) og et tekstdokument (kun interaktivt).

Systemopregninger dukkede op på det indbyggede sprog:

  • Duplex udskrivningstype(Ingen, FlipUp, FlipLeft);
  • (Auto, MirrorTop, MirrorLeft, Må ikke bruges).

Og til genstande Tabeldokument Og grafisk skema egenskaber dukkede op Duplex udskrivning Og Skift af sidearrangementer, hvormed du kan ændre layoutet på udskrevne sider.

I platformversion 8.3.9 har DuplexPrintType-systemopregningen en ny værditilvækst Brug Printerindstillinger. Valg af denne værdi gav dig mulighed for at bruge printerindstillingerne, når du udskriver systemdokumenter. I 8.3.8-kompatibilitetstilstand er adfærden uændret, og de tilsvarende printerindstillinger ignoreres.

Dialogen til udgivelse af en informationsbase på en webserver er blevet mere funktionel. Nu udgivelse fra konfiguratoren giver dig mulighed for at indstille alle filparametre default.vrd.

Til dialogen for udgivelse af en webklient og webtjenester gennem konfiguratoren er følgende implementeret:

  • mulighed for at kontrollere tilgængeligheden af ​​webtjenester som standard (attribut pointEnableCommon element ws);
  • mulighed for at kontrollere udførelsen af ​​baggrundsjob i filversionen (attribut tillade at udføre planlagte job element ws).

Hvis afkrydsningsfeltet "Udgiv webtjenester som standard" på bogmærket "Grundlæggende" er installeret, så udgives de valgte webtjenester automatisk ved opdatering af publikationen.

Ellers vil webtjenesterne blive markeret som ikke-publicerbare. Dette flag svarer til attributten pointEnableCommon element ws i filen default.vrd, beregnet til opsætning af en webklient og webtjenester.

Attribut pointEnableCommon ws element er ansvarlig for muligheden for i denne informationsbase at bruge webtjenester, der er udgivet uden eksplicit angivelse af tilladelse til brug (attribut aktivere element punkt).

Hvis attributten har en værdi ægte, derefter alle webtjenester, for hvilke attributværdien ikke er eksplicit angivet aktivere element punkt, vil være tilladt til brug.

Ellers vil brugen af ​​sådanne webtjenester være forbudt.

Indstillinger "Baggrundsjob i filtilstand" matcher attribut tillade at udføre planlagte job ws element i filen default.vrd.

Attribut tillade at udføre planlagte job styrer muligheden for at udføre rutineopgaver af webserverudvidelsen for filversionen af ​​infobasen.

Attributten kan have følgende værdier:

  • slukket– i dette tilfælde vil webserverudvidelsen ikke udføre rutineopgaver. Rutineopgaver vil blive udført af en klientapplikation (hvis en sådan findes), som forbinder til infobasen direkte uden brug af en webserver.
  • kraft– i dette tilfælde vil webserverudvidelsen udføre rutineopgaver.
    Hvis værdien af ​​denne attribut ikke er angivet, vil rutineopgaver blive udført af den applikation, som den første forbindelse til infobasen vil blive foretaget med.

Udgivelsesvinduet på webtjenesten er blevet endnu mere bekvemt og ergonomisk i den nuværende udgivelse af platformen. Nu er parametrene, der beskriver OpenID-godkendelse, placeret på en separat fane.

Nummerering af infobase objekter

På platformen 8.3 Mekanismen til automatisk nummerering af informationsbaseobjekter er blevet redesignet. Det unikke af et nummer eller en kode (inklusive dem, der opnås som et resultat af automatisk generering af et nummer eller kode) kontrolleres altid, når et objekt registreres.

En indikation af, hvilket nummer eller hvilken kode, der ikke er unik, er tilføjet teksten i meddelelsen om krænkelse af et nummers eller kodes unikke karakter.

Brugen af ​​et ledigt nummer eller kode er ændret. Nyt nummer eller koden tildeles uden brug af frigivne numre eller koder, hvis der allerede er udstedte numre eller koder med et stort (i rækkefølge) præfiks af nummeret eller koden.

Aggregerede funktioner i datasammensætningssystemets udtrykssprog

Nye aggregerede funktioner implementeres i datasammensætningssystemets udtrykssprog:

  • Hver();
  • Enhver();
  • StandardDeviationofPopulation();
  • StandardSampleDeviation();
  • VarianceSamples();
  • VarianceofPopulation();
  • CovariancePopulation();
  • SampleCovariance();
  • Korrelation();
  • RegressionSlope();
  • RegressionSegment();
  • RegressionCount();
  • RegressionR2();
  • RegressionAverageX();
  • RegressionAverageY();
  • RegressionAverageSXX();
  • RegressionAverageSYY();
  • RegressionAverageSXY().

Som navnene indikerer, er der tale om statistiske funktioner, hvilket betyder, at udviklere har mulighed for at lave komplekse rapporter uden at skulle udvikle procedurer til beregning af statistiske data.

Klik på billedet for at forstørre.

Som du kan se på figuren, er der ingen nye funktioner i rullelisten, men hvis du indtaster dem manuelt, kommer der ingen fejlmeddelelse, og rapporten genereres:

Også af interesse ny funktionKlassifikationABC(). Resultatet af funktionen vil være klassenummeret, startende fra 1 (1 svarer til klasse A, 2 til klasse B, 3 til klasse C osv.).

Lad os demonstrere, hvordan denne funktion fungerer. Lad os oprette en ny ekstern rapport "Klassificering af varer" baseret på anmodning:

VÆLGE
ProduktforbrugProdukter.Produkt,
ProduktforbrugProdukter.Mængde
FRA
Dokument.Forbrug af varer.Varer HVORDAN Produktforbrug Produkter

Lad os definere et nyt beregnet felt Klasse:

Klik på billedet for at forstørre.

Lad os konfigurere ressourcerne som følger:

Klik på billedet for at forstørre.

I brugertilstand ser rapporten sådan ud:

Afslutningsvis bemærker vi, at fra udgave til udgave i 1C 8.3-platformen bliver ACS-mekanismen konstant forbedret og forfinet, og inden for rammerne af vores "nybegynder"-artikel er det ikke muligt at præsentere disse ændringer fuldt ud. Ja, det virker unødvendigt, for når du arbejder på den aktuelle version af platformen, kan du altid bruge forskellige hjælpesystemer til at hjælpe dig med at analysere dette eller det aspekt af driften af ​​denne mekanisme.

Derudover skal du ikke glemme vores separate kursus Professionel udvikling af rapporter i 1C 8.3 om Data Composition System, som nedbryder alle finesser og faldgruber til atomet, når du arbejder med denne mekanisme. Tjek selv demoen.

Så lad os opsummere de mellemliggende resultater. Indtil nu har vi stiftet bekendtskab med de nye funktioner i Taxi-grænsefladen og administrerede formularer, samt nogle tidligere ikke-leverede funktioner på selve platformen. Nu er det tid til at se, hvilke praktiske funktioner der er blevet tilgængelige for udvikleren i konfiguratoren.

Nogle opgaver inden for dokumenthåndtering og regnskab skal muligvis udføres med jævne mellemrum. For eksempel den tyvende. Eller dagligt.

Typisk forsøger en virksomhed at lave regler for udførelse af sådanne opgaver – hvem, hvornår og hvordan skal udføre opgaven, hvem skal kontrollere den.

Sådanne opgaver kaldes regulerede, det vil sige udføres i overensstemmelse med forskrifter.

Inden for IT udføres overvågning ofte på en reguleret måde.

Dette er velkendt for systemadministratoren - der er specielle programmer, der med jævne mellemrum kontrollerer ydeevnen af ​​servere og netværksinfrastruktur og underretter administratoren via SMS eller e-mail.

Lignende ting findes for webmastere - at kontrollere tilgængeligheden af ​​webstedet i løbet af dagen.

I 1C udføres overvågningsopgaver og alle andre periodiske opgaver, der skal udføres automatisk i henhold til en tidsplan, ved hjælp af 1C Scheduled Tasks-mekanismen.

Lad os tale om dem i dag.

Planlagte opgaver 1C

Planlagte opgaver 1C er dem, der giver dig mulighed for at udføre dem, som de gør, men efter en tidsplan.

Selve 1C rutineopgaven i konfiguratoren er en måde at specificere indstillinger og sætte en tidsplan på. Tidsplanen kan i øvrigt ændres dynamisk senere i 1C Enterprise-tilstand.

Baggrundsjob kan oprettes fra teksten i et program på 1C-sproget vilkårligt uden et planlagt 1C-job - til parallel databehandling på serveren.

Udførelsen af ​​rutinemæssige 1C-opgaver kan deaktiveres midlertidigt - in.

Tilføjelse af en 1C rutineopgave

Rutine 1C-opgaver er placeret i konfigurationen i grenen Generelt/Rutine 1C-opgaver. Lad os tilføje en ny 1C regulatorisk opgave og angive dens navn.

I egenskaben for 1C rutineopgaven er metodenavnet angivet, ligesom i. Funktionen vil være placeret i et fælles modul med afkrydsningsfeltet Server markeret i egenskaberne, dvs. modulet skal tilføjes på forhånd.

Egenskaben for 1C planlagt opgave - Opgavenavn - bestemmer navnet, som opgaven skal vises under i opgavestyringsværktøjer.

1C rutineopgaveegenskaben – Key – giver dig mulighed for at gruppere flere forskellige 1C rutineopgaver. Kun ét job med samme nøgleværdi kan startes ad gangen. Selve værdien kan være vilkårlig. En tom værdi tages ikke i betragtning under kontrol (det vil sige, at den betragtes som tom).

Egenskaben for en 1C rutineopgave - Foruddefineret - bestemmer, at når 1C Enterprise startes, vil en sådan opgave blive oprettet i en enkelt kopi med den tidsplan, der er angivet i konfiguratoren. Ikke-foruddefinerede opgaver vises programmatisk på tidspunktet for tidsplanen.

I typiske konfigurationer, for eksempel regnskabsudgave 2.0, er sådanne rutinemæssige 1C-opgaver som konfigurationsopdatering og genberegning af totaler foruddefinerede, men såsom dataudveksling eller udskudte bevægelser er ikke foruddefinerede.

Brug – aktiverer opgaven (det vil sige, at den kun udføres, hvis afkrydsningsfeltet Brug er markeret).

Prøv igen ved unormal afslutning - som du måske kan gætte, betyder det at genstarte opgaven, hvis den ikke kunne fuldføres med succes første gang - du kan angive, hvor mange gange der skal genstartes, og hvor længe efter den unormale afslutning.

1C rutinemæssig opgavestyring og overvågning

For at håndtere rutinemæssige 1C-opgaver er der en speciel standardbearbejdnings-jobkonsol. Den kan også findes på.

Denne behandling refererer til den såkaldte universelle eksterne standard 1C-behandling, som ofte ikke er inkluderet i konfigurationen, men distribueres separat, for eksempel på ITS-diske.

Ved at bruge jobkonsolbehandling kan du:

  • Aktiver/deaktiver udførelse af rutine 1C opgave
  • Tildel/ændre tidsplanen for en rutinemæssig 1C-opgave (og andre parametre)
  • Angiv den 1C-bruger, på hvis vegne den rutinemæssige 1C-opgave skal udføres
  • Se hvilke opgaver der blev udført hvornår og med hvilket resultat, fejl ved udførelse af 1C-opgaver
  • Fuldfør opgaven.

Kopier af databaser og 1C rutineopgaver

Hvis du bruger server 1C, opstår følgende situation:

  • Til dine egne formål (for eksempel til programmering) laves en kopi af arbejdsdatabasen
  • Arbejder, tester osv. i en kopi af databasen
  • Du glemmer at slå rutine 1C-opgaver fra i sådan en testdatabase.

Mens 1C rutineopgaver udfører opgaver, der kun er relateret til deres informationsbase, er der intet i det.

1C rutineopgaver kan dog ofte gemme filer eller data til andre databaser, udveksle, sende e-mails.

I dette tilfælde kan du få en interessant blanding mellem resultatet af at udføre rutinemæssige 1C-opgaver i arbejdsdatabasen og kopier.

Rutinemæssige 1C-opgaver til kopier af arbejdsdatabasen skal være deaktiveret i .

Opfyldelse og manglende opfyldelse af 1C regulatoriske opgaver

Når du opretter rutinemæssige 1C-opgaver, skal du huske:

  • Opgaver udføres af sig selv - de skal overvåges
  • Opgaver udføres i et modul på serveren
  • Opgaver udføres under en anden Windows-bruger med andre rettigheder.

Først skal du kontrollere, at opgaven bliver udført og kan udføres som en rutinemæssig 1C-opgave.

For det andet betyder servermodulet, at mange ting, der er tilgængelige på klienten, ikke er tilgængelige. For eksempel kan nogle gange ikke alle dokumenter kun postes på serveren, da deres algoritme kan forudsætte, at bogføringen startes manuelt af brugeren, og ikke-serverfunktioner kan bruges, f.eks.
Advarsel ("Hej!")

For det tredje, hvis en opgave omhandler noget uden for 1C-databasen, bliver rettighederne for den Windows-bruger, som opgaven udføres under, vigtige.

Det tredje punkt er især vigtigt, når man udvikler. Hvis modulet ikke kan udføres på serveren, vil opgaven slet ikke blive udført. For at kontrollere, skal du køre opgaven mindst én gang og se resultatet "Opgave fuldført" i Task Console-behandlingen.

Platforme: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfigurationer: Alle konfigurationer

2012-11-13
53992

I dokumenthåndtering er der opgaver, der kræver periodisk udførelse - for eksempel den tyvende eller dagligt. Som regel opretter virksomheder specielt til dette formål visse regler, som angiver hvornår og hvordan den påkrævede opgave skal udføres, og hvem der skal overvåge processen. Sådanne opgaver udføres i henhold til forskrifter og kaldes regulerede.

Ganske ofte overholdes overvågningsregler inden for IT. Denne metode er meget velkendt for administratorer, da der til dette formål er specielle programmer, der bruges til periodisk at kontrollere funktionaliteten af ​​netværksinfrastrukturen og serverne. De underretter administratoren om opdagede problemer via SMS eller e-mail.

Et lignende system fungerer for webmastere, og webstedets tilgængelighed kontrolleres inden for 24 timer. Ved hjælp af mekanismen "Rutineopgaver" i 1C udføres overvågningsopgaver samt periodiske opgaver, der udføres efter en tidsplan i automatisk tilstand i 1C. Lad os se nærmere på dette emne.

Planlagte opgaver 1C

1C-objektet, kaldet "Rutineopgaver", gør det muligt at behandle information ikke efter et problem opstår, men i henhold til en tidsplan. I konfiguratoren er en rutineopgave en måde at indstille indstillinger og sætte en tidsplan på. Derudover er det muligt efterfølgende at ændre tidsplanen i 1C Enterprise mode.

Ved brug fildatabase data, udføres opgaver ikke automatisk. For at starte processen skal du starte en 1C-session i 1C Enterprise-tilstand og begynde at udføre en rutineopgave i den.

Alle standardkonfigurationer har en brugerindstilling, der giver dig mulighed for at angive, at når 1C kører, udføres rutineopgaver automatisk.

Brug af klient-server-versionen af ​​1C gør det muligt automatisk at udføre opgaver på serveren. På det planlagte tidspunkt - et baggrundsjob lanceres, som udfører nødvendige handlinger. Til parallel beregning på serveren kan et baggrundsjob oprettes ud fra programteksten ved hjælp af 1C-sproget, uden at bruge et planlagt 1C-job. Handlingen af ​​en planlagt opgave kan midlertidigt deaktiveres ved hjælp af 1C-serverstyringskonsollen.

Tilføjelse af en planlagt opgave

Rutineopgaver er placeret i - Konfigurator - Generelt - Rutineopgaver. Tilføj en ny "opgave" og angiv et navn. Dernæst skal du gå til egenskaberne "Opgaver". Og vælg Metodenavn. Her skal du angive en handlerfunktion, ligesom det sker i et begivenhedsabonnement. Denne funktion vil være placeret i det generelle modul og markeret med en "fugl" Server i ejendommene. Det betyder, at det nødvendige modul skal tilføjes på forhånd.

Navnet på opgaven i egenskaberne for en planlagt opgave giver dig mulighed for at definere dens navn, som derefter vises i opgavestyringsværktøjerne. Funktionen Rutineopgaveegenskaber er en nøgle, der giver dig mulighed for at gruppere flere forskellige rutineopgaver. I dette tilfælde kan kun én opgave med samme nøgleværdi startes ad gangen. Her kan værdien være vilkårlig, men den skal udfyldes, da en tom værdi ikke tages i betragtning af systemet.

I Regnskabsudgave 2.0, som er en standardkonfiguration, er rutineopgaver som: "Genberegning af totaler" og "Opdatering af konfigurationen" foruddefineret, men som for eksempel "Udskudte bevægelser" og "Dataudveksling" er ikke foruddefinerede.

Prøv igen ved unormal opsigelse - genstarter det aktuelle job. Designet til at udføre en lancering, der ikke var vellykket første gang. Her er det angivet, hvor mange gange du kan genstarte og efter hvilken tid der er gået efter en unormal opsigelse.

Overvågnings- og styringsværktøjer til rutineopgaver 1C

Standardbehandlingen "Task Console", som kan findes på ITS-diskene, er ansvarlig for at styre en rutineopgave. Denne behandling er en universel ekstern standardbehandling for 1C. Som regel er den ikke inkluderet i konfigurationen, men købes separat.

Med dens hjælp kan du udføre følgende handlinger:

Slå en planlagt opgave til og fra;

Tildel og ændre tidsplaner;

Angiv det brugernavn, som rutineopgaven skal udføres med;

Se udførte opgaver (hvornår og med hvilket resultat), samt opgavefejl;

Rutineopgave og kopier af databaser

Når du bruger server 1C, kan følgende øjeblik opstå:

For at programmere skal du lave en kopi af arbejdsdatabasen;

Behovet for at arbejde i kopier af databasen (testning);

Af en eller anden grund blev den planlagte opgave ikke inkluderet i testdatabasen.

Hvis en af ​​disse situationer opstod under udførelsen af ​​opgaver af en rutineopgave, der kun er knyttet til dens database, medfører dette ikke negative konsekvenser. Men ofte kan en rutineopgave gemme filer eller andre data, sende e-mails og gennemføre udvekslinger. I dette tilfælde kan der opstå forvirring mellem resultaterne af "jobbet" og kopierne. For at forhindre dette i at ske, skal du deaktivere "opgaver" i serveradministrationskonsollen.

Gennemførte og ikke gennemførte regulatoriske opgaver

Ved oprettelse af rutineopgaver er det vigtigt at tjekke, om opgaven kan udføres som en rutineopgave. Det er vigtigt at vide, at servermodulet ikke gør mange ting, der er mulige på klienten. Yderligere, en opgave, der omhandler noget, der er uden for databasen - en vigtig rolle i dette spilles af rettighederne for den Windows-bruger, under hvilken opgaven udføres.

Den sidste faktor er især vigtig, da hvis modulet ikke udføres på serveren, så kan opgaven i princippet ikke udføres. For at kontrollere, skal du køre én opgave og evaluere resultatet.