Arbeidsprosessen for bakgrunnsjobb 8.3 ble avsluttet unormalt. – Fjerne irrelevant synkroniseringsinformasjon

Brukere klager ofte over at "1C 8.3 er treg": dokumentskjemaer åpnes sakte, dokumenter tar lang tid å behandle, programmet starter, rapporter tar lang tid å generere, og så videre.

Dessuten kan slike "feil" oppstå i forskjellige programmer:

Årsakene kan være forskjellige. Dette er ikke gjenopprettede dokumenter, en svak datamaskin eller server, 1C-serveren er feilkonfigurert.

I denne artikkelen vil jeg se på en av de enkleste og vanligste årsakene sakte arbeid programmer – . Denne instruksen vil være relevant for brukere av fildatabaser for 1-2 brukere, hvor det ikke er konkurranse om ressurser.

Hvis du er interessert i mer seriøs optimalisering av klient-server-alternativer for systemdrift, besøk delen av nettstedet.

Hvor er de planlagte oppgavene i 1C 8.3?

Før jeg rakk å laste programmet, ble mange bakgrunnsoppgaver utført i 1C. Du kan se dem ved å gå til "Administrasjon"-menyen, deretter "Støtte og vedlikehold":

Få 267 videotimer på 1C gratis:

Slik ser vinduet med fullførte oppgaver ut:

Og så full liste alle planlagte oppgaver som startes:

Blant disse oppgavene er som "", laste inn forskjellige klassifiseringer, sjekke relevansen til programversjonen og så videre. Jeg har for eksempel ikke bruk for nesten alle disse oppgavene. Jeg fører ikke valutaposter, jeg kontrollerer versjonene selv, og laster klassifiserere etter behov.

Følgelig er det i min (og i de fleste tilfeller i din) interesse å deaktivere unødvendige oppgaver.

Deaktivering av rutine- og bakgrunnsoppgaver i 1C 8.3

Sannsynligvis måtte hver 1C 8.3-programmerer før eller siden sette opp utførelsen av visse oppgaver på en tidsplan. Nedenfor vil jeg gi detaljert beskrivelse av disse mekanismene håper jeg det blir nyttig informasjon for nybegynnere 1C-programmerere. Dette er veldig praktisk, fordi det ikke krever menneskelig handling, rutineoppgave kan konfigureres én gang og fungerer i henhold til timeplanen din.

Du finner detaljerte instruksjoner ved hjelp av et eksempel nedenfor.

Hva er rutine- og bakgrunnsoppgaver i 1C

  • Planlagte oppgaver- Dette spesiell mekanisme 1C Enterprise 8.3, designet for å utføre en spesifikk handling i henhold til en gitt tidsplan.
  • Bakgrunnsjobb- objekter generert av en rutineoppgave som direkte utfører den tiltenkte handlingen uten deltakelse fra brukeren eller 1C 8.2-programmereren.

Mekanismen for planlagte jobber og bakgrunnsjobber fungerer i klient-server-modus (SQL), takket være funksjonaliteten til DBMS. Hvis du har en fildatabase, så kan oppgaven også konfigureres, men etter et litt annet prinsipp.

Sette opp bakgrunnsjobber i 1C klient-server-modus

La oss først lage et nytt metadataobjekt - en rutineoppgave. Jeg vil kalle oppgaven min "Lasting av valutakurser". La oss se på egenskapspaletten til dette konfigurasjonsobjektet:

Få 267 videotimer på 1C gratis:

  • Metodenavn— banen til prosedyren som vil bli utført i en bakgrunnsjobb i henhold til en gitt tidsplan. Prosedyren skal være i en felles modul. Det anbefales å ikke bruke standard, men å lage din egen. Ikke glem at bakgrunnsjobber kjører på serveren!
  • Bruk— et tegn på å bruke en rutineoppgave.
  • Forutbestemt— indikerer om rutineoppgaven er forhåndsbestemt. Hvis du vil at rutineoppgaven skal fungere umiddelbart etter at den er plassert i databasen, spesifiser dette flagget. Ellers må du bruke Job Console-behandling eller få jobben til å kjøre programmatisk.
  • Antall nye forsøk når en jobb avsluttes unormalt– hvor mange ganger bakgrunnsjobben ble startet på nytt hvis den ble utført med en feil.
  • Forsøk på nytt når jobben avsluttes unormalt— hvor ofte bakgrunnsjobben vil bli startet på nytt hvis den ble fullført med en feil.

