1c rutinuppgifter. Bakgrundsuppgifter: funktioner, möjligheter, inställningar. – Uppdatering av revisorsuppgifter


Hur man påskyndar arbetet i 1C: Accounting 8.3 (version 3.0) eller inaktiverar schemalagda uppgifter och bakgrundsuppgifter

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

Ni som redan har lyckats byta till den nya upplagan av 1C: Accounting 8.3 (revision 3.0) har märkt att den har blivit långsammare än tvåan. Några obegripliga inbromsningar, oändliga bakgrundsuppgifter flera gånger om dagen, som ingen bad henne utföra utan vår vetskap.

Direkt efter övergången berättade mina revisorer att den nya utgåvan av 1C: Accounting 3.0 ärligt talat saktar ner i jämförelse med de tidigare! Och det är omöjligt att arbeta.

Jag började förstå och fick mycket snart reda på att huvudorsaken till frysningar och efterföljande missnöje hos användare är rutin- och bakgrundsuppgifter, av vilka många är aktiverade som standard, även om de inte är nödvändiga för de allra flesta revisorer.

Tja, varför behöver vi till exempel köra uppgiften "Textextraktion" hundra gånger om dagen om vi inte gör en fulltextsökning (revisorer, var inte rädda) över alla objekt i vår databas.

Eller varför ständigt ladda ner växelkurser om vi inte har valutatransaktioner eller vi gör dem ibland (och innan dess kan vi själva klicka på knappen för nedladdningskurser).

Detsamma gäller 1Cs ständiga försök att ansluta till sajten och kontrollera och uppdatera bankklassificerarna. Varför då? Jag själv kommer att trycka på knappen för att uppdatera klassificerarna om jag inte hittar rätt bank med dess BIC.

Om hur man gör på punkterna nedan.

1. Gå till avsnittet "Administration" och välj "Underhåll" i åtgärdspanelen ():

2. I fönstret som öppnas, leta reda på och välj "Vanliga uppgifter och bakgrundsuppgifter":

3. Öppna varje jobb som har kolumnen På. värt en kaja.

4. Avmarkera "Aktiverad" och klicka på knappen "Spara och stäng".

5. Gör detta med var och en av de inkluderade uppgifterna och njut av den nya utgåvan. I allmänhet är den enligt min mening mycket bättre än tvåan.

Samtidigt kommer plattformen fortfarande att aktivera några av de schemalagda uppgifterna som du har inaktiverat.

När du arbetar i 1C finns det många rutinoperationer som måste startas eller formas enligt ett schema genom att utföra en eller annan åtgärd, till exempel: posta dokument eller ladda data till 1C från en plats.

Jag postade nyligen en artikel: det är dags att automatisera detta:

Schemalagda och bakgrundsjobb

Jobbmekanismen är utformad för att exekvera vilken applikation eller funktion som helst enligt ett schema eller asynkront.

Jobbmekanismen utför följande uppgifter:

  • Förmåga att bestämma rutinprocedurer vid systemkonfigurationsstadiet;
  • Utförande av specificerade åtgärder enligt schemat;
  • Exekveringen av ett anrop till en given procedur eller funktion är asynkron, dvs. utan att vänta på dess slutförande;
  • Spåra framstegen för ett specifikt jobb och få dess slutförandestatus (ett värde som indikerar framgång eller misslyckande av dess genomförande);
  • Få en lista över aktuella uppgifter;
  • Förmåga att vänta på slutförandet av en eller flera uppgifter;
  • Jobbhantering (möjlighet till avbokning, blockering av utförande etc.).

Jobmotorn består av följande komponenter:

  • Metadata för schemalagda uppgifter;
  • Schemalagda uppdrag;
  • Bakgrundsjobb;
  • Schemaläggaren.

Bakgrundsjobb & är designade för att köra applikationsuppgifter asynkront. Bakgrundsjobb implementeras med hjälp av det inbyggda språket.

Schemalagda uppgifter & är designade för att utföra schemalagda uppgifter. Schemalagda uppgifter lagras i infobasen och skapas baserat på metadata som definieras i konfigurationen. Metadata för schemalagda jobb innehåller information som namn, metod, användning och så vidare.

Ett schemalagt jobb har ett schema som bestämmer vid vilka tidpunkter metoden som är kopplad till det schemalagda jobbet ska utföras. Schemat ställs som regel in i infobasen, men kan också ställas in i konfigurationsstadiet (till exempel för fördefinierade schemalagda uppgifter).

Uppgiftsschemaläggaren används för att schemalägga utförandet av schemalagda uppgifter. För varje schemalagt jobb kontrollerar schemaläggaren med jämna mellanrum om det aktuella datumet och tiden matchar schemat för det schemalagda jobbet. Om det matchar schemalägger schemaläggaren att jobbet ska köras. För att göra detta, enligt denna schemalagda uppgift, skapar schemaläggaren en bakgrundsuppgift som utför själva bearbetningen.

