Početak obrade 1s 8.3 prema rasporedu. Univerzalni regulatorni zadatak. Instalacija dodatnih izvješća i obrada u servisnom modelu

19.11.2019 Recenzije

Vanjski tretmani su vrlo zgodan alat za tvrtke koje koriste standardne konfiguracije na 1C:Enterprise 8.3. Omogućuju vam da ne gubite trud i novac na ažuriranja 1C, omogućujući ažuriranje baza podataka jednim gumbom u jednostavan korisnik. Korištenjem mehanizma knjižnice standardnog podsustava, možete dodati različite gumbe dokumentima i referentnim knjigama bez mijenjanja standardne konfiguracije. Pogledajmo primjer stvaranja i povezivanja vanjska obrada u jednoj od 1C konfiguracija.

Izrađujemo vanjsku obradu u 1C 8.3

Za izradu nove vanjske obrade koristimo konfigurator. Kroz izbornik "Datoteka" odaberite naredbu za kreiranje "Novo..." i odredite da ćemo kreirati vanjsku obradu. U prozoru koji se otvori postavite naziv i kada pritisnete “Enter” automatski se popunjava. Sustav će vam također ponuditi ovo ime kao naziv datoteke prilikom spremanja.

Dodajmo obrazac za obradu klikom na gumb s povećalom u odgovarajućem prozoru. Na primjer, stvorimo obradu koja pokazuje koje narudžbe kupaca koriste određenu stavku. Da bismo to učinili, moramo postaviti na obrazac:

  • Atributi – polje za postavljanje nomenklature;
  • Gumb koji će pozvati kod.

Dodajte atribut “Nomenklatura” s tipom podataka “DirectoryLink.Nomenclature” u odgovarajući odjeljak i gumb “Prikaži” u izborniku “Naredbe” -> “Naredbe obrazaca”.

Kako bi se dodani podaci reflektirali na obrascu, morate ih povući u elemente obrasca koji se nalaze u gornjem lijevom dijelu. Moguće je mijenjati elemente pomoću plavih strelica. Kako bi gumb koji smo izradili radio ono što je namjeravao, potrebno mu je dodijeliti proceduru. Kroz kontekstni izbornik Odaberimo "Command Action", a na pitanje gdje je potreban rukovatelj, odgovorit ćemo: "Kreiraj na klijentu i proceduru na poslužitelju."


Fragment 1

&OnClient postupak Show(Command) ShowOnServer(); Kraj procedure &OnServer procedura ShowOnServer() //Umetnite sadržaj rukovatelja. Kraj postupka

Odlučili smo kreirati proceduru na poslužitelju jer kao rezultat želimo dobiti uzorak iz baze podataka. Nemamo ovu opciju na klijentu pa ćemo se morati spojiti na server koji razmjenjuje podatke s bazom. Sada moramo napisati kod koji implementira ono što smo planirali. Koristit će se zahtjev i izlaz svih dokumenata kroz funkciju “Izvješće()”.


Fragment 2

&OnClient Procedure Show(Command) ShowOnServer(Nomenclature); EndProcedure &OnServer Procedure ShowOnServer(Nomenclature) Zahtjev = Novi zahtjev; Query.Text = "SELECT VARIOUS | Customer OrderComposition.Link AS Link | FROM | Document.Customer Order.Composition AS Customer OrderComposition | WHERE | Customer OrderComposition.Nomenclature = &Nomenclature"; Request.SetParameter("Nomenklatura", Nomenklatura); RequestResult = Request.Execute(); SelectionDetailRecords = QueryResult.Select(); Dok SelectionDetailedRecords.Next() Loop Report(SelectionDetailedRecords.Link); EndCycle; Kraj postupka

U trenutnoj fazi možemo otvoriti vanjsku obradu u pokrenutoj bazi podataka 1C kao običnu datoteku i ona će već biti operativna. Ali ako imamo mnogo korisnika, morat ćemo poslati ovu datoteku svima, dajući im upute o tome kako je zapravo otvoriti u 1C, što je izuzetno nezgodno. Da bismo to izbjegli, naša bi se obrada trebala nalaziti unutar jednog od odjeljaka 1C. Da bismo to učinili, moramo ga još malo modificirati kroz konfigurator, navodeći određene postavke.

Za smještaj vanjske obrade u odjeljak 1C potrebno je u objektnom modulu registrirati proceduru “Informacije O vanjskoj obradi”. U glavnom izborniku za obradu kliknite Radnje i odaberite Modul objekta. Ovdje morate registrirati sve postavke potrebne za 1C kako bi sustav razumio što se od njega traži i kakva je datoteka ispred njega. Snimka zaslona prikazuje kôd za funkciju "Informacije O vanjskoj obradi".