Og den mest interessante settingen er Rute:

Her konfigurerer du lanseringsintervallet for prosedyren spesifisert i feltet "Metodenavn". La oss si at jeg konfigurerte

Oppmerksomhet! Ikke glem å deaktivere blokkering av utførelse av rutine- og bakgrunnsjobber på DBMS-nivå!

Dette kan gjøres i administrasjonsverktøyet til klient-serverversjonen eller når du oppretter en ny database:

Sette opp rutineoppgaver i 1C-filmodus

I filmodus er det noe vanskeligere å sette opp slike jobber. For en slik oppgave må en egen sesjon av 1C-programmet startes. Dette løses ofte ved å opprette en "teknisk" bruker hvis økt alltid kjører.

I filmodus initialiseres en rutinejobb når "RunTaskProcessing()"-metoden startes.

For en spesifikk bruker kan du konfigurere denne metoden til å kjøre med en annen metode −

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

  • Navn på prosedyre– navnet på prosedyren som er koblet til som ventebehandler. Navnet på den eksporterte prosedyren til en administrert applikasjonsmodul (en vanlig applikasjonsmodul) eller en global delt modul. Prosedyren skal ligge på klienten.
  • Intervall— perioden mellom utførelse av operasjoner i sekunder.
  • En gang- hvordan fullføre oppgaven, en gang eller ikke.

ConnectWaitHandler, 3600 );

En to-minutters video som viser hvordan du setter opp en rutineoppgave i 1C-konfiguratoren:

" I den vil vi se på nye funksjoner som ikke er relatert til systemgrensesnittet, men utvider den medfølgende funksjonaliteten til 1C:Enterprise 8-plattformen betydelig.

Anvendbarhet

Artikkelen diskuterer 1C:Enterprise-plattformen versjon 8.3.4.437. All funksjonalitet beskrevet i artikkelen er oppdatert til versjon 8.3.11.

Andre innovasjoner i 1C:Enterprise 8.3

La oss fortsette å bli kjent med innovasjonene til 1C:Enterprise 8.3-plattformen.

Bakgrunn og rutineoppgaver i filinfobasen

I mange typiske plattformkonfigurasjoner 8.2 det var en konstant som indikerte brukeren som oppgavene ble utført under i filversjonen.

Da systemet begynte å kjøre under denne brukeren, ble en ventebehandling koblet til, som kalte den innebygde språkmetoden med en viss periodisitet ExecuteTaskProcessing().

Denne tilnærmingen skapte ytterligere vanskeligheter og ulemper ved bruk av rutineoppgaver i fildatabasen.

Dette kan være spesielt kritisk når du arbeider med konfigurasjoner som f.eks "Omfattende automatisering" eller "Kontroll produksjonsbedrift, der regulatoriske oppgaver spiller en ganske viktig rolle.

Hvis dette er fil IB da
=
Constants.UserForExecutingRoutineTasksInFileVariant.Get();
Hvis chValueVariable("glCurrentUser") =
UserTo ExecuteTaskRegl Da
// med et intervall på sekunder kaller vi prosedyren for å jobbe med rutineoppgaver
SupportRegularTaskForFileVersion();
IntervalForPoll=
Constants.IntervalFor PollingRutineTasksInFileVariant.Get();
Hvis IntervalForPoll= Udefinert
ELLER IntervalForPoll= 0 Deretter
IntervalForPoll= 60 ;
EndIf ;
ConnectWaitHandler("Støtte for RoutineTaskForFileVersion",
IntervalForPoll);
EndIf ;
EndIf ;

På plattformen 8.3 implementert arbeidet med bakgrunns- og rutinejobber i filinfobasen uten å bruke global kontekst-metodekallet ExecuteTaskProcessing().

Bakgrunn og rutineoppgaver utføres direkte i en av klientapplikasjonene (tynn, tykk klient) eller av en webserverutvidelse.

En bakgrunnsjobb startet av en økt utføres av den samme klientapplikasjonen som startet den.

Bakgrunnsjobber utføres sekvensielt, dvs. På én klientapplikasjon kan bare én bakgrunnsoppgave (inkludert rutineoppgaver) utføres om gangen.

Rutineoppgaver utføres av bare én klientapplikasjon. For å kontrollere lanseringen av planlagte oppgaver, brukes en kommandolinjetast /AllowExecuteScheduledJobs.