Med beskrivningen tror jag att det räcker - låt oss gå vidare till implementeringen:

Skapa ett schemalagt jobb

Metodnamn– sökväg till proceduren som kommer att utföras i bakgrundsuppgiften enligt det angivna schemat. Förfarandet måste vara i en delad modul. Det rekommenderas att inte använda vanliga vanliga moduler, utan att skapa dina egna. Glöm inte att bakgrundsjobb körs på servern!

Användande- ett tecken på användningen av en schemalagd uppgift.

förbestämd– indikerar om det schemalagda jobbet är fördefinierat.

Om du vill att den schemalagda uppgiften ska fungera direkt efter att den placerats i databasen, ange tecknet förbestämd. Annars måste du använda "Job Console"-bearbetningen eller anropa jobbet för att köras programmatiskt.

Antal återförsök när ett jobb kraschar– hur många gånger bakgrundsjobbet startades om om det kördes med ett fel.

Försöksintervall för att avbryta jobb– hur ofta bakgrundsuppgiften kommer att startas om om den kördes med ett fel.

Schemainställning

Schema slutförande av uppgift:

Varje timme, bara en dagFörsök igen PeriodDays = 0, Försök igen PeriodDuringDay = 3600
Varje dag en gång om dagenFörsök igen PeriodDays = 1, Försök igen PeriodDuringDay = 0
En dag, en gångFörsöksperiod dagar = 0
Varannan dag en gång om dagenFörsöksperiod dagar = 2
Varje timme från 01.00 till 07.00 varje dagRetryPeriodDays = 1RepeatPeriodDay = 3600StartTime = 01.00

Sluttid = 07.00

Varje lördag och söndag kl 09.00Upprepa period av dagar = 1 veckodag = 6, 7StartTime = 09.00
Varje dag en vecka, veckopassUpprepa period av dagar = 1 period av veckor = 2
Klockan 01.00 en gångStarttid = 01.00
Sista dagen i varje månad kl 9.00.Upprepa period av dagar = 1DagInMånad = -1Starttid = 09.00
Femte i varje månad kl 9.00Upprepa period av dagar = 1DayInMonth = 5StartTime = 09.00
Andra onsdagen i varje månad klockan 9:00Upprepa PeriodDays = 1DayWeekInMonth = 2DaysWeek = 3

Starttid = 09.00

Egenskaper med att utföra bakgrundsuppgifter i fil- och klient-serverversioner

Mekanismerna för att utföra bakgrundsjobb i fil- och klient-serverversionerna är olika.

I filformat du måste skapa en dedikerad klientprocess som kommer att utföra bakgrundsuppgifter. För att göra detta måste den globala kontextfunktionen ExecuteJobProcessing anropas med jämna mellanrum i klientprocessen. Endast en klientprocess per infobas ska bearbeta bakgrundsjobb (och därför kalla denna funktion). Om ingen klientprocess har skapats för att bearbeta bakgrundsjobb, kommer felet "Jobbhanteraren är inte aktiv" att genereras när du programmerar åtkomst till jobbmotorn. Det rekommenderas inte att använda klientprocessen som bearbetar bakgrundsjobb för andra funktioner.

Efter att klientprocessen som bearbetar bakgrundsjobb har startat kan andra klientprocesser programmässigt komma åt bakgrundsjobbmekanismen, dvs. kan köra och hantera bakgrundsjobb.

I klient-serverversion För att utföra bakgrundsjobb används uppgiftsschemaläggaren, som fysiskt finns i klusterhanteraren. Schemaläggaren för alla köade bakgrundsjobb får den minst belastade arbetsprocessen och använder den för att köra motsvarande bakgrundsjobb. Arbetarprocessen utför jobbet och meddelar schemaläggaren om exekveringsresultaten.

I klient-serverversionen är det möjligt att blockera exekvering av schemalagda uppgifter. Blockering av utförandet av schemalagda uppgifter sker i följande fall:

  • En explicit blockering av schemalagda uppgifter har ställts in på infobasen. Låset kan ställas in via klusterkonsolen;
  • Ett anslutningsblock har satts på infobasen. Låset kan ställas in via klusterkonsolen;
  • Metoden SetExclusiveMode() anropades från det inbyggda språket med parametern True;
  • I vissa andra fall (till exempel vid uppdatering av databaskonfigurationen).

Bearbetar lansering och visning av schemalagda jobb du kan ladda ner här.

". I den kommer vi att överväga nya funktioner som inte relaterar till systemgränssnittet, utan avsevärt utöka funktionaliteten hos 1C:Enterprise 8-plattformen.

