1c extern bearbetning enligt schema. Universell regleringsuppgift. Mer om konfigurationstillägg

Idag vill vi berätta om användningen av ytterligare rapporter och bearbetning, och speciellt konfigurationstillägg i tjänstemodellen. Teknikerna står inte stilla, att serva 1C-databaser i molnet blir en allt mer attraktiv tjänst. Vad du behöver veta för att den funktionalitet som krävs för ditt företag ska implementeras i en hyrd databas, och hur denna process ser ut från tjänsteleverantörens sida - du kan ta reda på detta under snittet.

Vad är externa rapporter och bearbetning

1C-behandlingar är olika, men i alla fall utökar de funktionaliteten i konfigurationen och låter dig snabbt komma åt information som lagras i databasen utan att ändra konfigurationen och utan att ta bort stöd. De kan byggas in direkt i konfigurationen, läggas till som en konfigurationstillägg eller vara externa filer.

Utifrån funktionalitet delas bearbetningen in i de som kan ändra data och de som helt enkelt analyserar information och visar resultatet i en användarvänlig form (rapporter). För att inte ändra standardlayouter för dokumentutskrift utvecklas externa tryckformulär. Dessutom kan extern bearbetning utföras enligt ett givet schema på 1C-applikationsservern - det här är rutinuppgifter.

Flera dussin bearbetningslösningar har utvecklats i Button som gör att våra revisorer kan använda "praktisk magi". Till exempel, för att analysera riktigheten av redovisningen i knappen, används den externa rapporten "Databas Auto Audit". Lättlästa tabeller ger en analys av 120 kriterier för kontosaldon och omsättning, efterlevnad av data från skattedeklarationer och redovisningsinformation, analys av anläggningstillgångar m.m.

Ett exempel på en extern tryckt blankett ”låneavtal” enligt den blankett som tagits fram av våra jurister. Det finns fall när en företagare tar ett räntefritt lån från sitt företag som privatperson, eller vice versa, överför sina egna medel till företaget, då är det möjligt att omedelbart skriva ut avtalet.

Ett formulär öppnas för att fylla i nödvändiga uppgifter:

Och den tryckta formen av kontraktet visas:

Vi använder till exempel schemalagd bearbetning (rutinuppgifter) för att korrigera påståenden. Knappar har skapat integrationer med stora banker och speciella robotar laddar kontoutdrag direkt i 1C. Tack vare maskininlärningsteknik reducerades andelen fel under urladdning till 3 %. Men som alltid finns det undantag, till exempel kunder som använder ett agentursystem för att sälja varor; i det här fallet är reglerna för att utföra ett kontoutdrag individuella. För att inte programmera om roboten för ett visst fall, innan tillkomsten av konfigurationsförlängningar, användes en rutinuppgift för att korrigera robotens uttalande var tionde minut.

Vad är konfigurationstillägg

En tillägg är en minikonfiguration som ärver objekt från huvuddatabaskonfigurationen och innehåller kod med tillägg eller korrigeringar av objekt och moduler. I det här fallet förblir huvudkonfigurationen stödd, det finns inget behov av att aktivera redigering, vilket avsevärt förenklar uppdateringsprocessen.

Mekanismen förutsätter tre typer av användning, som faktiskt anges i fältet "Syfte" när du skapar en tillägg:

Den centrala komponenten i tekniken är Servicechef, den lagrar all information om abonnenter, användare, applikationer, informationsbaser och kopplingar dem emellan, och med dess hjälp hanteras externa bearbetnings- och konfigurationstillägg.

Alla filer med bearbetning laddas upp till en speciell katalog hos servicehanteraren. Men innan du laddar upp en fil till katalogen, med andra ord "publicera den till tjänsten", måste den förberedas på ett speciellt sätt.

Förbereda externa rapporter och bearbeta för publicering i tjänstemodellen

En ytterligare rapport eller bearbetning skapas i 1C: Enterprise 8-konfiguratorn som standard externa rapporter och bearbetning och sparas i en fil med filändelsen - .epf (för ytterligare bearbetning) eller .erf (för ytterligare rapporter).

Objektmodulen måste ha procedurer och funktioner för att definiera registreringsparametrar.

Observera att den viktiga parametern är "Version". Om du har gjort ändringar i en bearbetning som tidigare laddats upp till Service Manager-katalogen, se till att ändra versionsnumret, annars vägrar servicehanteraren att ladda filen. När du utvecklar en rapport eller bearbetning måste du ta hänsyn till att användare arbetar i en tjänstemodell genom en webbklient (bra artikel på 1C-bloggen). Om behandlingen innehåller formulär måste de fungera i webbklienten under alla webbläsare som stöds av teknologiplattformen 1C: Enterprise 8.

Enligt standarderna för tjänsten 1cfresh.com måste en ytterligare rapport eller bearbetning vara fullt fungerande när den körs i säkert läge, det vill säga arbeta utan att komma åt objekt utanför konfigurationen.

En ytterligare rapport eller bearbetning måste förberedas för uppladdning till tjänsten som ett leveranspaket. Leveransuppsättningen är ett arkiv (zip-fil) som innehåller:

  • ytterligare rapport eller bearbetningsfil;
  • xml-manifestfil, som innehåller ytterligare metainformation som behövs för att tjänstehanteraren ska kunna publicera en ytterligare rapport eller bearbeta den i tjänsten.