Rutineoppgaver utføres av den første klientapplikasjonen i oppstartsrekkefølgen, som ikke er forbudt fra å utføre rutineoppgaver (for å forby økten, må økten startes med kommandolinjeparameteren /AllowExecuteScheduledJobs -Av).

Når den økten avsluttes, går kjøringen videre til en av de gjenværende løpende øktene.

Hvis startlinjen for klientapplikasjonen eksplisitt indikerer behovet for å kjøre rutineoppgaver (i kommandolinje angitt /AllowExecuteScheduledJobs -Force), så begynner rutineoppgaver å bli utført på den, uavhengig av tilstedeværelsen av andre økter.

Rutineoppgaver behandles en gang hvert 60. sekund.

Merk at rutineoppgavene til applikasjonsløsningen (i filversjonen) begynte å bli utført tidligst 1 minutt etter at klientapplikasjonen ble lansert. Fra og med versjon 8.3.8 har denne tiden blitt doblet, og derfor begynner rutineoppgaver å bli utført maksimalt 2 minutter etter at klienten er lansert (i filversjonen).

Denne avgjørelsen skyldes en reduksjon i forsinkelsen ved oppstart av søknaden. I tillegg ble muligheten lagt til i utgivelse 8.3.7 rask definisjon at gjeldende økt er en bakgrunnsjobbøkt. Dette er implementert ved hjelp av den nye globale kontekstmetoden GetCurrentInfoBaseSession(), samt en ny metode for infobaseøkten GetBackgroundTask().

Nedenfor er kode som illustrerer ovenstående:

For å forstørre, klikk på bildet.

Beregning av sjekksummer

Plattformen inkluderer nå mekanismer for beregning av datasjekksummer.

La oss minne deg på det sjekksum(hash) er en verdi beregnet fra et sett med data ved å bruke en viss algoritme og brukes til å sjekke integriteten til data under overføring eller lagring.

Hashes kan brukes til å sjekke identiteten til data (du må for eksempel sørge for at filen ikke ble skadet ved overføringen; sjekk om det ble gjort endringer i filen, og i så fall last den opp til databasen på nytt) .

For dette formålet ble et objekt implementert i plattformen HashingData, tilgjengelig på serveren, i den tykke klienten, ekstern tilkobling og også på mobilapplikasjonsserveren.

Dette objektet har to metoder: Legge til() Og AddFile(), som oppdaterer hash-summen under hensyntagen til dataene som sendes i parameterne.

Plattform 8.3.4.437 støtter beregning av følgende hash-funksjoner: CRC32, MD5, SHA1, SHA256. Men funksjonene SHA1 Og SHA256 støttes ikke på mobilplattformen.

La oss se på et enkelt eksempel. Det antas at det er en fil på serveren i programkatalogen " ragent.exe" Trenger å beregne MD5-sum for denne filen.

For å gjøre dette vil vi opprette en ekstern behandling, i form av hvilken vi vil plassere kommandoen Kalkulere. Behandleren inneholder følgende kode:

&På klient
Prosedyre Calculate (Kommando)
Resultat = CalculateOnServer();
Rapport(String(Resultat));
Sluttprosedyre
&PåServer
Funksjon CalculateOnServer()
Hash = Ny HashingData(HashFunction.MD5);
Hash.AddFile(Katalogprogrammer() + "ragent.exe" );
Returner Hash.HashSum ;
EndFunction

I utgave plattform 8.3.10+ i metoden Legge til() gjenstand HashingData Det ble mulig å bruke en strøm av binære data, noe som i stor grad forenklet bruken deres for å løse ulike anvendte problemer med å oppdatere hasj-summer.

Arbeide med beskyttede versjoner av protokoller SMTP/POP3

På plattformen 8.3 det ble mulig å bruke beskyttede versjoner av protokoller SMTP/POP3(det er vilkår SMTPS/POP3S eller SSLSMTP/SSLPOP3).

For objekt InternetMailProfile nye egenskaper implementert:

  • Bruk SSLSMTP;
  • Bruk SSLPOP3;
  • Bare SecureAuthenticationSMTP;
  • Kun POP3 sikker autentisering.

Egenskaper SMTP-autentisering Og POP3-autentisering gjenstand InternetMailProfile, samt overføringer SMTPAutentiseringsmetode Og POP3-autentiseringsmetode Det anbefales ikke å bruke dem - de støttes for kompatibilitet.

Bruker en sikker protokoll SMTPS gjør det mulig å sende post fra 1C, bruker i postkassen Google.