Tillämplighet

Artikeln behandlar 1C:Enterprise-plattformen version 8.3.4.437. All funktionalitet som beskrivs i artikeln har uppdaterats till version 8.3.11.

Andra innovationer i 1C:Enterprise 8.3

Låt oss fortsätta att bekanta oss med innovationerna i 1C:Enterprise 8.3-plattformen.

Bakgrund och schemalagda uppgifter i filen infobas

I många typiska plattformskonfigurationer 8.2 det fanns en konstant som indikerade användaren under vilken uppgifterna utfördes i filversionen.

När systemet började arbeta under denna användare kopplades en väntehanterare in, som vid en viss frekvens kallade metoden för det inbyggda språket ExecuteProcessingJobs().

Detta tillvägagångssätt skapade ytterligare svårigheter och olägenheter för användningen av schemalagda uppgifter i filbasen.

Detta kan vara särskilt viktigt när man arbetar med konfigurationer som t.ex "Omfattande automatisering" eller "Manufacturing Enterprise Management" där rutinuppgifter spelar en ganska viktig roll.

Om detta är FileIB Då
=
Constants.UserForPerformingRegular TasksInFileVariant.Get();
Om en glValueVariable("gCurrentUser") =
UserToPerformRegularJobs Sedan
// med ett intervall på sekunder kallar vi proceduren för att arbeta med schemalagda uppgifter
SupportRegularTaskForFileVersion();
Intervall För omröstning=
Constants.IntervalFor PollingRegular TasksInFileVariant.Get();
Om en Intervall För omröstning= Odefinierat
ELLER Intervall För omröstning= 0 Då
Intervall För omröstning= 60 ;
EndIf ;
ConnectHandlerWaiting("SupportRegularAssignmentForFileVersion",
Intervall För omröstning);
EndIf ;
EndIf ;

I plattformen 8.3 Implementerade arbetet med bakgrund och schemalagda uppgifter i filen infobas utan att använda anropet av den globala kontextmetoden ExecuteProcessingJobs().

Bakgrund och schemalagda uppgifter körs direkt i en av klientapplikationerna (tunn, tjock klient) eller av en webbservertillägg.

Ett bakgrundsjobb som startas av en session exekveras av samma klientapplikation som initierade det.

Bakgrundsjobb utförs sekventiellt, dvs. på en klientapplikation åt gången kan endast en bakgrundsuppgift (inklusive schemalagda) utföras.

Schemalagda uppgifter utförs av endast en klientapplikation. Kommandoradstangenten används för att styra lanseringen av schemalagda uppgifter. /AllowExecuteScheduledJobs.

Schemalagda uppgifter körs av den första klientapplikationen i startordningen, vilket inte är förbjudet från att utföra schemalagda uppgifter (för att inaktivera sessionen måste sessionen startas med kommandoradsparametern /AllowExecuteScheduledJobs -Av).

När denna session avslutas, hoppar körningen till någon av de återstående pågående sessionerna.

Om startraden för klientapplikationen uttryckligen anger behovet av att starta schemalagda uppgifter (kommandoraden anger /AllowExecuteScheduledJobs -Force), sedan börjar schemalagda uppgifter köras på den, oavsett närvaron av andra sessioner.

Schemalagda uppgifter bearbetas en gång var 60:e sekund.

Observera att de schemalagda uppgifterna för den applicerade lösningen (i filversionen) började utföras tidigast 1 minut efter att klientapplikationen startades. Från och med version 8.3.8 har denna tid fördubblats, och därför börjar schemalagda uppgifter köras max 2 minuter efter att klienten startar (i filversionen).

Detta beslut beror på en minskning av förseningen vid början av ansökan. Dessutom lades till i version 8.3.7 möjligheten att snabbt avgöra om den aktuella sessionen är en bakgrundsjobbsession. Detta implementeras genom en ny global kontextmetod GetCurrentInfobaseSession(), samt en ny metod för en infobassession GetBackgroundTask().

Nedan är koden som illustrerar ovanstående:

Klicka på bilden för att förstora.

Checksumma beräkning

Plattformen har nu mekanismer för att beräkna datakontrollsummor.

Kom ihåg att en kontrollsumma (hash) är ett värde som beräknas från en datamängd genom att tillämpa en viss algoritm och används för att kontrollera dataintegriteten under överföring eller lagring.

Hashes kan användas för att kontrollera identiteten på data (du måste till exempel se till att filen inte skadades under överföringen; kontrollera om ändringar har gjorts i filen, och i så fall ladda upp den till databasen igen) .

För att göra detta implementerade plattformen ett objekt HashingData, tillgänglig på servern, tjock klient, extern anslutning och mobilappserver.

Detta objekt har två metoder: Lägg till() och För att lägga till en fil(), som uppdaterar hashsumman baserat på data som skickas i parametrarna.