Förberedelse utförs i en lokalt distribuerad infobas av den konfiguration som den extra rapporten eller bearbetningen är avsedd för. Vi använder en speciell assistent för att skapa en leveransuppsättning, extern bearbetning Utarbetande av tilläggsrapporter och bearbetning av publikationer i Tjänstemodellen.epf. Du kan läsa mer i dokumentationen om Tekniken för att publicera 1C Fresh-lösningar.

Installation av ytterligare rapporter och bearbetning i tjänstemodellen

En utmärkande egenskap hos 1C Fresh-tekniken är att en extern rapport eller bearbetning inte kan laddas direkt i dataområdet. Tillägg kan endast göras av tjänsteadministratören via tjänstehanteraren. Efter att zip-arkivet med bearbetningsfilen har förberetts måste det laddas upp till servicehanterarens katalog och installeras för en specifik tjänsteabonnent.

En tjänsteabonnent är en grupp användare som är förenade enligt någon princip. Följaktligen kallas informationsbaser som är tillgängliga för en viss grupp användare abonnentapplikationer.

Applikationer kan ha olika 1C-konfigurationer (Enterprise Accounting, Löne- och Personalhantering, Ledning av vårt företag, etc.), för vilka det är möjligt att använda det i tjänstemodellen. Ytterligare rapportering eller bearbetning kan endast installeras i abonnentens applikationer som anges vid nedladdning av filen.

Så här ser egenskapsformuläret för ytterligare en rapport med versioner ut. Med hjälp av hyperlänken "Installera/ta bort" kommer vi till listan över applikationer och väljer de databaser som krävs.

Efter att bearbetningen har laddats och applikationen har valts kontaktar servicechefen applikationsadressen och ger kommandot att installera den i informationsbasen.

Vi startar handläggning enligt schema

När man arbetar med ett stort antal redovisningsdatabaser måste viss bearbetning utföras med jämna mellanrum. Till exempel en gång i månaden eller en gång varannan minut. Det är också viktigt att automatisera manuella och rutinmässiga användaroperationer. För att göra detta använder vi aktivt rutinuppgifter.

Behandling som kommer att utföras enligt schemat saknar blankett. All logik skrivs i objektmodulen och ser ut så här.



När vi förbereder leveranssetet sätter vi ett schema. Nu kommer vår bearbetning att utföras varje timme.

Mer om konfigurationstillägg

Parallellt med externa rapporter och bearbetning som måste förberedas och administreras "på gammaldags sätt", började vi aktivt använda mekanismen för konfigurationsförlängning. Från och med 1C Enterprise-plattformen 8.3.10 har denna mekanism gjort vårt liv ganska enkelt och har gjort det möjligt att förenkla anpassningen av konfigurationer till funktionerna i knappen.

Till exempel skrev vi ovan om rutinoperationer för att korrigera dokument av robotar som lanserades en gång var 10:e minut. Nu kan du använda tillägget för att omdefiniera driften av moduler. Således kan vi omedelbart utföra nödvändiga åtgärder när vi spelar in eller lägger upp ett dokument. Detta är mycket mer optimalt, eftersom uppgiftskön i databasen inte är igensatt med åtgärder som utförs var 10:e minut, och det är mer effektivt, eftersom ändringar görs omedelbart.

Det är ganska enkelt att förbereda en ny förlängning. Låt oss titta på processen att skapa tillägg med hjälp av specifika exempel.
Baserat på arbetslivserfarenhet är ledaren i önskemål om justeringar den tryckta blanketten TORG-12. Till exempel måste vi göra en förlängning för att kunna skriva ut en följesedel i utländsk valuta (som standard kan den bara genereras i rubel).
Öppna Meny → Konfiguration → Konfigurationstillägg
Vi skapar en ny tillägg med syftet "Anpassning".

Tillägget ser ut som ett välbekant konfigurationsträd, men utan objekt ännu. Först av allt, låt oss lägga till en ny layout TORG-12, där vi infogade kolumner med belopp i valuta.

Eftersom fakturan skrivs ut från dokumentet "Försäljning av varor och tjänster", kommer vi att lägga till detta dokument i vårt tillägg från huvudkonfigurationen och göra de ändringar vi behöver i managermodulen. För att göra detta, välj "lägg till i tillägg" i snabbmenyn för implementeringen.

Nu kan du ändra implementeringshanterarmodulen. Vi behöver lägga till ett nytt formulär i listan över utskrivbara formulär och fylla i valutabeloppen.

För att ändra standardprocedurer använder vi &Efter-anteckningen; vi behöver också ett par av våra egna funktioner och en procedur.

Låt oss ta en närmare titt på anteckningarna. I tillägg kan du använda: &Före, &Efter, &Istället (mycket noggrant). Funktionsprincipen är enkel: vi vill att våra algoritmer från tillägget ska exekveras först, sätta &Före-anteckningen och inom parentes ange namnet på proceduren från standardkonfigurationen. Om en standardmodul bearbetas först, och sedan vår, använder vi &After.

&Före- och &Efter-kommentarerna kan inte användas för funktioner. Därför, om vi behöver ändra algoritmen för en funktion från huvudkonfigurationen, använder vi anteckningen &Istället.