La oss se på et eksempel. På skjemaet vil vi plassere felt for å skrive inn emnet for brevet og mottakerens adresse, og for å skrive inn teksten til brevet - et formatert dokumentfelt.

For å forstørre, klikk på bildet.

Når du trykker på knappen Sende Følgende kode vil bli utført:

&På klient
Prosedyre Send (Kommando) Mail = Ny InternetMail; Profil = Ny InternetMailProfile;
Profile.SMTPServerAddress= "smtp.googlemail.com" ;
Profile.UserSMTP= “[e-postbeskyttet]” ;
Profile.PassordSMTP= "PASSORD" ;
Profile.UseSSLSMTP= Sant ;
Profile.SMTPPort = 465 ; Forsøk
Mail.Connect(Profil);
Unntak
Rapport(Feilbeskrivelse());
Returner ;
EndAttempt ; MailMessageText= “” ;
Vedlegg = Ny struktur;
Text.GetHTML(MailMessageText, Vedlegg); E-postmelding= Ny InternetMailMessage;
MailMessage.Recipients.Add(Til hvem);
MailMessage.Subject= Emne;
MailMessage.Texts.Add(MailMessageText,
MailMessageTextType.HTML); Mail.Send ( E-postmelding); Mail.Koble fra();
Sluttprosedyre

Merk at i vårt eksempel, hvis SMTP-serveren ikke var i stand til å sende en e-post til mottakeren(e), så Mail.Send(MailMessage) kastet et unntak. Dette medførte visse ulemper for utviklerne, fordi... Årsaken til å kaste unntaket var ikke åpenbar.

I versjon 8.3.9 har denne virkemåten endret seg, og nå returnerer Send()-metoden et samsvar hvis nøkkel er mottakeren og verdien er diagnostikken fra e-postserveren. Dette lar deg nøyaktig bestemme årsakene til at du ikke sendte en e-postmelding til hver mottaker. I kompatibilitetsmodus med versjon 8.3.8 har ikke virkemåten endret seg.

Tosidig utskrift

På plattformen 8.2 Selve plattformen klarte ikke tosidig utskrift. Denne funksjonen kunne bare kontrolleres ved hjelp av skriverdriveren.

På plattformen 8.3 det ble mulig å kontrollere tosidig utskrift for et regnearkdokument, et grafisk diagram (fra det innebygde språket og interaktivt) og et tekstdokument (kun interaktivt).

Systemoppregninger dukket opp på det innebygde språket:

  • Dupleksutskriftstype(Ingen, FlipUp, FlipLeft);
  • (Auto, MirrorTop, MirrorLeft, Ikke bruk).

Og for gjenstander Tabelldokument Og GraphicScheme egenskaper dukket opp Tosidig utskrift Og Veksling av sidearrangementer, som du kan endre layout på utskrevne sider med.

I plattformversjon 8.3.9 har DuplexPrintType-systemoppregningen en ny verdiøkning Bruk PrinterSettings. Ved å velge denne verdien kunne skriverinnstillingene brukes ved utskrift av systemdokumenter. I 8.3.8-kompatibilitetsmodus er oppførselen uendret, og de tilsvarende skriverinnstillingene ignoreres.

Dialogen for å publisere en informasjonsbase på en webserver er gjort mer funksjonell. Når du nå publiserer fra konfiguratoren, kan du angi alle filparametere default.vrd.

For dialogen for publisering av en webklient og webtjenester gjennom konfiguratoren er følgende implementert:

  • muligheten til å kontrollere tilgjengeligheten til webtjenester som standard (attributt pointEnableCommon element ws);
  • muligheten til å kontrollere utførelsen av bakgrunnsjobber i filversjonen (attributt tillat å utføre planlagte jobber element ws).

Hvis avkrysningsboksen "Publiser nettjenester som standard" på bokmerket “Grunnleggende” er installert, vil de valgte webtjenestene automatisk publiseres ved oppdatering av publikasjonen.

Ellers vil nettjenestene bli merket som upubliserbare. Dette flagget tilsvarer attributtet pointEnableCommon element ws i filen default.vrd, beregnet for å sette opp en webklient og webtjenester.

Attributt pointEnableCommon ws element er ansvarlig for muligheten for å bruke i denne informasjonsbasen webtjenester som er publisert uten eksplisitt angivelse av tillatelse til bruk (attributt aktivere element punkt).

Hvis attributtet har en verdi ekte, så alle webtjenester der attributtverdien ikke er eksplisitt spesifisert aktivere element punkt, vil være tillatt for bruk.