Plattform 8.3.4.437 stöder beräkningen av följande hashfunktioner: CRC32, MD5, SHA1, SHA256. Men funktionerna SHA1 och SHA256 stöds inte på den mobila plattformen.

Låt oss överväga ett enkelt exempel. Det antas att det finns en fil på servern i programkatalogen " agent.exe". Måste räkna ut MD5-summa för denna fil.

För att göra detta kommer vi att skapa en extern bearbetning, i form av vilken vi kommer att placera kommandot Beräkna. Hanteraren innehåller följande kod:

&AtClient
Procedur Beräkna (kommando)
Resultat = CalculateOnServer();
Report(String(Result));
Slutprocedur
&På server
Fungera CalculateOnServer()
Hash = Nytt HashingData(HashFunction .MD5);
Hash.AddFile(Katalogprogram() + "ragent.exe" );
Returnera Hash.HashSum ;
EndFunctions

I plattformsrevision 8.3.10+ i metoden Lägg till() objekt HashingData det blev möjligt att använda en ström av binär data, vilket avsevärt förenklade deras användning för att lösa olika tillämpade problem med att uppdatera hashsummor.

Arbeta med säkra versioner av protokoll SMTP/POP3

I plattformen 8.3 det blev möjligt att använda säkra versioner av protokoll SMTP/POP3(det finns termer SMTPS/POP3S eller SSLSMTP/SSLPOP3).

För objekt InternetPostalProfil nya fastigheter implementerade:

  • Använd SSLSMTP;
  • Använd SSLPOP3;
  • OnlySecuredAuthenticationSMTP;
  • OnlySecuredAuthenticationPOP3.

Egenskaper SMTP-autentisering och POP3-autentisering objekt InternetPostalProfil, samt uppräkningar SMT-autentiseringsmetod och POP3-autentiseringsmetod användning är utfasad - de stöds för kompatibilitet.

Använder ett säkert protokoll SMTPS låter dig skicka e-post från 1C använder brevlåda Google.

Tänk på ett exempel. På formuläret kommer vi att placera fält för att ange ämnet för brevet och mottagarens adress, och för att skriva in texten i brevet - ett formaterat dokumentfält.

Klicka på bilden för att förstora.

Genom att trycka på knappen Skicka följande kod kommer att köras:

&AtClient
Procedur Skicka (kommando) Mail = Ny InternetMail ; Profil = Ny InternetPostalProfil;
Profile.SMTPServerAddress= "smtp.googlemail.com" ;
Profile.SMTP-användare= “[e-postskyddad]” ;
Profile.SMTP-lösenord= "LÖSENORD" ;
Profile.UseSSLSMTP= sant ;
Profil.SMTP-port = 465; Försök
Mail.Connect(Profil );
Undantag
Report(ErrorDescription());
Lämna tillbaka ;
EndTry ; MailMessageText= “” ;
Bilagor = Ny struktur;
Text.GetHTML(MailMessageText, Bilagor ); MailMessage= Nytt InternetMailMessage;
MailMessage.Recipients.Add(Till vem );
MailMessage.Subject= Ämne ;
MailMessage.Texts.Add(MailMessageText,
MailMessageTextType.HTML); Mail.Send ( MailMessage); Mail. Koppla från();
Slutprocedur

Observera att i vårt exempel, om SMTP-servern inte kunde skicka ett e-postmeddelande till mottagaren/mottagarna, då metoden Mail.Send(MailMessage) gjorde ett undantag. Detta orsakade en del besvär för utvecklarna, eftersom. anledningen till att göra undantaget var inte uppenbart.

I version 8.3.9 har detta beteende ändrats, och nu returnerar metoden Send() en matchning, vars nyckel är adressaten och värdet är diagnostik från e-postservern. Detta låter dig exakt bestämma orsakerna till att ett e-postmeddelande misslyckats till var och en av mottagarna. I version 8.3.8 kompatibilitetsläge har beteendet inte ändrats.

Dubbelsidigt tryck

I plattformen 8.2 Plattformen i sig kontrollerade inte dubbelsidig utskrift, det var bara möjligt att styra denna funktion med hjälp av skrivardrivrutinen.

I plattformen 8.3 det blev möjligt att styra dubbelsidig utskrift för ett kalkylarksdokument, ett grafiskt schema (från det inbyggda språket och interaktivt) och ett textdokument (endast interaktivt).

Systemuppräkningar dök upp på det inbyggda språket:

  • TypDouble SidedPrinting(Ingen, FlipUp, FlipLeft);
  • (Auto, MirrorUp, MirrorLeft, Använd inte).

Och föremålen KalkylarkDokument och Graphic Scheme egenskaper dök upp Dubbelsidigt tryck och InterleavingPage Arrangement, med vilken du kan ändra layouten på utskrivna sidor.