Anteckningen &Istället bör användas så sällan som möjligt, eftersom den helt ersätter exekveringen av en procedur och funktion från huvudkonfigurationen med en förlängningsprocedur/funktion. Med denna avlyssningsmetod kommer proceduren/funktionen från huvudkonfigurationen att upphöra att exekveras alls medan tillägget är installerat, även uppdatering av versioner hjälper inte.

Slutsats

Det finns många olika åsikter om användningen av tillägg och externa rapporter/bearbetning. Baserat på vår erfarenhet är vi båda för expansion. Detta är en modern och mer anpassningsbar teknik, den har många fler möjligheter, och det är mycket lättare att publicera dem. Endast den nödvändiga delen av koden placeras i tillägget; det finns inte heller något behov av att skriva procedurer och funktioner för att bestämma registreringsparametrar, spåra versioner och skapa ett leveranskit.

Du kan använda flera tillägg för ett dataområde.
För detaljerna i 1C Fresh som arbetar i dataseparationsläge (en konfiguration, många oberoende områden), är förlängningsmetoden en utmärkt lösning.

2017-12-19T18:29:06+00:00

Till uppdateraren inte nödvändig vara öppen hela tiden eller köras som en tjänst så att schemalagda operationer kan startas.

Schemalagd lansering fungerar genom en standard Windows-mekanism som kallas "Task Scheduler".

Och när användaren ställer in schemainställningarna...

Uppdateraren skapar automatiskt de nödvändiga uppgifterna i schemaläggaren:

Vad du inte bör glömma

Användarval

Vi får inte glömma att användaren vi anger för att köra schemalagda operationer...

Måste ha systemrättigheter till "Logga in som ett batchjobb".

Hur kontrollerar man om en användare har de nödvändiga rättigheterna?

Det enklaste alternativet är att högerklicka på den skapade uppgiften i schemaläggaren och välja "Kör":

Om, efter att uppgiften har slutförts, resultatet av dess lansering lyckas...

Om så inte är fallet kontaktar vi systemadministratören så att han i säkerhetspolicyn anger (vår användare eller hans grupp) i objektet " Loggar in som ett batchjobb", och även undantagna från stycket " Neka inloggning som ett batchjobb".

Måste ha ett icke-tomt lösenord. Detta är ett säkerhetskrav för Windows. Om du står inför denna speciella begränsning skulle den mest korrekta lösningen vara:

  • eller tilldela ett lösenord till den aktuella användaren som du ska köra uppdateringen under enligt ett schema
  • eller skapa en separat användare i systemet med ett lösenord, som kommer att registreras i uppdateringsschemat

Tja, den enklaste (men felaktiga ur säkerhetssynpunkt) lösningen på denna begränsning skulle vara att inaktivera alternativet "Tillåt användning av tomma lösenord endast under konsolinloggning" i den lokala datorsäkerhetspolicyn.

Välja baser

Vi får inte heller glömma att endast de databaser som är valda i listan över databaser som deltar i schemat deltar i schemalagda operationer:

I det här fallet spelar det ingen roll om bocken är bredvid basen i den allmänna listan:

Dessa kryssrutor (i den allmänna listan) är endast avsedda för manuell start av operationer och påverkar inte schemalagd lansering på något sätt.

Startorder

Och till sist, en till inte uppenbar punkt. När en schemalagd uppgift körs kontrollerar uppdateringsprogrammet först om en annan schemalagd uppgift körs. Och om det exekveras kommer det först att vänta på att det är färdigt och först därefter kommer det att köra ett nytt.

Det betyder att om vi till exempel behöver konfigurera arkivering för att ske kl 22-00, och databaser ska uppdateras direkt efter dess slutförande, så räcker det med att ange starttid för arkivering kl 22-00, och för uppdatering t.ex. 22-01.

Vad händer om du behöver ett mer komplext schema?

Vad händer om vi inte bara behöver en vanlig lansering vid en viss tid vissa dagar? Tänk om vi vill, säg, ställa in den att starta klockan 5 varje halvtimme, eller något liknande?

I det här fallet måste vi dra fördel av den fulla kraften i uppgiftsschemaläggaren.

Först ställer vi in ​​schemat via uppdateringsprogrammet, vilket indikerar att ett specifikt schema kommer att konfigureras i schemaläggaren:

Och först då öppna egenskaperna för uppgifterna som skapats av uppdateringsprogrammet i Windows Scheduler:

Och på lämpliga flikar konfigurerar vi allt vårt hjärta önskar:

Hur man utesluter en databas från vissa schemalagda operationer

Låt oss anta att vi har ett schema konfigurerat för uppdatering och arkivering:

Men samtidigt vill vi att en databas ska delta i schemalagd arkivering, men inte delta i schemalagd uppdatering.

Hur man uppnår detta - trots allt har vi samma lista över baser som deltar i schemat:

Och det är väldigt lätt att göra.

Gå till egenskaperna för databasen som du vill utesluta från schemalagda uppdateringar och längst ner i fönstret hittar du objektet "Uteslut vissa operationer...":

Klicka på den och uteslut uppdatering av denna databas från schemalagd lansering:

Det ska se ut så här:

Är det möjligt att köra på ett schema med andra parametrar?

Jag skulle vilja uppmärksamma det faktum att uppgiften i uppgiftsschemaläggaren är en regelbunden lansering av uppdateringsprogrammet med vissa kommandoradsparametrar:

Och uppdateringsprogrammet har många parametrar för att starta via kommandoraden.

Genom att använda dem kan du anpassa automatiseringen mycket mer subtilt och efter dina behov. Ändra bara inte kommandoradsparametrarna i en redan skapad uppdateringsuppgift - annars kommer den fortfarande att återställa dem till de ursprungliga när de schemalagda startinställningarna uppdateras. Kopiera istället den skapade uppgiften i schemaläggaren (så att den får ett eget namn) och ändra den.

Om alla kommandoradsväxlar för uppdateraren.

Hur man tar reda på om uppdateringsprogrammet startades enligt schemat

Det händer att schemat verkar ha satts upp, men något går fel.

Och vi är inte alls säkra på om uppdateringsprogrammet lanserades den natten.

Först och främst vill jag fästa din uppmärksamhet på området i huvuduppdateringsfönstret där statusen för schemalagda operationer visas:

Här ser vi hur många dagar sedan motsvarande lanserades. schemalagd operation; hur många databaser det rörde sig om och om det fanns några fel. Dessutom, om vi vänsterklickar på dessa länkar, kommer motsvarande rapport att öppnas.

Vi kan också gå till den fullständiga uppdateringsrapportloggen...

Och se om uppgifterna var klara.

Men det mest tillförlitliga sättet att ta reda på om ett program startade och förstå orsakerna till att det inte startar eller plötsligt avslutas är att aktivera loggen för alla uppgifter i Windows Scheduler. Som standard är det inaktiverat och jag rekommenderar att du aktiverar det så att du alltid kan ta reda på problematiska situationer.

För att aktivera Windows Scheduler-loggen, gå till dialogrutan "Kör enligt schema" och klicka på knappen "Öppna Windows Scheduler":

Detta kan också göras från Windows Kontrollpanel (Administrationssektion).

Här hittar vi och klickar på objektet "Aktivera logg över alla uppgifter":

Redo! Nu kan vi se historiken för alla uppgifter i schemaläggaren.

Låt oss till exempel markera en av uppdateringsuppgifterna:

Hur man ställer in ett molnövervakningssystem för att köra uppdateringsuppgifter

Nu ska jag berätta om ett sätt att försäkra dig mot situationen - "åh, det visar sig att våra databaser inte har arkiverats (uppdaterats, testats...) på en hel vecka."

Den här situationen är mycket möjlig om vi konfigurerade arkivering att starta enligt ett schema och sedan:

  • en annan serveradministratör tog bort rättigheterna från vårt konto att börja arkivera från schemaläggaren och i det här fallet kommer uppdateringsprogrammet inte ens att kunna skicka ett meddelande till oss via e-post, eftersom det måste startas, men det finns inga rättigheter att göra så...
  • eller så har några andra fel uppstått och det finns inget internet på servern för att uppdateraren ska kunna skicka ett felmeddelande till oss...
  • eller så stängde vi själva av misstag av schemalagd arkivering i uppdateringsprogrammet...
  • man vet aldrig vad som kan hända...

Och förutom att ställa in felmeddelanden via e-post behöver du bara konfigurera ett molnsystem för att övervaka lanseringen av vår uppdatering. Vad är det och hur fungerar det?

Detta är enligt min mening en helt lysande sak som heter healthchecks.io. Dessa killar har också betalplaner, men deras gratisplan är bra för oss.

Tanken är följande. Vi registrerar oss på deras hemsida och på vårt personliga konto har vi möjlighet att säga:

  • Hej, HealthChecks, ge mig en unik URL (adress till en internetresurs).
  • HealthChecks, om ingen knackar på (begär) på den här adressen under en sådan period, meddela mig om detta via ett sådant e-postmeddelande.

Sedan kommer vi att ange den här adressen i uppdateraren och den kommer att begära den, till exempel i slutet av varje schemalagd arkivering. Och om den vid något tillfälle plötsligt slutar starta eller kraschar kommer HealthChecks-tjänsten att meddela oss om detta. Även om vår server brinner ner kommer den att bli stulen och demonteras i småbitar..., vi kommer att vara de första att få veta om detta från HealthChecks

Jag tycker att det här är en lysande idé. Om du inte tror det verkar det som att du inte helt har förstått innebörden av den här saken - läs gärna min besvärliga text igen.

Jag kommer att nämna separat att det beskrivna övervakningssystemet inte avbryter, utan kompletterar, mejlaviseringar om fel, som även måste konfigureras i uppdateraren för fullständig kontroll över situationen.

Det enklaste scenariot för att ställa in HealthChecks med en uppdatering

Låt oss ställa in daglig arkivering på en server som heter DataServer som tillhör bolaget LLC "Romashka":

Och vi vill att HealthChecks ska meddela oss om uppdateringsprogrammet plötsligt slutar köra för arkivering eller om sådana lanseringar slutar onormalt.

3. Registrera dig med den e-postadress som du vill få aviseringar till.

3. Gå till avsnittet "Checkar" och klicka på den stora gröna knappen "Lägg till kontroll".

5. Låt oss ändra namnet på denna check till OOO "Romashka" (DataServer, arkivering). Detta måste göras så att vi förstår exakt vad denna kontroll är relaterad till (arkivering på en server som heter DataServer i företaget Romashka LLC):