Ellers vil bruk av slike webtjenester være forbudt.

Innstillinger "Bakgrunnsjobber i filmodus" samsvarer med attributtet tillat å utføre planlagte jobber ws element i filen default.vrd.

Attributt tillat å utføre planlagte jobber kontrollerer muligheten til å utføre rutineoppgaver av webserverutvidelsen for filversjonen av infobasen.

Attributtet kan ha følgende verdier:

  • av– i dette tilfellet vil ikke webserverutvidelsen utføre rutineoppgaver. Rutineoppgaver vil bli utført av en klientapplikasjon (hvis en finnes), som kobles til infobasen direkte, uten å bruke en webserver.
  • makt– i dette tilfellet vil webserverutvidelsen utføre rutineoppgaver.
    Hvis verdien av dette attributtet ikke er spesifisert, vil rutineoppgaver bli utført av applikasjonen som skal brukes til å opprette den første tilkoblingen til infobasen.

Publiseringsvinduet på nettjenesten har blitt enda mer praktisk og ergonomisk i den nåværende utgivelsen av plattformen. Nå er parametrene som beskriver OpenID-autentisering plassert på en egen fane.

Nummerering av infobaseobjekter

På plattformen 8.3 Mekanismen for automatisk nummerering av informasjonsbaseobjekter har blitt omarbeidet. Det unike til et nummer eller kode (inkludert de som oppnås som et resultat av automatisk generering av et nummer eller kode) kontrolleres alltid når et objekt registreres.

En indikasjon på hvilket nummer eller kode som ikke er unikt er lagt til teksten i meldingen om brudd på det unike ved et nummer eller kode.

Bruken av et ledig nummer eller kode er endret. Nytt nummer eller koden tildeles uten bruk av frigitte tall eller koder, dersom det allerede finnes utstedte numre eller koder med et stort (i rekkefølge) prefiks av nummeret eller koden.

Aggregerte funksjoner til uttrykksspråket for datasammensetningssystemet

Nye aggregerte funksjoner er implementert i uttrykksspråket til datasammensetningssystemet:

  • Hver eneste();
  • Noen();
  • StandardDeviationofPopulation();
  • StandardSampleDeviation();
  • VarianceSamples();
  • VarianceofPopulation();
  • KovariansBefolkning();
  • SampleCovariance();
  • Korrelasjon();
  • RegresjonSlope();
  • RegressionSegment();
  • RegressionCount();
  • RegresjonR2();
  • RegressionAverageX();
  • RegresjonsgjennomsnittY();
  • RegressionAverageSXX();
  • RegresjonsgjennomsnittSYY();
  • RegressionAverageSXY().

Som navnene indikerer er dette statistiske funksjoner, som gjør at utviklere har mulighet til å lage komplekse rapporter uten å måtte utvikle prosedyrer for å beregne statistiske data.

For å forstørre, klikk på bildet.

Som du kan se av figuren er det ingen nye funksjoner i nedtrekkslisten, men hvis du legger dem inn manuelt vil det ikke komme noen feilmelding, og rapporten genereres:

Også av interesse ny funksjonKlassifiseringABC(). Resultatet av funksjonen vil være klassenummeret, fra 1 (1 tilsvarer klasse A, 2 til klasse B, 3 til klasse C osv.).

La oss demonstrere hvordan denne funksjonen fungerer. La oss lage en ny ekstern rapport "Klassifisering av varer" basert på forespørsel:

VELGE
ProduktforbrukProdukter.Produkt,
ProduktforbrukProdukter.Antall
FRA
Dokument.Forbruk av varer.Varer HVORDAN Produktforbruk Produkter

La oss definere et nytt beregnet felt Klasse:

For å forstørre, klikk på bildet.

La oss konfigurere ressursene som følger:

For å forstørre, klikk på bildet.

I brukermodus ser rapporten slik ut:

Avslutningsvis merker vi oss at fra utgave til utgave i 1C 8.3-plattformen blir ACS-mekanismen stadig forbedret og raffinert, og innenfor rammen av vår "nybegynner"-artikkel er det ikke mulig å presentere disse endringene i sin helhet. Ja, dette virker unødvendig, for når du jobber med den nåværende versjonen av plattformen, kan du alltid bruke forskjellige hjelpesystemer for å hjelpe deg med å analysere dette eller det aspektet av driften av denne mekanismen.