I plattformsrevision 8.3.9 har systemuppräkningen DuplexType ett nytt värde Använd skrivarinställningar. Genom att välja detta värde kunde skrivarinställningarna användas vid utskrift av systemdokument. I version 8.3.8 kompatibilitetsläge har beteendet inte ändrats och motsvarande skrivarinställningar ignoreras.

Infobasens publiceringsdialog på webbservern har gjorts mer funktionell. Genom att publicera från konfiguratorn kan du ställa in alla filparametrar default.vrd.

För dialogen för publicering av webbklienten och webbtjänsterna via konfiguratorn är följande implementerat:

  • möjligheten att kontrollera tillgängligheten för webbtjänster som standard (attribut pointEnableCommon element ws);
  • möjligheten att kontrollera utförandet av bakgrundsjobb i filversionen (attribut tillåta schemalagda jobb element ws).

Om kryssrutan "Publicera webbtjänster som standard" på bokmärket "Grundläggande"är inställt, kommer de valda webbtjänsterna att publiceras automatiskt när publikationen uppdateras.

Annars kommer webbtjänster att markeras som opublicerade. Denna flagga motsvarar attributet pointEnableCommon element ws i fil default.vrd för att konfigurera webbklienten och webbtjänsterna.

Attribut pointEnableCommon ws element ansvarar för möjligheten att använda webbtjänster i denna infobas som publiceras utan att uttryckligen ange tillstånd att använda (attribut Gör det möjligt element punkt).

Om attributet har ett värde Sann, sedan alla webbtjänster för vilka attributvärdet inte är explicit specificerat Gör det möjligt element punkt, kommer att tillåtas att använda.

Annars kommer användningen av sådana webbtjänster att vara förbjuden.

Miljö "Bakgrundsjobb i filläge" matchar attribut tillåta schemalagda jobb ws-element i filen default.vrd.

Attribut tillåta schemalagda jobb kontrollerar möjligheten att utföra schemalagda uppgifter av webbservertillägget för infobasfilversionen.

Attributet kan ha följande värden:

  • av– i det här fallet kommer webbservertillägget inte att utföra schemalagda uppgifter. Schemalagda uppgifter kommer att utföras av en klientapplikation (om en sådan finns) som ansluter till infobasen direkt, utan att använda en webbserver.
  • tvinga– i det här fallet kommer webbservertillägget att utföra schemalagda uppgifter.
    Om värdet för detta attribut inte är inställt, kommer schemalagda uppgifter att utföras av applikationen som kommer att användas för den första anslutningen till infobasen.

Publiceringsfönstret på en webbtjänst i den nuvarande versionen av plattformen har blivit ännu bekvämare och mer ergonomiskt. Nu placeras parametrarna som beskriver OpenID-autentisering på en separat flik.

Numrering av infobasobjekt

I plattformen 8.3 mekanismen för automatisk numrering av infobasobjekt har gjorts om. Numrets eller kodens unika karaktär (inklusive den som erhålls som ett resultat av automatisk generering av numret eller koden) kontrolleras alltid under inspelningen av objektet.

En uppgift om vilket nummer eller vilken kod som inte är unik har lagts till i texten i meddelandet om brott mot ett nummers eller kods unika karaktär.

Användningen av ett ledigt nummer eller en kod har ändrats. Ett nytt nummer eller kod tilldelas utan att använda lediga nummer eller koder, om det redan finns utfärdade nummer eller koder med ett stort (i ordning) nummer eller kodprefix.

Aggregerade funktioner för datasammansättningssystemets uttrycksspråk

Nya aggregatfunktioner implementeras i uttrycksspråket för datakompositionssystemet:

  • Varje();
  • Några();
  • Standardavvikelse för population();
  • Exempel på standardavvikelse();
  • VarianceSampling();
  • Populationsvarians();
  • Population Covariance();
  • SampleCovariance();
  • Korrelation();
  • RegressionSlope();
  • RegressionSegment();
  • RegressionCount();
  • RegressionR2();
  • RegressionMeanX();
  • RegressionMeanY();
  • RegressionMeanSXX();
  • RegressionMeanSYY();
  • RegressionMeanSXY().

Som du kan se av namnen är dessa statistiska funktioner, vilket innebär att utvecklare har möjlighet att skapa komplexa rapporter utan att ta till utvecklingen av procedurer för att beräkna statistiska data.

Klicka på bilden för att förstora.

Som du kan se i figuren finns det inga nya funktioner i rullgardinsmenyn, men om du anger dem manuellt kommer det inte att visas något felmeddelande och rapporten genereras:

Av intresse är också den nya funktionen KlassificeringABC(). Resultatet av funktionen blir klassnumret, med start från 1 (1 motsvarar klass A, 2 till klass B, 3 till klass C, etc.).

Låt oss visa hur den här funktionen fungerar. Skapa en ny extern rapport "Klassificering av varor" baserat på förfrågan:

VÄLJA
ConsumptionGoodsGoods.Goods,
Konsumtion av varor Varor Kvantitet
FRÅN
Document.Expense of Goods.Goods HUR Konsumtionsvaror

Definiera ett nytt beräknat fält Klass:

Klicka på bilden för att förstora.

Låt oss konfigurera resurserna enligt följande:

Klicka på bilden för att förstora.

I användarläge ser rapporten ut så här:

Sammanfattningsvis noterar vi att från utgåva till upplaga i 1C 8.3-plattformen, förbättras och förfinas ACS-mekanismen ständigt, och det är inte möjligt att ta med dessa ändringar i sin helhet inom ramen för vår "nybörjare"-artikel. Ja, detta verkar överflödigt, eftersom du, när du arbetar med den nuvarande versionen av plattformen, alltid kan använda olika hjälpsystem för att hjälpa till med analysen av en eller annan aspekt av driften av denna mekanism.

Glöm dessutom inte vår separata kurs Professionell utveckling av rapporter i 1C 8.3 om Data Composition System, som analyserar till atomen alla finesser och fallgropar när du arbetar med denna mekanism. Se demon själv.

Så låt oss summera de mellanliggande resultaten. Fram till denna punkt har vi bekantat oss med de nya funktionerna i Taxi-gränssnittet och hanterade formulär, samt med några tidigare inte tillhandahållna funktioner i själva plattformen. Nu är det dags att se vilka praktiska funktioner som har blivit tillgängliga för utvecklaren i konfiguratorn.

Plattformar: 1C:Enterprise 8.3, 1C:Enterprise 8.2, 1C:Enterprise 8.1
Konfigurationer: Alla konfigurationer

2012-11-13
53989

I arbetsflödet finns uppgifter som kräver periodisk utförande - till exempel den tjugonde, eller dagligen. I företag specifikt för detta skapas som regel vissa regler som anger när och hur den nödvändiga uppgiften ska utföras, och vem som ska kontrollera processen. Sådana uppgifter utförs enligt föreskrifterna och kallas reglerade.

Ganska ofta följer IT reglerna för övervakning. Denna metod är välkänd för administratörer, eftersom det för detta finns speciella program som används för att regelbundet kontrollera tillståndet för nätverksinfrastrukturen och servrarna. De meddelar administratören om upptäckta problem via SMS eller e-post.

Ett liknande system är giltigt för webbansvariga, medan tillgängligheten av webbplatsen kontrolleras inom 24 timmar. Med hjälp av mekanismen "Regular Tasks" i 1C utförs övervakningsuppgifter, såväl som periodiska uppgifter som är schemalagda i automatiskt läge i 1C. Låt oss överväga detta ämne mer detaljerat.

Schemalagda uppgifter 1C

Objekt 1C, som kallas "Vanliga uppgifter" - gör det möjligt att bearbeta information inte efter att ett problem uppstår, utan enligt ett schema. I konfiguratorn är ett schemalagt jobb ett sätt att ställa in inställningar och ställa in ett schema. Dessutom är det möjligt att i efterhand ändra schemat i 1C Enterprise-läget.

När du använder en fildatabas exekveras inte jobb automatiskt. För att starta processen måste du starta 1C-sessionen i 1C Enterprise-läget och starta utförandet av den schemalagda uppgiften i den.

Alla typiska konfigurationer har en användarinställning som låter dig klargöra att när 1C körs kommer rutinuppgifter att utföras automatiskt.

Att använda klient-serverversionen av 1C gör det möjligt att automatiskt utföra uppgifter på servern. Vid den schemalagda tiden - en bakgrundsuppgift startas, som utför nödvändiga åtgärder. För parallell beräkning på servern kan en bakgrundsuppgift skapas från programtexten med hjälp av 1C-språket, utan att använda en schemalagd 1C-uppgift. Åtgärden för en schemalagd uppgift kan tillfälligt inaktiveras med 1C-serverhanteringskonsolen för detta.

Lägga till ett schemalagt jobb

Schemalagda uppgifter finns i — Konfigurator — Allmänt — Schemalagda uppgifter. Lägg till en ny "uppgift" och ange ett namn. Därefter måste du gå till egenskaperna för "Uppgifter". Och välj Metodnamn. Här måste du ange hanterarfunktionen, precis som det händer i händelseprenumerationen. Denna funktion kommer att finnas i den allmänna modulen och markerad med en "fågel" Server i egenskaperna. Detta innebär att den erforderliga modulen måste läggas till i förväg.