6. Ange verifieringsperioden (arkivering bör startas en gång om dagen, själva arkiveringsprocessen kan ta upp till 12 timmar):

Det andra skjutreglaget (grace) är exakt det tillåtna överskottet av perioden, det vill säga den tid under vilken arkiveringsprocessen kan pågå.

Jag angav den extra gränsen på 12 timmar (grace) avsiktligt, eftersom uppdateraren gör en begäran till övervakningssystemet i slutet av sitt arbete, och sluttiden kan variera beroende på olika förhållanden.

Om vi ​​till exempel schemalägger att en uppdatering ska börja kl. 22.00, kan den här uppdateringen sluta kl. 23.00 i dag och imorgon (många nya uppdateringar har släppts) kommer den att pågå till kl. 04.00.

Därav den extra marginalen på 12 timmar för att undvika falska positiva resultat från HealthChecks.

Resultatet av att ställa in perioden blir så här:

7. Men som du kan se är fältet Last Ping tomt (Aldrig). Den kommer att uppdateras eftersom den här adressen nås av uppdateraren under arkiveringen. Och om det inte finns någon begäran på mer än 1 dag och 12 timmar kommer HealthChecks att slå larm och meddela oss via e-post.

Fråga: Problem med tillgång till ytterligare bearbetning i Zup3


skapat ytterligare bearbetning och placerat den i lönedelen. En användare med rättigheterna för en ledande personal kan inte starta revisorn, den säger "otillräckliga åtkomsträttigheter." Hur ställer jag in behörigheter för att köra ytterligare bearbetning?

Löne- och personalhantering, upplaga 3.0 (3.0.24.115) ()
Copyright © LLC "1C", 2007-2014. Alla rättigheter förbehållna
()

Svar:

Fråga: Köra ytterligare bearbetning enligt ett schema


Hej alla. Jag håller bara på att lära mig programmera, så skälla inte ut mig för mycket för att jag ställer fel frågor. 1C Retail 2.2.5.27 Skapat en extern bearbetning som, när du klickar på en knapp, laddar in data från en fil till informationsregistret. Allt fungerar bra manuellt, men nu är uppgiften att se till att denna bearbetning startar enligt ett schema och utan att formuläret öppnas. Det vill säga i bakgrunden så att det fungerar.
Behandling kopplas i formuläret "Ytterligare rapporter och bearbetning".

Kod i formulärmodulen

Funktion InformationOnExternalProcessing() ExportRegistrationParameters = Ny struktur; Registration Parameters.Insert("View", "AdditionalProcessing"); Registration Parameters.Insert("Name", "Loading balances (PCService(C))"); Registration Parameters.Insert("Version", "1.0"); Registration Parameters.Insert("SafeMode", False); Registration Parameters.Insert("Information", "Loading Remaining"); Registration Parameters.Insert("BSPVersion", "2.3.2.33"); CommandTable = GetCommandTable(); AddCommand(CommandTable, "Loading balances (PCService(C))", "1", "OpenForm", True,""); AddCommand(CommandTable, "Load balances (PCService(C))", "2", "CallServerMethod", True,""); TeamId = "2"; Registration Parameters.Insert("Kommandon", CommandTable); Returregistreringsparametrar; EndFunction Funktion GetTableCommands() Commands = NewValueTable; Commands.Columns.Add("Visa", NewTypeDescription("Row")); Commands.Columns.Add("Identifier", New TypeDescription("String")); Commands.Columns.Add("Användning", New TypeDescription("Row")); Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean")); Commands.Columns.Add("Modifier", New TypeDescription("Row")); Return Team; EndFunction Procedur AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "") NewCommand = CommandTable.Add(); NewCommand.View = Visa; NewCommand.Identifier = Identifierare; NewCommand.Use = Använd; NewCommand.ShowAlert = ShowAlert; NewCommand.Modifier = Modifierare; Slut på procedur &På servern Procedur Utför kommando (Kommando-ID, Tilldelningsobjekt) Exportera Procedurslut

När du klickar på exekveringsknappen med startalternativet "Öppna formulär", öppnas formuläret och programmet körs omedelbart (det exekveras omedelbart eftersom det på formuläret i händelserna "When CreatedOnServer" anges att huvudkoden för programmet kommer att köras)
När du klickar på knappen Execute med startalternativet "Call ServerMethod" ger det inga fel men inget resultat.
Vad gör jag fel??

Svar:

Jag rökte allt. Här fick jag kopiera koden som jag ville exekveras utan att öppna formuläret

Fråga: Retail 2.2 lansering av ytterligare bearbetning enligt schema


Hälsningar. Retail 2.2, ytterligare bearbetning är aktiverad och schemalagd exekvering ställs in. Jag tittar på utförandet genom - Support och Underhåll - rutinuppgifter, min uppgift antingen körs eller slutar köras enligt schemat, under en tid fungerar den exakt enligt schemat och slutar köras av sig själv. Det är inte en fråga om själva bearbetningen eftersom det inte ger ett fel, men uppgiften startar helt enkelt inte. Sedan börjar den fungera normalt av sig själv. Vad kan påverka starten på en rutinuppgift?
Jag försökte ställa in olika scheman, men det fungerade inte.

Svar:

Problemet löstes genom att installera om plattformen på alla datorer