I tillegg, ikke glem vårt separate kurs Profesjonell utvikling av rapporter i 1C 8.3 om Data Composition System, som bryter ned til atomet alle finesser og fallgruver når du arbeider med denne mekanismen. Sjekk ut demoen selv.

Så, la oss oppsummere mellomresultatene. Frem til dette punktet har vi blitt kjent med de nye funksjonene til Taxi-grensesnittet og administrerte skjemaer, samt med noen tidligere ikke leverte funksjoner på selve plattformen. Nå er det på tide å se hvilke praktiske funksjoner som har blitt tilgjengelige for utvikleren i konfiguratoren.

Noen oppgaver innen dokumenthåndtering og regnskap må kanskje utføres med jevne mellomrom. For eksempel på den tjuende. Eller daglig.

Vanligvis prøver en bedrift å lage regler for å utføre slike oppgaver – hvem, når og hvordan skal fullføre oppgaven, hvem som skal kontrollere den.

Slike oppgaver kalles regulert, det vil si utføres i henhold til forskrift.

Innen IT utføres overvåking ofte på en regulert måte.

Dette er velkjent for systemadministratoren - det er spesielle programmer som med jevne mellomrom sjekker ytelsen til servere og nettverksinfrastruktur og varsler administratoren via SMS eller e-post.

Lignende ting finnes for webansvarlige - for å sjekke tilgjengeligheten til nettstedet i løpet av dagen.

I 1C utføres overvåkingsoppgaver og andre periodiske oppgaver som skal utføres automatisk i henhold til en tidsplan ved hjelp av 1C Scheduled Tasks-mekanismen.

La oss snakke om dem i dag.

Planlagte oppgaver 1C

Planlagte oppgaver 1C er de som lar deg utføre dem som de gjør, men etter en tidsplan.

Selve 1C-rutineoppgaven i konfiguratoren er en måte å spesifisere innstillinger og sette en tidsplan. Tidsplanen kan forresten endres dynamisk senere i 1C Enterprise-modus.

Bakgrunnsjobber kan opprettes fra teksten til et program på 1C-språket vilkårlig uten en planlagt 1C-jobb - for parallell databehandling på serveren.

Utførelsen av rutinemessige 1C-oppgaver kan deaktiveres midlertidig - in.

Legger til en 1C rutineoppgave

Rutinemessige 1C-oppgaver er plassert i konfigurasjonen i grenen Generelt/Rutine-1C-oppgaver. La oss legge til en ny 1C-reguleringsoppgave og angi navnet.

I egenskapen til rutineoppgaven 1C er metodenavnet angitt, akkurat som i. Funksjonen vil være plassert i en felles modul med avkrysningsboksen Server i egenskapene, det vil si at modulen må legges til på forhånd.

Egenskapen for 1C planlagt oppgave - Oppgavenavn - bestemmer navnet som oppgaven skal vises under i verktøy for oppgavebehandling.

1C rutineoppgaveegenskapen – Key – lar deg gruppere flere forskjellige 1C rutineoppgaver. Bare én jobb med samme nøkkelverdi kan startes om gangen. Selve verdien kan være vilkårlig. En tom verdi tas ikke i betraktning under kontroll (det vil si at den anses som tom).

Egenskapen til en 1C rutineoppgave - Forhåndsdefinert - bestemmer at når 1C Enterprise startes, vil en slik oppgave bli opprettet i en enkelt kopi med tidsplanen spesifisert i konfiguratoren. Ikke-forhåndsdefinerte oppgaver vises programmatisk på tidspunktet for tidsplanen.

I typiske konfigurasjoner, for eksempel Accounting edition 2.0, er slike rutinemessige 1C-oppgaver som Configuration Update og Recalculation of Totals forhåndsdefinert, men som Data Exchange eller Deferred Movements er ikke forhåndsdefinert.

Bruk – aktiverer oppgaven (det vil si at den bare utføres hvis det er merket av for bruk).

Prøv på nytt ved unormal avslutning - som du kanskje gjetter betyr å starte oppgaven på nytt hvis den ikke kunne fullføres med hell første gang - du kan spesifisere hvor mange ganger som skal startes på nytt og hvor lenge etter den unormale avslutningen.

1C rutinemessig oppgavestyring og overvåking

For å administrere rutinemessige 1C-oppgaver er det en spesiell standard prosesseringsjobbkonsoll. Den finnes også på.

Denne behandlingen refererer til den såkalte universelle eksterne standarden 1C-behandling, som ofte ikke er inkludert i konfigurasjonen, men distribueres separat, for eksempel på ITS-disker.