Namnet på uppgiften i egenskaperna för den schemalagda uppgiften låter dig definiera dess namn, som senare kommer att visas i uppgiftshanteringsverktygen. Funktionen Schemalagda jobbegenskaper är en nyckel som låter dig gruppera flera olika schemalagda jobb. I det här fallet kan bara en uppgift med samma nyckelvärde startas samtidigt. Här kan värdet vara godtyckligt, men det är obligatoriskt att fylla i det, eftersom det tomma värdet inte tas med i beräkningen av systemet.

I Accounting 2.0-utgåvan, som är en typisk konfiguration, är schemalagda uppgifter som: "Omberäkning av totaler" och "Konfigurationsuppdatering" fördefinierade, och som till exempel "Försenade rörelser" och "Datautbyte" är inte fördefinierade.

Försök krasch igen - Startar om ett pågående jobb. Tillhandahålls för en lansering som inte slutfördes framgångsrikt första gången. Här anges hur många gånger du kan starta om och hur lång tid efter kraschen.

Övervaknings- och hanteringsverktyg för den schemalagda uppgiften 1C

Standardbearbetningen "Jobbkonsol", som finns på ITS-diskarna, ansvarar för att hantera den schemalagda uppgiften. Denna behandling är en universell extern standardbehandling 1C. Som regel ingår den inte i konfigurationen utan köps separat.

Med dess hjälp kan du utföra följande åtgärder:

Slå på och av den schemalagda uppgiften;

Tilldela och ändra schemat;

Ange namnet på användaren med vilken den schemalagda uppgiften ska utföras;

Se genomförda uppgifter (när och med vilket resultat), samt uppgiftsfel;

Schemalagda uppgift och databaskopior

När du använder server 1C kan följande ögonblick uppstå:

För programmering måste du göra en kopia av arbetsdatabasen;

Behovet av att arbeta i kopior av databasen (testning);

Av någon anledning är den schemalagda uppgiften inte aktiverad i testdatabasen.

Om en av dessa situationer uppstod under utförandet av uppgifter av en schemalagd uppgift som endast är associerad med sin egen databas, innebär detta inte negativa konsekvenser. Men ofta kan en schemalagd uppgift spara filer eller annan data, skicka e-postmeddelanden och utbyta. I det här fallet kan det finnas förvirring mellan resultatet av "jobbet" och kopior. För att förhindra att detta händer måste du inaktivera "tasks" i serverhanteringskonsolen.

Genomförda och ej genomförda rutinuppgifter

När du skapar schemalagda uppgifter är det viktigt att kontrollera om uppgiften kan utföras som en schemalagd uppgift. Det är viktigt att veta att servermodulen inte tillhandahåller många av de saker som är möjliga på klienten. Därefter en uppgift som handlar om något som ligger utanför databasen - en viktig roll i detta spelas av rättigheterna för Windows-användaren under vilken uppgiften utförs.

Den sista faktorn är särskilt viktig, eftersom om modulen inte körs på servern så kan uppgiften i princip inte köras. För att kontrollera måste du köra en uppgift och utvärdera resultatet.

När man för register blir det ofta nödvändigt att regelbundet utföra vissa åtgärder utan att användaren ingriper. Schemalagda uppgifter och bakgrundsuppgifter i 1C är de mekanismer som tillhandahålls för detta ändamål i den åttonde versionen av programmet och tillåter:

  • Ställ in snabb leverans av dokument;
  • Beräkna saldon och summor;
  • Säkerställ regelbundna inlägg;
  • Kontrollera och radera irrelevant data.

Bakgrund och schemalagd uppgift - vad är det och var är det konfigurerat

En schemalagd uppgift är en mekanism inbäddad i 1C som låter dig konfigurera och, i enlighet med det fastställda schemat och frekvensen, utföra en viss sekvens av åtgärder.

En bakgrundsuppgift är en åtgärd som genereras av en schemalagd operation och kräver inte direkt deltagande av användaren.

En schemalagd uppgift skapas i konfiguratorläget:

  • I konfigurationsträdfönstret hittar vi motsvarande gren (Fig. 1);
  • Klicka på knappen Lägg till;
  • I fönstret som öppnas måste du ange ett namn som gör att du kan identifiera objektet i konfigurationen;

Fig.2

  • Mittemot inskriptionen "Schema" (Fig. 2) finns en inskription "Öppna", genom att klicka på vilket öppnar ett fönster för inställning av tid och frekvens för hanterarens utförande (Fig. 3);