Fråga: Ytterligare bearbetning


God dag till alla.
Hantera vårt företag, version 1.6 (1.6.12.4)

Säg mig, är det möjligt att lägga till ytterligare bearbetning till delsystemet utan att röra konfiguratorn?
De där. Jag behöver att bearbetningen inte ska anropas genom ytterligare bearbetning, utan som en extern rapport, omedelbart i delsystemlistan.

Svar:

Skapa en rapport i tillägget, lägg till önskat (befintligt) delsystem till tillägget, gör en länk till den skapade rapporten i det "utökade" delsystemet.

Fråga: Använda webbtjänster i ytterligare bearbetning med BSP


God eftermiddag
I det färska är det nödvändigt att bygga in ytterligare bearbetning som kommer åt webbtjänsten för en annan databas. Bearbetning sker naturligtvis i felsäkert läge, men ”det är tillåtet att använda felsäkert lägesförlängning av biblioteket av standardundersystem (möjligheten att arbeta med filer, Internetresurser etc.) genom ett specialiserat mjukvarugränssnitt med registrering av behörigheter som krävs för ytterligare rapportering/bearbetning." Jag kan dock inte hitta i den aktuella versionen av BSP hur man konfigurerar detta. hjälp, vänligen Färsk version av databasen: Enterprise Accounting, utgåva 3 .0 (3 .0 .59 .45) BSP 2 .4 .5 .31

Svar: oO

Fråga: ZUP kraschar när en viss bearbetning startas, vad ska jag göra?


Det finns ett tillägg som uppdaterar de förlikningshandlingar som angetts på grund av uppsägning. När denna bearbetning startas stängs programmet dumt utan några meddelanden. Jag kan inte se något i felsökaren. På testdatumet för vilket 1 dokument gjordes, godkänns det. Vad ska jag göra mer? Jag testade och det verkade inte finnas några fel.

Svar: bra, men varför behövdes cykeln? Om du har några poster så skriv, jag vet inte, i en journal eller något annat, nej, ändra eller gör ingenting

Fråga: Schemalagd uppgift för ytterligare bearbetning


Alfa-Auto-konfiguration: Bilsalong + Bilservice + Bildelar CORP. Upplaga 6.
Skapat Extern bearbetning. Jag kopplade den som ytterligare bearbetning.
Ställ in schemalagd utförande. Men det börjar inte med felet:
Rutinuppgiften "Starta ytterligare bearbetning" kan inte utföras på grund av bristen på inställningar i proceduren RoutineTasksOverridden.WhenDefiningRegularTaskSettings(). Kontakta din systemadministratör!
Vem kan berätta för mig vad som är fel med bearbetningen eller installationen av basen.

Svar:() Så du tittar på vad som finns i RoutineTasksOverridden.WhenDefiningSettingsofRoutineTasks()
I BSP är denna procedur vanligtvis tom. I Alpha kan något ha förbättrats.

Fråga: Automatisk start av extern bearbetning


God dag till alla. Snälla hjälp, kära 1C-utvecklare, lös detta problem.
Det finns extern bearbetning, den har två knappar, "Kör" och "Skicka". När du klickar på knappen "Kör" fylls tabelldelen i.
När du klickar på knappen "Skicka" skickas ett e-postmeddelande med data från tabelldelen och en bifogad fil.

Fråga: är det möjligt att göra denna bearbetning automatiskt utförd varje dag? DE DÄR. till exempel: klockan 08:00 på morgonen varje dag utlöstes proceduren "Kör" och "Skicka"? Serverbas. Jag kommer gärna att få all hjälp och alla alternativ.

Svar:() Och med detta startalternativ, kommer 1C-processen att stängas efter bearbetning? eller måste den avslutas från bearbetning via ShutdownSystem(False)?

God morgon, säg mig ett skript som ska köras enligt bearbetningsschemat, eller snarare problemet är att du behöver ett skript (batchfil) som skulle starta 1s 77, men efter att ha kontrollerat, om den normala lanseringen misslyckas, kommer det att vara exklusivt med omindexering. Och helst med öppning av extern bearbetning. Det behövs för automatiska uppladdningar, men sändningstiderna ställs olika in överallt. och mest på natten.

Svar: någon nncron xstarter-schemaläggare

Extern bearbetning är ett mycket bekvämt verktyg för företag som använder standardkonfigurationer på 1C:Enterprise 8.3. De tillåter dig att inte slösa kraft och pengar på 1C-uppdateringar, vilket gör det möjligt att uppdatera databaser med en knapp i enkelt användarläge. Med hjälp av standardbiblioteksmekanismen för delsystemet kan du lägga till olika knappar i dokument och referensböcker utan att ändra standardkonfigurationen. Låt oss överväga ett exempel på att skapa och ansluta extern bearbetning i en av 1C-konfigurationerna.

Vi skapar extern bearbetning i 1C 8.3

För att skapa en ny extern bearbetning använder vi konfiguratorn. Genom menyn "Arkiv", välj skapande kommandot "Ny..." och bestäm att vi kommer att skapa extern bearbetning. Ange namnet i fönstret som öppnas, och när du trycker på "Enter" fylls det i automatiskt. Systemet kommer också att erbjuda dig detta namn som filnamn när du sparar.