Ved å bruke jobbkonsollbehandling kan du:

  • Aktiver/deaktiver utførelse av rutine 1C-oppgave
  • Tilordne/endre tidsplanen for en planlagt 1C-oppgave (og andre parametere)
  • Spesifiser 1C-brukeren på hvis vegne den rutinemessige 1C-oppgaven skal utføres
  • Se hvilke oppgaver som ble utført når og med hvilket resultat, feil ved fullføring av 1C-oppgaver
  • Fullfør oppgaven.

Kopier av databaser og 1C rutineoppgaver

Hvis du bruker server 1C, oppstår følgende situasjon:

  • For dine egne formål (for eksempel for programmering) lages en kopi av arbeidsdatabasen
  • Arbeider, tester osv. i en kopi av databasen
  • Du glemmer å slå av rutinemessige 1C-oppgaver i en slik testdatabase.

Mens 1C rutineoppgaver utfører oppgaver bare relatert til informasjonsbasen deres, er det ingenting i det.

Imidlertid kan 1C rutineoppgaver ofte lagre filer eller data til andre databaser, utveksle, sende e-poster.

I dette tilfellet kan du få en interessant blanding mellom resultatet av å utføre rutinemessige 1C-oppgaver i arbeidsdatabasen og kopier.

Rutinemessige 1C-oppgaver for kopier av arbeidsdatabasen må være deaktivert i .

Oppfyllelse og manglende oppfyllelse av 1C regulatoriske oppgaver

Når du oppretter rutinemessige 1C-oppgaver, må du huske:

  • Oppgaver utføres av seg selv - de må overvåkes
  • Oppgaver utføres i en modul på serveren
  • Oppgaver utføres under en annen Windows-bruker, med andre rettigheter.

Først må du sjekke at oppgaven blir utført og kan fullføres som en rutinemessig 1C-oppgave.

For det andre gjør servermodulen at mange ting som er tilgjengelig på klienten ikke er tilgjengelige. Noen ganger kan for eksempel ikke alle dokumenter bare legges ut på serveren, siden deres algoritme kan sørge for at postingen startes manuelt av brukeren og ikke-serverfunksjoner kan brukes, for eksempel
Advarsel ("Hei!")

For det tredje, hvis en oppgave omhandler noe utenfor 1C-databasen, blir rettighetene til Windows-brukeren som oppgaven utføres under, viktige.

Det tredje punktet er spesielt viktig ved utvikling. Hvis modulen ikke kan kjøres på serveren, vil oppgaven ikke bli utført i det hele tatt. For å sjekke, må du kjøre oppgaven minst én gang og se resultatet "Oppgave fullført" i oppgavekonsollbehandlingen.

Plattformer: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfigurasjoner: Alle konfigurasjoner

2012-11-13
53992

I dokumenthåndtering er det oppgaver som krever periodisk utførelse - for eksempel på den tjuende, eller daglig. Som regel oppretter selskaper spesielt for dette formålet visse regler, som angir når og hvordan den nødvendige oppgaven skal utføres, og hvem som skal kontrollere prosessen. Slike oppgaver utføres forskriftsmessig og kalles regulert.

Ganske ofte følges overvåkingsforskrifter innen IT. Denne metoden er veldig kjent for administratorer, siden det for dette formålet er spesielle programmer som brukes til å periodisk sjekke funksjonaliteten til nettverksinfrastrukturen og serverne. De varsler administratoren om oppdagede problemer via SMS eller e-post.

Et lignende system fungerer for webansvarlige, og nettstedets tilgjengelighet sjekkes innen 24 timer. Ved å bruke mekanismen "Rutineoppgaver" i 1C utføres overvåkingsoppgaver, samt periodiske oppgaver som utføres i henhold til en tidsplan i automatisk modus i 1C. La oss se nærmere på dette emnet.

Planlagte oppgaver 1C

1C-objektet, kalt "Rutineoppgaver", gjør det mulig å behandle informasjon ikke etter at et problem oppstår, men i henhold til en tidsplan. I konfiguratoren er en rutineoppgave en måte å sette innstillinger og sette en tidsplan på. I tillegg er det mulig å endre tidsplanen i etterkant i 1C Enterprise-modus.

Ved bruk fildatabase data, utføres ikke oppgaver automatisk. For å starte prosessen må du starte en 1C-sesjon i 1C Enterprise-modus og begynne å utføre en rutineoppgave i den.