Fig.3

  • Det är också nödvändigt att fylla i "Metodnamn" (namnet på proceduren som anropas från den allmänna modulen och som beskriver programbeteendealgoritmen kommer att anges här);
  • Fälten "Namn" och "Nyckel" låter dig gruppera objekt;
  • Den kryssade rutan "Användning" indikerar aktiviteten för den schemalagda operationen;
  • "Fördefinierad" ska ställas in om hanteraren ska startas omedelbart efter att den lagts till i databasen, annars kan den startas från motsvarande bearbetning (mer om det nedan);
  • Parametrarna Antal återförsök och Intervall för återförsök beskriver programmets beteende i händelse av att ett undantag inträffar när ett bakgrundsjobb körs.

Så med hjälp av mekanismen för schemalagda operationer kan du ställa in schemat och huvudåtgärderna för bakgrundsjobb. Låt oss nu titta på deras funktioner.

Funktioner av bakgrundsjobb

Huvudfunktionen hos denna mekanism är att bakgrundsprocessen körs asynkront.

Vad betyder det här. Faktum är att med en synkron arbetsmodell, i fallet med exekvering av någon algoritm, är användargränssnittet blockerat. I vårt fall kan användaren fortsätta att ange och redigera data, även om proceduren körs. Den asynkrona programmeringsmodellen involverar separering av beräkningstrådar.

Således kan bakgrundsjobb i 1C generera sina egna processer och distribuera beräkningar över olika servrar som ingår i samma kluster.

Funktioner för att arbeta i klient-server-läge

  • Exekveringsschemaläggning och kontroll utförs av schemaläggaren från serverklustret;
  • I händelse av en begäran om exekvering letar schemaläggaren efter klusterarbetarprocesser med en minimal belastning och distribuerar uppgifter till dem för exekvering;
  • Varje process kan utföra flera parallella beräkningar;
  • Efter att uppgiften anländer ansluter processen till databasen och exekverar algoritmen i den;
  • Processen rapporterar resultaten till schemaläggaren.

Bakgrundsjobb i filläge

Före plattformsversion 8.3.3.641 uppvisade arbetet med bakgrundsjobb i filversionen vissa svårigheter:

  1. Det var nödvändigt att starta en separat session som skulle fungera dygnet runt och ersätta schemaläggaren;
  2. Den här sessionen borde ha kört metoden ExecuteJobProcessing() med jämna mellanrum.

Efter uppdateringen initierar varje start av de tjocka och tunna klienterna, om AllowExecuteScheduledJobs-nyckeln anges i startinställningarna (Fig. 4) i fältet "Ytterligare", en ytterligare anslutningstråd till databasen, som inte påverkar användarens fungerar på vilket sätt som helst, men utför bara bakgrundsuppgifter.

Fig.4

Det bör beaktas att även i filversionen av arbetet tillåter inte bakgrundsprocesser interaktivt arbete med användaren (tjänstmeddelanden, varningar, frågor kommer inte att visas). Det vill säga, de måste kodas som om de skulle köras på serversidan.

Hur man inaktiverar schemalagda uppgifter

Oanvända uppgifter kan inaktiveras genom att helt enkelt avmarkera kryssrutan "Använd" i objektets egenskaper.

Om administratören behöver förbjuda användningen av rutin- och bakgrundsoperationer för hela databasen som helhet (till exempel lagras flera databaser på servern, varav endast en är den huvudsakliga, och resten används endast för utveckling) , är det nödvändigt att använda databasadministrationsverktyget. Du kan också markera rutan "Ange blockering av schemalagda uppgifter" i databasen som skapats på servern.

Dessutom har ITS-diskar en speciell bearbetnings "Job Console", som låter dig redigera schemat för bakgrundsprocesser och ändra deras aktivitet.

Redaktörens val
Förr eller senare har många användare en fråga om hur man stänger programmet om det inte stänger. Ämnet är faktiskt inte...

Inlägg på material återspeglar varulagerrörelserna under ämnets ekonomiska aktivitet. Ingen organisation kan föreställas...

Kontanthandlingar i 1C 8.3 upprättas som regel i två dokument: en inkommande kontantuppdrag (nedan kallad PKO) och en utgående kontantuppdrag ...

Skicka den här artikeln till min post Inom bokföring är en faktura för betalning i 1C ett dokument som en organisation ...
1C: Trade Management 11.2 Lager för förvaring I fortsättning på ämnet förändringar i 1C: Trade Management UT 11.2 i ...
Det kan vara nödvändigt att kontrollera en Yandex.Money-betalning för att bekräfta pågående transaktioner och spåra mottagandet av medel från motparter....
Förutom en obligatorisk kopia av de årliga (ekonomiska) boksluten, som i enlighet med den federala lagen daterad ...
Hur man öppnar EPF-filer Om det har uppstått en situation där du inte kan öppna en EPF-fil på din dator - det kan finnas flera orsaker....
Debet 10 - Kredit 10 konton är associerade med förflyttning och förflyttning av material i organisationen. För Debet 10 - Kredit 10 återspeglas ...