Låt oss lägga till ett bearbetningsformulär genom att klicka på knappen med ett förstoringsglas i motsvarande fönster. Låt oss till exempel skapa en bearbetning som visar vilka kundorder som använder en viss vara. För att göra detta måste vi placera på formuläret:

  • Attribut – fält för inställning av nomenklaturen;
  • En knapp som anropar koden.

Lägg till attributet "Nomenclature" med datatypen "DirectoryLink.Nomenclature" i motsvarande avsnitt och knappen "Visa" i menyn "Kommandon" -> "Formulärskommandon".

För att den tillagda informationen ska återspeglas i formuläret måste du dra den till formulärelementen som finns i den övre vänstra delen. Det är möjligt att byta element med de blå pilarna. För att knappen vi skapade ska göra vad den avsåg måste den tilldelas en procedur. Välj "Kommandoåtgärd" genom snabbmenyn och på frågan om var hanteraren behövs svarar vi: "Skapa på klienten och en procedur på servern."


Fragment 1

&OnClient Procedur Show(Command) ShowOnServer(); Slut på procedur &OnServer Procedur ShowOnServer() //Infoga innehållet i hanteraren. Slut på procedur

Vi valde att skapa en procedur på servern eftersom vi vill få ett prov från databasen som ett resultat. Vi har inte det här alternativet på klienten, så vi måste ansluta till servern som utbyter data med databasen. Nu måste vi skriva kod som implementerar det vi har planerat. Begäran och utmatningen av alla dokument via funktionen "Report()" kommer att användas.


Fragment 2

&OnClient Procedur Show(Command) ShowOnServer(Nomenklatur); EndProcedure &OnServer Procedur ShowOnServer(Nomenclature) Request = Ny begäran; Query.Text = "VÄLJ VARIOUS | Customer OrderComposition.Link AS Link | FROM | Document.Customer Order.Composition AS Customer OrderComposition | WHERE | Customer OrderComposition.Nomenclature = &Nomenclature"; Request.SetParameter("Nomenklatur", Nomenklatur); RequestResult = Request.Execute(); SelectionDetailRecords = QueryResult.Select(); While SelectionDetailedRecords.Next() Loop Report(SelectionDetailedRecords.Link); EndCycle; Slut på procedur

I nuvarande skede kan vi öppna extern bearbetning i en löpande 1C-databas som en vanlig fil, och den kommer redan att vara i drift. Men om vi har många användare måste vi skicka den här filen till dem alla och förse dem med instruktioner om hur man faktiskt öppnar den i 1C, vilket är extremt obekvämt. För att undvika detta bör vår bearbetning placeras inuti en av 1C-sektionerna. För att göra detta måste vi ändra det lite mer genom konfiguratorn och ange vissa inställningar.

För att placera extern bearbetning i avsnitt 1C är det nödvändigt att registrera proceduren ”Information OM Extern bearbetning” i objektmodulen. Från huvudbearbetningsmenyn, klicka på Åtgärder och välj Objektmodul. Här måste du registrera alla nödvändiga inställningar för 1C så att systemet förstår vad som krävs av det och vilken typ av fil som finns framför det. Skärmdumpen visar koden för funktionen "Information om extern bearbetning".