Alle standardkonfigurasjoner har en brukerinnstilling som lar deg spesifisere at når 1C kjører, vil rutineoppgaver utføres automatisk.

Bruk av klient-server-versjonen av 1C gjør det mulig å automatisk utføre oppgaver på serveren. Til planlagt tid - en bakgrunnsjobb lanseres, som utfører nødvendige handlinger. For parallell databehandling på serveren kan en bakgrunnsjobb opprettes fra programteksten ved å bruke 1C-språket, uten å bruke en planlagt 1C-jobb. Handlingen til en planlagt oppgave kan deaktiveres midlertidig ved å bruke 1C-serveradministrasjonskonsollen.

Legger til en planlagt oppgave

Rutineoppgaver ligger i - Konfigurator - Generelt - Rutineoppgaver. Legg til en ny "oppgave" og oppgi et navn. Deretter må du gå til "Oppgaver"-egenskapene. Og velg Metodenavn. Her må du spesifisere en behandlerfunksjon, akkurat som det skjer i et arrangementsabonnement. Denne funksjonen vil være plassert i den generelle modulen og merket med en "bird" Server i egenskapene. Dette betyr at den nødvendige modulen må legges til på forhånd.

Navnet på oppgaven i egenskapene til en planlagt oppgave lar deg bestemme navnet på den, som deretter vises i oppgavebehandlingsverktøyene. Rutineoppgaveegenskaper-funksjonen er en nøkkel som lar deg gruppere flere forskjellige rutineoppgaver. I dette tilfellet kan bare én oppgave med samme nøkkelverdi startes om gangen. Her kan verdien være vilkårlig, men den må fylles ut, siden en tom verdi ikke tas i betraktning av systemet.

I Regnskapsutgave 2.0, som er en standardkonfigurasjon, er rutineoppgaver som: «Rekalkulering av totaler» og «Oppdatering av konfigurasjonen» forhåndsdefinert, men som for eksempel «Utsatte bevegelser» og «Datautveksling» er ikke forhåndsdefinert.

Prøv på nytt ved unormal oppsigelse - starter den gjeldende jobben på nytt. Designet for å utføre en lansering som ikke var vellykket første gang. Her er det angitt hvor mange ganger du kan starte på nytt og etter hvilken tid som har gått etter en unormal avslutning.

Overvåkings- og styringsverktøy for rutineoppgaver 1C

Standardbehandlingen "Task Console", som finnes på ITS-diskene, er ansvarlig for å administrere en rutineoppgave. Denne behandlingen er en universell ekstern standardbehandling for 1C. Som regel er den ikke inkludert i konfigurasjonen, men kjøpes separat.

Med dens hjelp kan du utføre følgende handlinger:

Slå på og av en planlagt oppgave;

Tilordne og endre tidsplaner;

Angi brukernavnet som rutineoppgaven skal utføres med;

Se utførte oppgaver (når og med hvilket resultat), samt oppgavefeil;

Rutineoppgaver og kopier av databaser

Når du bruker server 1C, kan følgende øyeblikk oppstå:

For å programmere må du lage en kopi av arbeidsdatabasen;

Behovet for å jobbe i kopier av databasen (testing);

Av en eller annen grunn ble den planlagte oppgaven ikke inkludert i testdatabasen.

Hvis en av disse situasjonene oppstod under utførelsen av oppgaver av en rutineoppgave som bare er knyttet til databasen, innebærer dette ikke negative konsekvenser. Men ofte kan en rutineoppgave lagre filer eller andre data, sende e-poster og gjennomføre utvekslinger. I dette tilfellet kan det oppstå forvirring mellom resultatene av "jobben" og kopiene. For å forhindre at dette skjer, må du deaktivere "oppgaver" i serveradministrasjonskonsollen.

Fullførte og ikke fullførte reguleringsoppgaver

Ved opprettelse av rutineoppgaver er det viktig å sjekke om oppgaven kan utføres som en rutineoppgave. Det er viktig å vite at servermodulen ikke gjør mange ting som er mulig på klienten. Videre, en oppgave som omhandler noe som er utenfor databasen - en viktig rolle i dette spilles av rettighetene til Windows-brukeren som oppgaven utføres under.

Den siste faktoren er spesielt viktig, siden hvis modulen ikke kjøres på serveren, kan oppgaven i prinsippet ikke fullføres. For å sjekke, må du kjøre én oppgave og evaluere resultatet.