Funkcija InformationOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("Naziv","Nova vanjska obrada"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Verzija", "ver.: 1.001"); DataForReg.Insert("Prikaz", "Dodatna obrada"); CommandTable = NovaValueTable; TabZnCommands.Columns.Add("Identifikator"); TabZnCommands.Columns.Add("Upotreba"); TabZnCommands.Columns.Add("View"); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OpenForm"; NewRow.View = "Nova vanjska obrada"; DataForReg.Insert("Naredbe", TabZnNaredbe); Vrati DataForReg; EndFunction

Fragment 3

Povezivanje vanjske obrade u 1C

Prije povezivanja vanjske obrade sa standardnom konfiguracijom, morate omogućiti korištenje ovog alata. U "Administracija" u pododjeljku " Obrasci za ispis, izvješća i obrada” postavljamo oznaku nasuprot mehanizma koji nam je potreban. Postaje nam dostupan gumb za odlazak u imenik dodatnih obrada i izvješća.


Kad idemo na popis, stvarat ćemo nova linija u njemu, a sustav će od vas tražiti da odaberete datoteku. Odaberemo obradu koju smo napravili i spremili, a 1C konfiguracija samostalno ispunjava većinu polja. Pomoću gumba "Pokreni" već možemo provjeriti funkcionalnost naše obrade, ali to nije baš zgodno za druge korisnike. Kako bi korisnici imali našu naredbu i mogli uputiti poziv, moramo:

  • Navedite lokaciju objekta. Klikom na “Nedefinirano” otvaramo prozor sekcija i označavamo u kojim će sekcijama operacija biti dostupna;
  • Odaberite korisnike koji imaju ovu naredbu pojavit će se u izborniku "Dodatna obrada" odabranih odjeljaka bez nepotrebnih postavki. Da biste to učinili, u odjeljku tablice morate odabrati stavku " Brzi pristup"i dodajte odgovorne korisnike u desnu polovicu;
  • na " dodatne informacije» možete odrediti mapu u kojoj će se nalaziti preuzeta obrada;
  • Nakon što pritisnu tipku “Write” u odabranom odjeljku u izborniku “Additional Processing”, korisnici će pronaći našu naredbu i moći će je koristiti.

Ako želimo napraviti promjene u našoj obradi, prvo je moramo isprazniti iz baze podataka. Da biste to učinili, pronađite traženi redak u direktoriju "Dodatna obrada i izvješća" i upotrijebite naredbu "Učitaj u datoteku...". Napravite promjene, spremite obradu i upotrijebite gumb "Učitaj iz datoteke..." da pronađete izmijenjenu epf datoteku bez mijenjanja parametara. Nakon snimanja svi će korisnici vidjeti učinjene promjene.

Ako koristite nestandardnu ​​ili ukinutu 1C bazu podataka, iskoristite priliku za preuzimanje obrade putem konfiguratora. U objektnom stablu, u odjeljku “Obrade”, kreirajte novu obradu i kroz kontekstni izbornik odaberite “Zamijeni vanjskom obradom, izvješće...”. Ostaje samo konfigurirati pokretanje vanjske obrade iz željenog odjeljka, uključujući dodatnu obradu u željenom podsustavu.


Rad s vanjskom obradom vrlo je zgodan i omogućuje vam izbjegavanje mnogih sukoba. Njihov jedini značajan nedostatak je što se ne ažuriraju automatski zajedno s konfiguracijom. To jest, ako su programeri promijenili naziv dokumenta ili referentne knjige u glavnoj konfiguraciji, morat ćemo ručno konfigurirati obradu.

Razmotrimo u ovom članku upute korak po korak za stvaranje vanjske obrade u 1C 8.3 u načinu upravljane aplikacije, prema tome, koristit ćemo upravljane obrasce. I što je najvažnije, naučit ćemo kako ga povezati s mehanizmom "vanjske obrade" 1C konfiguracija izgrađenih na biblioteci standardnih podsustava verzije 2.0 i novije.

Zadatak će biti sljedeći: izraditi najjednostavniju vanjsku obradu koja će izvršiti grupnu akciju na imeniku „Artikal“, odnosno postaviti odabrani postotak stope PDV-a za navedenu grupu artikala.

Da bismo to učinili, odmah ćemo napraviti potrebne postavke u programu (razmatramo konfiguraciju 1C 8.3: "Enterprise Accounting 3.0" na kontrolirani oblici).

Označavanjem ovog okvira dobivamo mogućnost korištenja vanjske obrade.

Stvaranje nove vanjske obrade u 1C 8.3 pomoću primjera

Sada idemo na konfigurator. U izborniku "Datoteka" odaberite "Novo...". Otvorit će se prozor za odabir vrste datoteke za izradu. Odaberite "Vanjska obrada":

Otvorit će se novi prozor za vanjsku obradu. Dajmo joj odmah ime. Bit će ponuđeno prilikom spremanja obrade na disk:

Dodajmo novi obrazac za kontroliranu obradu. Navodimo da je ovo oblik obrade i da je glavni:

Na obrascu ćemo imati dva detalja:

  • Grupa Nomenklatura – poveznica na imenik „Nomenklatura”;
  • SelectVATRate – poveznica na prijenos stope PDV-a.

Pojedinosti stvaramo u stupcu "Svojstva" u gornjem desnom prozoru. Povucite ih mišem u gornji lijevi prozor. Novi detalji trebali bi se odmah pojaviti na donjem obrascu.

Redoslijed detalja može se promijeniti pomoću strelica "gore" - "dolje":

Besplatno nabavite 267 video lekcija o 1C:

Sve što preostaje je dodati gumb "Instaliraj". U upravljanim obrascima ne možete samo dodati gumb u obrazac. Čak i ako ga dodate u strukturu elemenata forme, neće biti vidljiv na samom obrascu. Gumb mora biti povezan s naredbom koju će izvršiti. Idite na karticu "Naredbe" i dodajte naredbu "Postavi stopu PDV-a". U svojstvima naredbe kreirajte radnju. Odaberite rukovatelja naredbama “Na klijentu”. Formi se također može dodati naredba jednostavnim povlačenjem u odjeljak s elementima forme.

U modulu forme kreirat će se istoimena procedura. U njemu ćemo pozvati proceduru na poslužitelju:

&NaKlijentu

Postupak Postavljanje stope PDV-a (naredba)

PostaviVATRateOnServer();

Kraj postupka

U proceduri na serveru ćemo napisati mali zahtjev i radnje vezane uz postavljanje stope PDV-a:

&Na poslužitelju

Procedura SetVATRateOnServer()

Zahtjev = Novi zahtjev;
Zahtjev.Tekst =
„IZABIRAJ
| Nomenklatura.Link
|OD
| Imenik.Nomenklatura AS Nomenklatura
|GDJE
| Nomenklatura. Veza U HIJERARHIJI (&Grupa nomenklature)
| A NE Nomenklatura.OznakaBrisanje
| A NE nomenklatura. Ovo je grupa”;

Request.SetParameter("Grupa stavki", Grupa stavki);
ResRequest = Request.Execute();
SelectRecordDet = ResRequest.Select();

Dok SelectRecordDet.Next() Petlja

Pokušaj
SprNomObject.Write();
Iznimka
Report("Greška pri pisanju objekta """ + SprNomObject + """!
|» + OpisPogreška());
EndAttempt;

EndCycle;

Kraj postupka

Vraćamo se na karticu "Obrazac", dodajemo gumb u obrazac i povezujemo ga s naredbom:

Kao takva, naša obrada je spremna za upotrebu. Da biste ga pozvali, u načinu rada "1C Enterprise" morate otići na izbornik "Datoteka" - "Otvori" i odabrati stvorenu datoteku.

Međutim, rad u ovom načinu rada prikladan je za obradu otklanjanja pogrešaka, ali nije u potpunosti prikladan za korisnika. Korisnici su navikli da im je sve “na dohvat ruke”, odnosno u samoj bazi podataka.

Tome služi odjeljak "Dodatna izvješća i obrada".

Ali da bismo tu dodali našu obradu, prvo joj moramo dati opis i reći programu njena svojstva.

Opis funkcije "Informacije o vanjskoj obradi"

Dat ću primjer sadržaja ove funkcije. Mora se moći izvoziti i, prema tome, nalaziti se u modulu za obradu:

Funkcija InformationOnExternalProcessing() Izvoz

DataForReg = Nova struktura();
DataForReg.Insert("Ime", "Postavka stope PDV-a");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Verzija", "ver.: 1.001");
DataForReg.Insert("Informacija", "Obrada za postavljanje stope PDV-a u imeniku Nomenklatura");
DataForReg.Insert("Prikaz", "Dodatna obrada");

CommandTable = NovaValueTable;
TabZnCommands.Columns.Add("Identifikator");
TabZnCommands.Columns.Add("Upotreba");
TabZnCommands.Columns.Add("View");

NewRow = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewRow.Use = "OpenForm";
NewRow.View = "Otvorena obrada";
DataForReg.Insert("Naredbe", TabZnNaredbe);

Vrati DataForReg;

EndFunction

Kako bismo bolje razumjeli koja polja strukture podataka o registraciji treba koristiti, pogledajmo pojedinosti direktorija "Dodatna izvješća i obrada":

Kao što vidite, sve je vrlo jednostavno. Samo jedan atribut ne odgovara: “Opcija pokretanja” – “Koristi”. Ako pogledamo kod jednog od uobičajenih modula, vidjet ćemo kako nastaje gomila ovih polja:

Da biste odredili koja su polja strukture potrebna, prvo je možete ne opisati, jednostavno stvoriti prazno, a zatim koristiti program za ispravljanje pogrešaka. Ako pratite module prilikom registracije obrade, odmah postaje jasno koja polja su potrebna, a koja nisu.

Povezivanje vanjske obrade u 1C 8.3

Stvaranje rutinskog zadatka

Kreirajmo rutinski zadatak "Izvrši obradu".

Onemogućimo korištenje planiranog zadatka tako da se prilikom ažuriranja konfiguracije ne pokreće automatski.

Dodijelimo proceduru koja će se pokrenuti kada se pokrene rutinski zadatak:Modul RoutineTasks.RoutineTaskExecutionProcessing.

Sama procedura izgleda ovako:

Procedura RoutineTaskExecutionProcessing(Key) Export

Parametri RoutineTasks.PerformProcessingWithParameters(Key);

Kraj postupka

Izrađujemo priručnik za rutinske zadatke

Naš rutinski zadatak može proizvesti mnogo pozadinskih procesa - po jedan za svaku obradu. Svaki zadatak u platformi 1C8 ima ključ. Ali metoda planiranog posla ne poznaje ključ pozadinskog posla, tako da trebate koristiti parametre pozadinskog posla. Kao rezultat toga, možemo vidjeti pozadinski posao u konzoli poslova, ali ne možemo ručno kreirati pozadinski posao iz ove konzole, jer poslovi s parametrima se ne kreiraju ručno.

Referentna knjiga "Parametri planiranih zadataka" :

Rekviziti :

· Kod prije pokretanja- neograničeni niz - kod na 1C jeziku koji se mora izvršiti prije pokretanja.

· Obrada iz konfiguracije - linija (100) - identifikator obrade iz konfiguracije

· Obrada iz imenika - linija (100) - poveznica na element imenika “Vanjska obrada”, ako postoji u konfiguraciji

· Izvrši kroz aplikaciju 1C - Boolean - bit će kreiran zasebna aplikacija 1C i u njemu će se pokrenuti rutinski zadatak. Stvoreno za 8.1, gdje nisu sve metode aplikacije dostupne na poslužitelju na kojem se izvodi zakazani posao.

· Pokreni kod- - neograničen broj linija - kod u 1C jeziku koji će se izvršiti kada se pokrene planirani zadatak.

Kreirajmo oblik elementa :

Klikom na opciju “Create Reg. zadatak" rutinski zadatak s ključnim kodom kreira se programski:

Procedura BasicActionsFormCreateReglTask(Button)

Varijabilni posao;

Ključ = AbbrLP(Kod);

Zadatak = RoutineTasks.CreateRoutineTask("Izvrši obradu");

Task.Name = ključ;

Task.Key = Ključ;

Parametri = Novi niz();

Parameters.Add(Key);

Task.Parameters = Parametri;

Task.Write();

Kraj postupka

Pokretanje planiranog zadatka

Svaki rutinski zadatak koji kreiramo ima ključ:

Ovaj ključ odgovara kodu u direktoriju “Parametri rutinskih zadataka”; koristi se za pretraživanje prilikom pokretanja zadatka. Ako se unos u imeniku ne pronađe, zadatak se ne izvršava.

Dalje, ako je šifra danaKod prije pokretanja tada će se ovaj kod izvršiti. Dalje, ako je varijabla Ispuniti procijeni na false, zadatak neće biti dovršen. Varijabla dostupna za analizu Mogućnosti, gdje je pohranjena poveznica na pronađeni element imenika “Parametri rutinskih zadataka”.

Ovisno o odabranim vrijednostima detalja, ili će se pokrenuti kod na jeziku 1C, ili će se pokrenuti obrada iz konfiguracije, ili će se pokrenuti obrada iz standardne referentne knjige "Vanjska obrada".

Za 1C81, izvršenje je omogućeno u novoj aplikaciji - tako da možete koristiti kod koji je dostupan samo na klijentu, uključujući korištenje vanjske obrade. Da biste to učinili, morate potvrditi okvir "Pokretanje kroz aplikaciju 1C". U protivnom će se zakazani zadatak izvršiti na poslužitelju.

Preporučujem postavljanje korisnika u polje "Korisnik" za novostvoreni rutinski zadatak, tako da se zadatak izvršava pod određenim pravima. Preporučujem da takvom korisniku date puna prava. Koristim korisnika "robot».

Raspored rutinskih zadataka kreira se pomoću hiperveze "Raspored" iz obrasca rutinskih zadataka. Možete koristiti obradu "Konzole rutinskih zadataka".

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

Za ažuriranje nije obavezno biti otvoren cijelo vrijeme ili se izvoditi kao usluga kako bi se planirane operacije mogle pokrenuti.

Zakazano pokretanje funkcionira putem standardnog mehanizma sustava Windows koji se zove "Planer zadataka".

A kada korisnik postavi postavke rasporeda...

Program za ažuriranje automatski stvara potrebne zadatke u rasporedu:

Što ne smijete zaboraviti

Izbor korisnika

Ne smijemo zaboraviti da korisnik kojeg odredimo za pokretanje planiranih operacija...

Mora imati sistemska prava za "Prijavu kao skupni posao".

Kako provjeriti ima li korisnik potrebna prava?

Najlakša opcija je da desnom tipkom miša kliknete kreirani zadatak u planeru i odaberete "Pokreni":

Ako je nakon završetka zadatka rezultat njegovog pokretanja uspješan...

Ako to nije slučaj, onda se obraćamo Administrator sustava tako da u sigurnosnoj politici označi (naš korisnik ili njegova grupa) u stavku " Prijava kao skupni posao", a također isključeno iz stavka " Odbij prijavu kao skupni posao".

Mora imati lozinku koja nije prazna. Ovo je uvjet Windows sigurnost. Ako ste suočeni s ovim određenim ograničenjem, tada bi najispravnije rješenje bilo:

  • ili dodijelite lozinku trenutnom korisniku, pod kojim ćete pokrenuti ažuriranje prema rasporedu
  • ili kreirajte zasebnog korisnika u sustavu s lozinkom, koji će biti registriran u rasporedu ažuriranja

Pa, najjednostavnije (ali netočno sa sigurnosne točke gledišta) rješenje za ovo ograničenje bilo bi onemogućiti opciju "Dopusti korištenje praznih lozinki samo tijekom prijave na konzolu" u lokalna politika računalna sigurnost.

Odabir baza

Također, ne smijemo zaboraviti da u planiranim operacijama sudjeluju samo one baze podataka koje su odabrane na popisu baza podataka koje sudjeluju u rasporedu:

U ovom slučaju nije važno nalazi li se kvačica pored baze na općem popisu:

Ovi potvrdni okviri (na općem popisu) namijenjeni su samo za ručno pokretanje operacija i ni na koji način ne utječu na planirano pokretanje.

Redoslijed pokretanja

I na kraju, još jedna nevidljiva točka. Prilikom pokretanja planiranog zadatka, program za ažuriranje prvo provjerava izvodi li se neki drugi planirani zadatak. A ako se izvrši, prvo će pričekati njegov završetak pa tek onda izvršiti novi.

To znači da ako npr. trebamo konfigurirati arhiviranje da se odvija u 22-00, a baze podataka ažurirati odmah po njegovom završetku, tada je dovoljno odrediti vrijeme početka arhiviranja u 22-00, a za ažuriranje , na primjer, 22-01.

Što ako trebate složeniji raspored?

Što ako nam ne treba samo redovito lansiranje u određeno vrijeme određenim danima? Što ako želimo, recimo, namjestiti da počinje u 5 sati svakih pola sata ili nešto slično?

U ovom slučaju moramo iskoristiti svu moć raspoređivača zadataka.

Prvo postavljamo raspored putem programa za ažuriranje, naznačujući da će određeni raspored biti konfiguriran u rasporedu:

I tek tada otvorite svojstva zadataka koje je kreirao program za ažuriranje u Windows Scheduler-u:

A na odgovarajućim karticama konfiguriramo sve što naše srce želi:

Kako isključiti bazu podataka iz nekih planiranih operacija

Pretpostavimo da imamo raspored konfiguriran za ažuriranje i arhiviranje:

Ali u isto vrijeme želimo da jedna baza podataka sudjeluje u planiranom arhiviranju, ali ne i da sudjeluje u planiranom ažuriranju.

Kako to postići - uostalom, imamo isti popis baza koje sudjeluju u rasporedu:

I to je vrlo jednostavno za napraviti.

Idite na svojstva baze podataka koju želite isključiti iz planiranih ažuriranja i na samom dnu prozora pronađite stavku "Isključi neke operacije...":

Kliknite na njega i isključite ažuriranje ove baze podataka iz planiranog pokretanja:

Trebalo bi izgledati ovako:

Je li moguće pokrenuti prema rasporedu s drugim parametrima?

Želio bih skrenuti posebnu pozornost na činjenicu da je zadatak u rasporedu zadataka redovito pokretanje programa za ažuriranje s određenim parametrima naredbeni redak:

A program za ažuriranje ima mnogo parametara za pokretanje putem naredbenog retka.

Koristeći ih, automatizaciju možete prilagoditi mnogo suptilnije i prema svojim potrebama. Samo nemojte mijenjati parametre naredbenog retka u već stvorenom zadatku programa za ažuriranje - inače će ih svejedno vratiti na početne vrijednosti prilikom ažuriranja zakazanih postavki pokretanja. Umjesto toga kopirajte kreirani zadatak u planer (tako da ima svoje ime) i promijenite ga.

O svim prekidačima naredbenog retka programa za ažuriranje.

Kako saznati je li program za ažuriranje pokrenut prema rasporedu

Događa se da se čini da je raspored postavljen, ali nešto pođe po zlu.

I nismo uopće sigurni je li ažuriranje pokrenuto te noći.

Prije svega, želim vam skrenuti pozornost na područje u glavnom prozoru programa za ažuriranje gdje se prikazuje status zakazanih operacija:

Ovdje vidimo prije koliko dana je pokrenut odgovarajući. planirana operacija; koliko je baza podataka uključeno i je li bilo grešaka. Štoviše, kliknemo li lijevom tipkom miša na ove poveznice, otvorit će se odgovarajuće izvješće.

Također možemo otići na potpuni zapisnik izvješća ažuriranja...

I vidjeti jesu li zadaci izvršeni.

Ali najviše pouzdan način Da biste saznali je li se program pokrenuo i razumjeli razloge njegovog neuspjeha u pokretanju ili njegovog iznenadnog prekida, morate omogućiti zapisnik svih zadataka u Windows Scheduler-u. Prema zadanim postavkama onemogućen je i preporučujem da ga uključite kako biste uvijek mogli otkriti problematične situacije.

Da biste omogućili zapisnik Windows planer idite na dijaloški okvir "Pokreni prema rasporedu" i kliknite gumb "Otvori Windows planer":

To se također može učiniti s ploče Upravljanje Windowsima(odjeljak za administraciju).

Ovdje nalazimo i kliknemo stavku "Omogući dnevnik svih zadataka":

Spreman! Sada možemo vidjeti povijest bilo kojeg zadatka u rasporedu.

Na primjer, istaknimo jedan od zadataka ažuriranja:

Kako postaviti sustav nadzora u oblaku za pokretanje zadataka ažuriranja

Sada ću vam reći o načinu da se osigurate od situacije - "oh, ispalo je da naše baze podataka nisu arhivirane (ažurirane, testirane...) cijeli tjedan."

Ova situacija je vrlo moguća ako smo konfigurirali arhiviranje da počne prema rasporedu, a zatim:

  • drugi administrator poslužitelja oduzeo nam je prava račun za početak arhiviranja iz planera, a u ovom slučaju nam updater neće moći čak niti poslati obavijest e-poštom, jer za to treba pokrenuti, ali nema prava za to...
  • ili su se dogodile neke druge greške i nema interneta na poslužitelju da bi nam updater poslao poruku o pogrešci...
  • ili smo mi sami greškom isključili zakazano arhiviranje u ažuriranju...
  • nikad ne znaš što se može dogoditi...

Osim postavljanja obavijesti o pogreškama putem e-pošte, trebate samo postaviti sustav u oblaku za praćenje pokretanja našeg ažuriranja. Što je to i kako djeluje?

Ovo je, po mom mišljenju, apsolutno briljantna stvar koja se zove healthchecks.io. Ovi dečki također imaju plaćene planove, ali njihov besplatni plan nam odgovara.

Ideja je sljedeća. Registriramo se kod njih na njihovoj web stranici i u našoj osobni račun imamo priliku reći:

  • Hej, HealthChecks, daj mi jedinstveni Url (adresu internetskog izvora).
  • HealthChecks, ako nitko ne pokuca (zatraži) na ovu adresu u tom i tom periodu, obavijesti me o tome na taj i taj mail.

Zatim ćemo navesti ovu adresu u ažuriranju i on će je zatražiti, na primjer, na kraju svakog zakazanog arhiviranja. A ako se u nekom trenutku iznenada prestane pokretati ili se sruši, usluga HealthChecks će nas o tome obavijestiti. Čak i ako naš server izgori, bit će ukraden i rastavljen na sitne komadiće..., o tome ćemo prvi saznati iz HealthChecksa

Mislim da je ovo briljantna ideja. Ako ne mislite tako, izgleda da niste u potpunosti shvatili smisao ove stvari - molim vas da još jednom pročitate moj nezgrapni tekst.

Posebno ću spomenuti da opisani sustav nadzora ne poništava, već nadopunjuje obavijesti e-poštom o pogreškama, koje je također potrebno konfigurirati u updateru za potpunu kontrolu nad situacijom.

Najjednostavniji scenarij za postavljanje HealthChecks s programom za ažuriranje

Postavimo dnevno arhiviranje na poslužitelju pod nazivom DataServer koja pripada poduzeću DOO "Romashka":

I želimo da nas HealthChecks obavijesti ako ažuriranje iznenada prestane raditi radi arhiviranja ili takva pokretanja završe neuobičajeno.

3. Registrirajte se s email adresom na koju želite primati obavijesti.

3. Idite na odjeljak "Čekovi" i kliknite veliki zeleni gumb "Dodaj ček".

5. Promijenimo naziv ove provjere u OOO "Romashka" (DataServer, arhiviranje). To je potrebno učiniti kako bismo razumjeli na što se točno odnosi ova provjera (arhiviranje na poslužitelju pod nazivom DataServer u tvrtki Romashka LLC):

6. Navedite period provjere (arhiviranje treba pokrenuti jednom dnevno, sam proces arhiviranja može trajati do 12 sati):

Drugi klizač (grace) je upravo dopušteni prekoračenje roka, odnosno vremena u kojem može trajati proces arhiviranja.

Dodatno ograničenje od 12 sati (grace) sam naveo namjerno, jer updater postavlja zahtjev sustavu za nadzor na kraju svog rada, a vrijeme završetka može varirati ovisno o različitim uvjetima.

Na primjer, ako zakazamo početak ažuriranja u 22:00, danas to ažuriranje može završiti u 23:00, a sutra (mnoga su nova ažuriranja objavljena) trajat će do 4 ujutro.

Otuda dodatna rezerva od 12 sati, tako da nema lažno pozitivni iz HealthChecks.

Rezultat postavljanja razdoblja bit će ovakav:

7. Ali kao što vidite, polje Zadnji ping je prazno (Nikad). Ažurirat će se jer ovoj adresi bude pristupao program za ažuriranje tijekom arhiviranja. A ako nema zahtjeva dulje od 1 dana i 12 sati, HealthChecks će oglasiti alarm i obavijestiti nas e-poštom.

Pitanje: Problem s pristupom dodatnoj obradi u Zup3


napravio dodatnu obradu i smjestio je u odjeljak plaća. Korisnik s pravima višeg kadrovskog službenika ne može pokrenuti računovođu, piše "nedovoljna prava pristupa". Kako postaviti dozvole za pokretanje dodatne obrade?

Upravljanje plaćama i osobljem, izdanje 3.0 (3.0.24.115) ()
Autorska prava © LLC "1C", 2007-2014. Sva prava pridržana
()

Odgovor:

Pitanje: Pokretanje dodatne obrade prema rasporedu


Pozdrav svima. Tek učim programirati, pa me nemojte previše grditi što postavljam pogrešna pitanja. 1C Retail 2.2.5.27 Stvorena je vanjska obrada koja, kada kliknete gumb, učitava podatke iz datoteke u registar informacija. Ručno sve radi dobro, ali sada je zadatak osigurati da ova obrada počne prema rasporedu i bez otvaranja obrasca. Odnosno u pozadina raditi.
Obrada se povezuje u obrascu "Dodatna izvješća i obrade".

Kod u modulu obrasca

Funkcija InformationOnExternalProcessing() ExportRegistrationParameters = Nova struktura; Parametri registracije.Insert("View", "AdditionalProcessing"); Parametri registracije.Insert("Naziv", "Stanja učitavanja (PCService(C))"); Parametri registracije.Insert("Version", "1.0"); Parametri registracije.Insert("SafeMode", False); Parametri registracije.Insert("Informacije", "Učitavanje preostalih"); Parametri registracije.Insert("BSPVersion", "2.3.2.33"); Tablica naredbi = GetCommandTable(); AddCommand(CommandTable, "Učitavanje stanja (PCService(C))", "1", "OpenForm", True,""); AddCommand(CommandTable, "Bilance opterećenja (PCService(C))", "2", "CallServerMethod", True,""); TeamId = "2"; Parametri registracije.Insert("Naredbe", Tablica naredbi); ReturnRegistrationParameters; Funkcija EndFunction Naredbe GetTableCommands() = NewValueTable; Commands.Columns.Add("View", NewTypeDescription("Red")); Commands.Columns.Add("Identifier", New TypeDescription("String")); Commands.Columns.Add("Upotreba", New TypeDescription("Red")); Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean")); Commands.Columns.Add("Modifikator", New TypeDescription("Red")); Tim za povratak; EndFunction postupak AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "") NewCommand = CommandTable.Add(); NewCommand.View = Pogled; NewCommand.Identifier = Identifikator; NewCommand.Use = Koristi; NewCommand.ShowAlert = Prikaži upozorenje; NewCommand.Modifier = Modifikator; Kraj postupka &Na poslužitelju Procedura Izvrši naredbu (ID naredbe, objekti dodjele) Izvoz Kraj postupka

Kada kliknete na gumb za izvršavanje s opcijom pokretanja "Otvori formu", forma se otvara i program se odmah izvršava (izvršava se odmah jer je na formi u događajima "When CreatedOnServer" naznačeno da je glavni kod program će se izvršiti)
Kada kliknete na gumb Izvrši s opcijom pokretanja "Call ServerMethod", to ne proizvodi nikakve pogreške, ali nema rezultata.
Što radim krivo??

Odgovor:

Sve sam popušio. Ovdje sam morao kopirati kod za koji sam želio da se izvrši bez otvaranja obrasca

Pitanje: Retail 2.2 pokretanje dodatne obrade prema rasporedu


Lijepi pozdrav. Retail 2.2, omogućena je dodatna obrada i postavljeno zakazano izvršenje. Promatram izvršenje kroz - Podršku i održavanje - rutinske zadatke, moj zadatak se ili pokreće ili prestaje izvoditi prema rasporedu, neko vrijeme radi točno prema rasporedu i prestaje se izvoditi sam od sebe. Nije stvar u samoj obradi jer ona ne daje grešku, nego se zadatak jednostavno ne pokreće. Zatim počinje samostalno raditi normalno. Što može utjecati na početak rutinskog zadatka?
Pokušao sam postaviti različite rasporede, ali nije išlo.

Odgovor:

Problem je riješen ponovnom instalacijom platforme na svim računalima

Pitanje: Dodatna obrada


Dobar dan svima.
Upravljanje našom tvrtkom, verzija 1.6 (1.6.12.4)

Recite mi, je li moguće dodati dodatnu obradu podsustavu bez dodirivanja konfiguratora?
Oni. Trebam da se obrada poziva ne kroz Dodatnu obradu, već kao vanjsko izvješće, odmah na listi podsustava.

Odgovor:

Izradite izvješće u proširenju, dodajte željeni (postojeći) podsustav u proširenje, napravite poveznicu na izrađeno izvješće u “proširenom” podsustavu.

Pitanje: Korištenje web servisa u dodatnoj obradi pomoću BSP-a


Dobar dan
U svježe je potrebno ugraditi dodatnu obradu koja će pristupiti web servisu druge baze podataka. Obrada je, naravno, u sigurnom načinu rada, ali “upotreba ekstenzije je dopuštena siguran način knjižnice standardnih podsustava (mogućnost rada s datotekama, internetskim resursima itd.) putem specijaliziranog softverskog sučelja s registracijom dopuštenja potrebnih za dodatno izvješćivanje/obradu." Međutim, ne mogu ga pronaći u Trenutna verzija BSP kako to postaviti. pomoć, molim Svježa verzija baze podataka: Enterprise Accounting, izdanje 3 .0 (3 .0 .59 .45) BSP 2 .4 .5 .31

Odgovor: oO

Pitanje: ZUP se ruši prilikom pokretanja određene obrade, što da radim?


Postoji dodatak koji ažurira dokumente o obračunu unesene temeljem otkaza. Kada se ova obrada pokrene, program se glupo zatvori bez ikakvih poruka. Ne vidim ništa u alatu za ispravljanje pogrešaka. Na dan testa za koji je napravljen 1 dokument, on prolazi. Što još trebam učiniti? Pokrenuo sam testiranje i činilo se da nema grešaka.

Odgovor: super, ali zašto je bio potreban ciklus? Ako imate bilo kakvih unosa, napišite, ne znam, u dnevnik ili nešto drugo, ne, onda mijenjajte ili ne radite ništa

Pitanje: Planirani zadatak Dodatne obrade


Alfa-Auto konfiguracija: Auto salon + Auto servis + Auto dijelovi CORP. Izdanje 6.
Kreirana vanjska obrada. Povezao sam ga kao Dodatnu obradu.
Postavite zakazano izvršenje. Ali ne počinje greškom:
Rutinski zadatak "Pokreni dodatnu obradu" ne može se izvršiti zbog nedostatka postavki u proceduri RoutineTasksOverridden.WhenDefiningRegularTaskSettings(). Kontaktirajte svog administratora sustava!
Tko mi može reći što nije u redu s obradom ili postavljanjem baze.

Odgovor:() Dakle, pogledate što postoji u RoutineTasksOverridden.WhenDefiningSettingsofRoutineTasks()
U BSP-u ova procedura je obično prazna. U Alfi je možda nešto poboljšano.

Pitanje: Automatski početak vanjske obrade


Dobar dan svima. Molim vas pomozite, dragi 1C programeri, riješite ovaj problem.
Postoji vanjska obrada, ima dva gumba, "Pokreni" i "Pošalji". Klikom na gumb "Pokreni" popunjava se tablični dio.
Kada kliknete na gumb "Pošalji", šalje se elektronička pošta s podacima iz tabelarnog dijela i priloženom datotekom.

Pitanje: je li moguće napraviti tako da ovu obradu automatski se izvršavao svaki dan. ONI. na primjer: u 08:00 ujutro svakog dana, pokrenut je postupak gumba "Pokreni" i "Pošalji"? Baza poslužitelja. Bit će mi drago za svaku pomoć i sve opcije.

Odgovor:() I s ovom opcijom pokretanja, hoće li se 1C proces zatvoriti nakon obrade? ili treba prekinuti obradu putem ShutdownSystem(False)?

Dobro jutro, recite mi skriptu da se pokrene prema rasporedu obrade, odnosno problem je što vam treba skripta (batch file) koja bi startala 1s 77, ali nakon provjere, ako normalno pokretanje ne uspije, onda će biti ekskluzivno s reindeksiranjem. I po mogućnosti s otvaranjem vanjske obrade. Potreban je za automatske učitavanja, ali vremena slanja svugdje su drugačije postavljena. i to uglavnom noću.

Odgovor: bilo koji planer nncron xstarter