Funktion InformationOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("Namn","Ny extern bearbetning"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Version", "ver.: 1.001"); DataForReg.Insert("Visa", "Ytterligare bearbetning"); CommandTable = NewValueTable; TabZnCommands.Columns.Add("Identifier"); TabZnCommands.Columns.Add("Användning"); TabZnCommands.Columns.Add("Visa"); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "Ny extern bearbetning"; DataForReg.Insert("Kommandon", TabZnCommands); Returnera DataForReg; EndFunction

Fragment 3

Anslut extern bearbetning i 1C

Innan du ansluter extern bearbetning till en standardkonfiguration måste du aktivera användningen av detta verktyg. I "Administration", i underposten "Utskrivna formulär, rapporter och bearbetning", sätt flaggan mittemot den mekanism vi behöver. En knapp för att gå till katalogen för ytterligare bearbetning och rapporter blir tillgänglig för oss.


När vi går till listan kommer vi att skapa en ny rad i den, och systemet kommer att uppmana dig att välja en fil. Vi väljer bearbetningen vi gjorde och sparade, och 1C-konfigurationen fyller självständigt i de flesta fälten. Med knappen "Kör" kan vi redan kontrollera funktionaliteten i vår bearbetning, men det är inte särskilt bekvämt för andra användare. För att användarna ska ha vårt kommando och kunna ringa ett samtal måste vi:

  • Ange platsen för objektet. Genom att klicka på "Odefinierat" öppnar vi sektionsfönstret och anger i vilka sektioner operationen kommer att vara tillgänglig;
  • Välj användare för vilka detta kommando kommer att visas i menyn "Ytterligare bearbetning" för de valda sektionerna utan onödiga inställningar. För att göra detta måste du i tabellsektionen välja "Snabbåtkomst" och lägga till ansvariga användare till höger halva;
  • På fliken "Ytterligare information" kan du ange i vilken mapp den nedladdade behandlingen kommer att finnas;
  • Efter att ha tryckt på knappen "Skriv" i det valda avsnittet i menyn "Ytterligare bearbetning", kommer användarna att hitta vårt kommando och kan använda det.

Om vi ​​vill göra ändringar i vår bearbetning måste vi först ladda ner den från databasen. För att göra detta, hitta den önskade raden i katalogen "Ytterligare bearbetning och rapporter" och använd kommandot "Ladda upp till fil...". Gör ändringar, spara bearbetningen och använd knappen "Ladda från fil..." för att hitta den modifierade epf-filen utan att ändra parametrarna. Efter inspelningen kommer alla användare att se de ändringar som gjorts.

Om du använder en icke-standardiserad eller avvecklad 1C-databas, dra nytta av möjligheten att ladda ner bearbetning via konfiguratorn. I objektträdet, i avsnittet "Bearbetningar", skapa en ny bearbetning och, via snabbmenyn, välj "Ersätt med extern bearbetning, rapportera...". Allt som återstår är att konfigurera lanseringen av extern bearbetning från önskad sektion, inklusive den tillagda bearbetningen i det önskade delsystemet.


Att arbeta med extern bearbetning är mycket bekvämt och låter dig undvika många konflikter. Deras enda betydande nackdel är att de inte uppdateras automatiskt tillsammans med konfigurationen. Det vill säga, om utvecklarna ändrade namnet på dokumentet eller referensboken i huvudkonfigurationen, måste vi konfigurera bearbetningen manuellt.

Skapa en rutinuppgift

Låt oss skapa en rutinuppgift "Utför bearbetning".

Låt oss inaktivera användningen av den schemalagda uppgiften så att den inte körs automatiskt när du uppdaterar konfigurationen.

Låt oss tilldela en procedur som kommer att utlösas när en rutinuppgift startas:Modul för RoutineTasks.RoutineTaskExecutionProcessing.

Själva proceduren ser ut så här:

Procedur RoutineTaskExecutionProcessing(Key) Export

Parametrar för RoutineTasks.PerformProcessingWithParameters(Key);

Slut på procedur

Vi skapar en uppslagsbok för rutinuppgifter

Vår rutinuppgift kan skapa många bakgrundsprocesser - en för varje bearbetning. Varje uppgift i 1C8-plattformen har en nyckel. Men den schemalagda jobbmetoden känner inte till bakgrundsjobbnyckeln, så du måste använda bakgrundsjobbparametrarna. Som ett resultat kan vi se bakgrundsjobbet i jobbkonsolen, men vi kan inte skapa ett bakgrundsjobb manuellt från den här konsolen, eftersom jobb med parametrar skapas inte manuellt.

Referensbok "Parametrar för schemalagda uppgifter" :

Förutsättningar :

· Kod före lansering- obegränsad sträng - kod på 1C-språk som måste köras innan lansering.

· Bearbetning från konfigurationen - rad (100) - bearbetning av identifierare från konfigurationen

· Bearbetar från katalogen - rad (100) - länk till katalogelementet "Extern bearbetning", om det finns en i konfigurationen

· Kör genom 1C-applikationen - Boolean - en separat 1C-applikation kommer att skapas och en rutinuppgift kommer att startas i den. Skapad för 8.1, där inte alla applikationsmetoder är tillgängliga på servern där det schemalagda jobbet körs.

· Startkod- - obegränsad rad - kod på 1C-språk som kommer att exekveras när en schemalagd uppgift startas.

Låt oss skapa elementets form :

Genom att klicka på "Skapa reg. task" skapas en rutinuppgift med en nyckelkod programmatiskt:

Procedur BasicActionsFormCreateReglTask(Button)

Variabelt jobb;

Nyckel = AbbrLP(kod);

Task = RoutineTasks.CreateRoutineTask("PerformProcessing");

Task.Name = Nyckel;

Task.Key = Nyckel;

Parametrar = New Array();

Parameters.Add(Key);

Task.Parameters = Parametrar;

Task.Write();

Slut på procedur

Starta en schemalagd uppgift

Varje rutinuppgift vi skapar har en nyckel:

Denna nyckel motsvarar koden i katalogen "Parameters of rutin tasks"; den används för att söka när en uppgift startas. Om katalogposten inte hittas, utförs inte uppgiften.

Nästa, om koden gesKod före lansering då kommer denna kod att exekveras. Nästa, om variabeln Uppfylla utvärderas till falskt, kommer uppgiften inte att slutföras. Variabel tillgänglig för analys alternativ, där en länk till det hittade katalogelementet "Parametrar för rutinuppgifter" lagras.

Beroende på de valda värdena för detaljerna kommer antingen koden på 1C-språket att köras, eller så kommer bearbetning från konfigurationen att starta, eller så startar bearbetning från standardreferensboken "Extern bearbetning".

För 1C81 tillhandahålls exekvering i en ny applikation - så att du kan använda kod som endast är tillgänglig på klienten, inklusive användning av extern bearbetning. För att göra detta måste du markera kryssrutan "Kör genom 1C-applikation". Annars kommer den schemalagda uppgiften att köras på servern.

Jag rekommenderar att du ställer in en användare i fältet "Användare" för en nyskapad rutinuppgift, så att uppgiften exekveras under vissa rättigheter. Jag rekommenderar att ge en sådan användare fullständiga rättigheter. Jag använder användaren "robot».

Rutinuppgiftsschemat skapas med hjälp av hyperlänken "Schedule" från rutinuppgiftsformuläret. Du kan använda "Rutinuppgiftskonsolen" bearbetning.