Indítsa el az 1s 8.3 feldolgozását ütemezetten. Univerzális szabályozási feladat. További jelentések telepítése és feldolgozása a szolgáltatási modellben

19.11.2019 Vélemények

Külső feldolgozás - nagyon praktikus eszköz az 1C:Enterprise 8.3-on szabványos konfigurációkat használó vállalatok számára. Lehetővé teszik, hogy ne pazaroljon energiát és pénzt az 1C frissítésekre, lehetővé téve az adatbázisok frissítését egyetlen gombbal módban egyszerű felhasználó. A szabványos alrendszerek könyvtárának mechanizmusa segítségével különféle gombokat adhat a dokumentumokhoz és könyvtárakhoz anélkül, hogy megváltoztatná a szabványos konfigurációt. Vegyünk egy példát a létrehozásra és az összekapcsolásra külső feldolgozás az 1C konfigurációk egyikében.

Külső feldolgozást hozunk létre az 1C 8.3-ban

Új külső feldolgozás létrehozásához használja a konfigurátort. A "Fájl" menüben válassza ki az "Új ..." létrehozási parancsot, és határozza meg, hogy külső feldolgozást hozunk létre. A megnyíló ablakban állítsa be a nevet, és az "Enter" megnyomására automatikusan kitöltődik. Ezt a nevet is felajánlja a rendszer fájlnévként mentéskor.

Adjunk hozzá egy feldolgozási űrlapot a megfelelő ablakban található nagyító gombra kattintva. Például hozzunk létre egy feldolgozást, amely megmutatja, hogy mely értékesítési rendelések használnak egy adott cikket. Ehhez el kell helyeznünk az űrlapon:

  • Szükséges - egy mező a nómenklatúra beállításához;
  • A kódot hívó gomb.

Hozzáadjuk a "Nómenklatúra" attribútumot a "DirectoryReference.Nomenclature" adattípussal a megfelelő részben és a "Megjelenítés" gombot a "Parancsok" -> "Űrlapparancsok" menüben.

Ahhoz, hogy a hozzáadott adatok megjelenjenek az űrlapon, azokat át kell húzni a bal felső részben található űrlapelemekre. Lehetőség van elemek felcserélésére a kék nyilak segítségével. Ahhoz, hogy az általunk létrehozott gomb azt csinálja, amit akartunk, hozzá kell rendelnünk egy eljárást. Keresztül helyi menü válassza a „Parancsművelet” lehetőséget, és arra a kérdésre, hogy hol van szükség a kezelőre, azt válaszoljuk: „Létrehozás a kliensen és eljárás a szerveren”.


1. töredék

&OnClient eljárás Show(Command) ShowOnServer(); EndProcedure &OnServer eljárás ShowOnServer() //Beszúrja a kezelő tartalmát. Vége eljárás

Azért döntöttünk úgy, hogy létrehozunk egy eljárást a szerveren, mert ennek eredményeként szeretnénk kiválasztani az adatbázisból. A kliensen nincs ilyen lehetőségünk, ezért csatlakoznunk kell a szerverhez, amely adatot cserél az adatbázissal. Most meg kell írnunk azt a kódot, amely megvalósítja azt, amit elterveztünk. Az összes dokumentum lekérdezése és kimenete a "Jelentés ()" funkción keresztül kerül felhasználásra.


2. töredék

&OnClient eljárás Show(Command) ShowOnServer(Nómenklatúra); EndProcedure &AtServer Procedure ShowAtServer(Nomenclature) Query = Új lekérdezés; Query.Text = "SELECT VARIOUS | Vevői rendelés tartalma. Referencia AS Referencia | FROM | Dokumentum. Vevői rendelés. Tartalom AS Vevői rendelés tartalma | WHERE | Vevői rendelés tartalma. Nómenklatúra = &Nómenklatúra"; Query.SetParameter("Nómenklatúra", Nómenklatúra); QueryResult = Query.Execute(); SamplingDetailRecords = QueryResult.Select(); While SelectionDetailedRecords.Next() Loop Report(SelectionDetailedRecords.Reference); EndCycle; Vége eljárás

A jelenlegi szakaszban a külső feldolgozást normál fájlként nyithatjuk meg a futó 1C adatbázisban, és az már működőképes lesz. De ha sok felhasználónk van, akkor ezt a fájlt mindegyiküknek el kell küldenünk, miközben utasításokat kell adnunk neki, hogyan lehet ténylegesen megnyitni 1C-ben, ami rendkívül kényelmetlen. Ennek elkerülése érdekében a feldolgozásunkat az 1C szekciók egyikén belül kell elhelyezni. Ehhez még egy kicsit finomítanunk kell a konfigurátoron keresztül, bizonyos beállítások megadásával.

A külső feldolgozás 1C szakaszban történő elhelyezéséhez regisztrálni kell az „Információ a külső feldolgozásról” eljárást az objektummodulban. A fő feldolgozási menüben kattintson a "Műveletek" gombra, és válassza az "Objektummodul" lehetőséget. Itt regisztrálnia kell az 1C-hez szükséges összes beállítást, hogy a rendszer megértse, mire van szüksége, és milyen fájl van előtte. A képernyőképen látható a "Külső feldolgozási részletek" funkció kódja.

Függvény DataOnExternalProcessing() Export DataForReg = Új struktúra(); DataForReg.Insert("Név","Új külső feldolgozás"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Verzió", "ver.: 1.001"); DataForReg.Insert("View", "Additional Processing"); TabZnCommands = Új táblaértékek; TabZnCommands.Columns.Add("Azonosító"); TabZnCommands.Columns.Add("Use"); TabZnCommands.Columns.Add("View"); NewLine = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewString.Usage = "FormOpen"; NewRow.View = "Új külső feldolgozás"; DataForReg.Insert("Parancsok", TabZnCommands); Return DataForReg; EndFunctions

3. töredék

Külső feldolgozás csatlakoztatása 1C-ben

Mielőtt külső feldolgozást csatlakoztatna egy tipikus konfigurációhoz, engedélyeznie kell ennek az eszköznek a használatát. Az "Adminisztráció" alpontban " Nyomtatási űrlapok, jelentések és feldolgozás" állítsa be a zászlót a szükséges mechanizmussal szemben. Elérhetővé válik számunkra egy gomb, amellyel a további feldolgozások és jelentések könyvtárába léphet.


Amikor a listára megyünk, létrehozunk új sor benne, és a rendszer kérni fogja, hogy válasszon fájlt. Kiválasztjuk az általunk készített és elmentett feldolgozást, és az 1C konfiguráció önállóan kitölti a legtöbb mezőt. A "Futtatás" gombbal már ellenőrizhetjük feldolgozásunk teljesítményét, de ez más felhasználók számára nem túl kényelmes. Ahhoz, hogy a felhasználók megkaphassák csapatunkat, és hívhassanak, a következőkre van szükség:

  • Adja meg az objektum helyét. A „Nincs definiálva” gombra kattintva megnyitjuk a szakaszok ablakát, és jelezzük, hogy mely szakaszokban lesz elérhető a művelet;
  • Válassza ki azokat a felhasználókat, akik parancsot adott szükségtelen beállítások nélkül jelenik meg a kiválasztott szakaszok "További feldolgozás" menüjében. Ehhez a táblázatos részben válassza ki a " Gyors hozzáférés» és adj hozzá felelős felhasználókat a jobb oldalhoz;
  • A lapon " további információ» megadhatja azt a mappát, ahol a letöltött feldolgozás található;
  • A "További feldolgozás" menüben a kiválasztott részben a "Rögzítés" gomb megnyomása után a felhasználók megtalálják parancsunkat, és használhatják is.

Ha módosítani szeretnénk a feldolgozásunkat, először ki kell töltenünk az adatbázisból. Ehhez a "További feldolgozás és jelentések" könyvtárban keresse meg a kívánt sort, és használja a "Feltöltés fájlba..." parancsot. Végezze el a módosításokat, mentse el a feldolgozást, és használja a "Betöltés fájlból..." gombot a módosított epf fájl megtalálásához a paraméterek megváltoztatása nélkül. A rögzítés után minden felhasználó látni fogja a változtatásokat.

Ha nem szabványos vagy elavult 1C-alapot használ, használja ki a lehetőséget, és töltse le a feldolgozást a konfigurátoron keresztül. Az objektumfa "Feldolgozások" szakaszában hozzon létre egy új feldolgozást, és válassza a "Csere külső feldolgozással, jelentés ..." lehetőséget a helyi menüből. Már csak a külső feldolgozás elindításának konfigurálása marad a kívánt szakaszból, beleértve a hozzáadott feldolgozást a kívánt alrendszerben.


A külső feldolgozással történő munkavégzés nagyon kényelmes, és sok konfliktus elkerülhető. Egyetlen jelentős hátrányuk, hogy nem frissülnek automatikusan a konfigurációval együtt. Vagyis ha a fejlesztők megváltoztatták a dokumentum vagy könyvtár nevét a fő konfigurációban, akkor manuálisan kell konfigurálnunk a feldolgozást.

Fontolja meg ebben a cikkben lépésről lépésre utasításokat külső feldolgozás létrehozásához az 1C 8.3-ban a felügyelt alkalmazás módban, felügyelt űrlapokat fogunk használni. És ami a legfontosabb, megtanuljuk, hogyan csatlakoztassuk az 1C konfigurációk "külső feldolgozásának" mechanizmusához, amely a szabványos alrendszerek 2.0 és újabb verzióinak könyvtárára épül.

A feladat a következő lesz: létrehozni a legegyszerűbb külső feldolgozást, amely csoportos műveletet hajt végre a "Nómenklatúra" referenciakönyvön, nevezetesen, hogy beállítsa az áfakulcs kiválasztott százalékát a megadott cikkcsoportra.

Ehhez azonnal elvégezzük a szükséges beállításokat a programban (az 1C 8.3 konfigurációt tekintjük: „Enterprise Accounting 3.0” kezelt űrlapok).

Ennek a négyzetnek a bejelölése lehetőséget ad külső feldolgozás használatára.

Új külső feldolgozás létrehozása az 1C 8.3-ban példán keresztül

Most menjünk a konfigurátorhoz. A "Fájl" menüben válassza az "Új..." lehetőséget. Megnyílik egy ablak a létrehozandó fájl típusának kiválasztásához. Válassza a "Külső feldolgozás" lehetőséget:

Megnyílik egy új külső feldolgozó ablak. Azonnal adjunk neki nevet. A feldolgozás lemezre mentésekor felajánlja:

Adjunk hozzá egy új felügyelt feldolgozási űrlapot. Jelezzük, hogy ez a feldolgozási forma, és ez a fő:

Az űrlapon két kellékünk lesz:

  • Nómenklatúra csoport - hivatkozás a "Nómenklatúra" kézikönyvre;
  • SelectVAT Rate – hivatkozás az áfakulcs listájához.

A részleteket a jobb felső ablakban található "Kellékek" oszlopban hozzuk létre. Húzza őket az egérrel a bal felső ablakba. Az új adatoknak azonnal meg kell jelenniük az alábbi űrlapon.

A részletek sorrendje a "Fel" - "Le" nyilakkal módosítható:

Ingyenes 267 1C videóleckéket kaphat:

Továbbra is hozzá kell adni a "Telepítés" gombot. A kezelt űrlapokon nem csak egy gombot adhat hozzá az űrlaphoz. Még ha hozzáadja is az űrlapelemek szerkezetéhez, magán az űrlapon nem lesz látható. A gombot hozzá kell rendelni ahhoz a parancshoz, amelyet végrehajtani fog. Lépjen a "Parancsok" fülre, és adja hozzá az "ÁFA kulcs beállítása" parancsot. Hozzon létre egy műveletet a parancs tulajdonságai között. Válassza ki a parancskezelőt "A kliensen". Az űrlaphoz parancsot is hozzáadhat úgy, hogy egyszerűen áthúzza az űrlapelemeket tartalmazó szakaszba.

Az űrlapmodulban létrejön egy azonos nevű eljárás. Ebben meghívjuk az eljárást a szerveren:

&AtClient

Eljárás áfakulcs beállítása (parancs)

SetVATRateOnServer();

Vége eljárás

A szerveren az eljárás során írunk egy kis lekérdezést és az áfakulcs beállításával kapcsolatos műveleteket:

&A szerveren

SetVATRateOnServer() eljárás

Request = Új kérés;
Kérelem.Szöveg =
"VÁLASZT
| Nomenklatúra.Link
| FROM
| Címtár Nomenklatúra AS Nómenklatúra
|HOL
| Nómenklatúra. Hivatkozás A HIERARCHIABAN (&Nómenklatúra csoport)
| ÉS NEM Nomenklatúra.Törlési jel
| És NEM a nómenklatúra. Ez a csoport”;

Query.SetParameter("Nómenklatúra Csoport", Nómenklatúra Csoport);
RequestRes = Request.Execute();
SelectDetRecords = ResRequest.Select();

Míg SelectDetRecord.Next() Loop

Kísérlet
SprNo.Object.Write();
Kivétel
Report("Hiba a """ objektum írásakor + SprNoobObject + """!
|» + DescriptionError());
A kísérlet vége;

EndCycle;

Vége eljárás

Visszatérünk az "Űrlap" fülre, hozzáadunk egy gombot az űrlaphoz, és társítjuk a paranccsal:

Így a feldolgozásunk használatra kész. A híváshoz az „1C Enterprise” módban a „Fájl” - „Megnyitás” menübe kell lépnie, és ki kell választania a létrehozott fájlt.

Az ebben a módban végzett munka azonban kényelmes a hibakeresési feldolgozáshoz, és nem egészen alkalmas a felhasználó számára. A felhasználók megszokták, hogy minden „kéznél van”, vagyis magában az adatbázisban.

Ehhez a „További jelentések és feldolgozás” részt használjuk.

De ahhoz, hogy hozzáadjuk a feldolgozásunkat, először leírást kell adnunk neki, és meg kell mondanunk a programnak a tulajdonságait.

A külső feldolgozás részleteinek leírása

Mondok egy példát ennek a függvénynek a tartalmára. Exportálhatónak kell lennie, és ennek megfelelően a feldolgozó modulban kell elhelyezkednie:

Funkció DetailOnExternalProcessing() Export

DataForReg = New Structure();
DataForReg.Insert("Név", "Áfakulcs beállítása");
DataForReg.Insert("SafeMode", True);
DataForReg.Insert("Verzió", "ver.: 1.001");
DataForReg.Insert("Információ", "ÁFA kulcs beállításának feldolgozása a Nómenklatúra könyvtárban");
DataForReg.Insert("View", "Additional Processing");

TabZnCommands = Új táblaértékek;
TabZnCommands.Columns.Add("Azonosító");
TabZnCommands.Columns.Add("Használat");
TabZnCommands.Columns.Add("View");

NewLine = TabZnCommands.Add();
NewString.Identifier = "OpenProcessing";
NewLine.Usage = "FormOpen";
NewLine.View = "Nyitott feldolgozás";
DataForReg.Insert("Parancsok", TabZnCommands);

Return DataForReg;

EndFunctions

Ahhoz, hogy jobban megértsük, a regisztrációs adatstruktúra mely mezőit kell használnia, nézzük meg a „További jelentések és feldolgozás” címtár részleteit:

Mint látható, minden nagyon egyszerű. Csak egy attribútum nem egyezik: „Indítási opció” - „Használat”. Ha megnézzük az egyik gyakori modul kódját, látni fogjuk, hogyan keletkezik egy csomó ilyen mező:

Annak meghatározásához, hogy a struktúra mely mezőire van szükség, először nem írhatja le, csak hozzon létre egy üreset, majd használja a hibakeresőt. Ha a feldolgozás regisztrálásakor nyomon követi a modulokat, azonnal kiderül, hogy mely mezőket kell kitölteni és melyeket nem.

Külső feldolgozás csatlakoztatása az 1C-ben 8.3

Hozzon létre egy ütemezett feladatot

Hozzon létre egy ütemezett feladatot "Feldolgozás végrehajtása".

Tiltsa le az ütemezett feladatok használatát, hogy ne induljon el automatikusan a konfiguráció frissítésekor.

Rendeljen hozzá egy eljárást, amely egy ütemezett feladat indításakor indul el:Ütemezett feladatok modul. Ütemezett TaskPerformingProcessing.

Maga az eljárás így néz ki:

Procedure ScheduledTaskPerformanceProcessing(Key) Export

Ütemezett feladatok paraméterei.PerformProcessing with Parameters(Key);

Vége eljárás

A rutinfeladatokhoz könyvtárat készítünk

A rutinfeladatunk generálhat egy halmazt háttérfolyamatok- minden kezeléshez egy. Az 1C8 platformon minden feladatnak van kulcsa. Az ütemezett job módszer azonban nem ismeri a háttérfeladat kulcsát, ezért a háttérfeladat paramétereit kell használnia. Ennek eredményeként a háttérfeladatot láthatjuk a feladatkonzolon, de ebből a konzolból nem tudunk kézzel háttérfeladatot létrehozni, mert kézi paraméterekkel rendelkező feladatok nem jönnek létre.

"Ütemezett feladatok paraméterei" könyvtár :

Kellékek :

· CodeBeforeLaunch- korlátlan karakterlánc - 1C nyelvű kód, amelyet az indítás előtt végre kell hajtani.

· Feldolgozás a konfigurációból - karakterlánc (100) - A konfigurációból származó feldolgozás azonosítója

· Feldolgozás a könyvtárból - sor (100) - hivatkozás a "Külső feldolgozás" könyvtárelemre, ha van ilyen a konfigurációban

· Az 1C alkalmazáson keresztüli végrehajtás - logikai érték - létrejön külön alkalmazás 1C és egy ütemezett feladat indul el benne. Létrehozva a 8.1-hez, ahol nem minden alkalmazási módszer érhető el azon a kiszolgálón, amelyen az ütemezett feladat fut.

· LaunchCode- - korlátlan karakterlánc - 1C nyelvű kód, amely az ütemezett feladat indításakor kerül végrehajtásra.

Hozzon létre egy elem alakzatot :

A "Regisztráció létrehozása" gombra kattintva Task" programozottan létrehoz egy ütemezett feladatot egy kulcskóddal:

Eljárás MainActionsFormsCreateReglTask(Button)

Változó referencia;

Kulcs = ShortLP(kód);

Task = ScheduledTasks.Create ScheduledTask("PerformingProcessing");

Task.Name = Kulcs;

Job.Key = Kulcs;

Paraméterek = Új tömb();

Options.Add(Key);

Task.Parameters = Paraméterek;

Task.Write();

Vége eljárás

Ütemezett munka indítása

Minden általunk létrehozott ütemezett feladathoz tartozik egy kulcs:

Ez a kulcs az "Ütemezett feladatok paraméterei" mappa kódjának felel meg, ezt keresi a feladat indításakor. Ha a szótárelem nem található, a feladat nem hajtódik végre.

Továbbá, ha megadják a kódotCodeBeforeLaunch akkor ez a kód lefut. Továbbá, ha a változó Teljesítsd hamisra értékeli, a feladat nem kerül végrehajtásra. Elemzésben elérhető változó Lehetőségek, ahol az "Ütemezett feladatok paraméterei" könyvtár talált elemére mutató hivatkozás található.

A részletek kiválasztott értékétől függően vagy az 1C nyelvű kód elindul, vagy a feldolgozás a konfigurációtól kezdődik, vagy a feldolgozás a szabványos „Külső feldolgozás” kézikönyvből indul.

Az 1C81 esetében a végrehajtást egy új alkalmazás biztosítja - így olyan kódot használhat, amely csak az ügyfélen érhető el, beleértve a külső feldolgozás használatát. Ehhez jelölje be a „Futtatás az 1C alkalmazáson keresztül” négyzetet. Ellenkező esetben az ütemezett feladat végrehajtásra kerül a szerveren.

Azt javaslom, hogy az újonnan létrehozott ütemezett feladat "Felhasználó" mezőjébe állítsa be a felhasználót, hogy a feladat bizonyos jogosultságokkal lehessen végrehajtani. Azt javaslom, hogy ennek a felhasználónak adjon teljes jogot. Van felhasználóm"robot».

Az ütemezett feladat ütemezése az ütemezett feladat űrlapjából az „Ütemezés” hivatkozással jön létre. Használhatja az "Ütemezett feladatok konzolja" feldolgozást.

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

Frissítő nem szükséges folyamatosan nyitva kell lennie, vagy szolgáltatásként kell futnia, hogy az ütemezett műveleteket el lehessen indítani.

Az ütemezett indítás a "Feladatütemező" nevű szabványos Windows-mechanizmuson keresztül működik.

És amikor a felhasználó beállítja az ütemezési beállításokat...

A frissítő automatikusan létrehozza a szükséges feladatokat az ütemezőben:

Amit nem szabad elfelejteni

Felhasználói választás

Nem szabad elfelejtenünk, hogy az általunk megadott felhasználó ütemezett műveletek futtatásához...

Rendelkeznie kell a rendszeren a "Bejelentkezés kötegelt feladatként" jogosultságokkal.

Hogyan ellenőrizhető, hogy a felhasználó rendelkezik-e a szükséges jogosultságokkal?

A legegyszerűbb lehetőség, ha jobb gombbal kattint a létrehozott feladatra az ütemezőben, és válassza a "Futtatás" lehetőséget:

Ha a feladat befejezése után az indítás eredménye sikeres...

Ha ez nem így van, akkor forduljunk hozzá rendszergazda, így a biztonsági szabályzatban (felhasználónk vagy csoportja) a " Bejelentkezés kötegelt munkaként", és szintén ki van zárva a bekezdésből Belépés kötegelt munkaként megtagadása".

Nem üres jelszót kell megadni. Ez egy követelmény Windows biztonság. Ha pontosan ezzel a korláttal szembesül, akkor a leghelyesebb megoldás a következő lenne:

  • vagy jelszót rendeljen hozzá jelenlegi felhasználó, amely alatt ütemezetten futtatja a frissítőt
  • vagy jelszóval külön felhasználót hozzon létre a rendszerben, amely a frissítő ütemtervében regisztrálható

Nos, ennek a korlátozásnak a legegyszerűbb (de biztonsági szempontból helytelen) megoldása az "Üres jelszavak engedélyezése csak konzolos bejelentkezéshez" opció letiltása. helyi politika számítógép biztonság.

Alap kiválasztása

Nem szabad megfeledkeznünk arról sem, hogy az ütemterv szerint indított műveletekben csak azok az adatbázisok vesznek részt, amelyek az ütemezésben részt vevő adatbázisok listájában szerepelnek:

Ebben az esetben nem számít, hogy az alap melletti jelölés szerepel-e az általános listában:

Ezek a jelölőnégyzetek (az általános listában) csak kézi indítási műveletekre szolgálnak, és semmilyen módon nem befolyásolják az ütemezett indítást.

Indítsa el a rendelést

És végül még egy nem nyilvánvaló pillanat. Egy ütemezett feladat indításakor a frissítő először ellenőrzi, hogy fut-e jelenleg egy másik ütemezett feladat. És ha végrehajtják, akkor az elején megvárja a befejezését és csak ezután hajt végre egy újat.

Ez azt jelenti, hogy ha például be kell állítanunk, hogy az archiválás 22-00-kor történjen, és annak befejezése után azonnal frissítésre kerüljenek az adatbázisok, akkor elegendő az archiválás kezdési időpontját 22-00-kor megadni, ill. frissítéshez, például 22-01.

Mi van, ha összetettebb ütemezésre van szüksége

De mi van akkor, ha többre van szükségünk, mint egy rendszeres futásra bizonyos időpontokban bizonyos napokon? Mi van akkor, ha azt akarjuk, hogy mondjuk félóránként 5 órakor induljon, vagy valami ilyesmi?

Ebben az esetben ki kell használnunk a feladatütemező teljes erejét.

Először beállítjuk az ütemezést a frissítőn keresztül, jelezve, hogy egy adott ütemezés már be lesz állítva az ütemezőben:

Ezután megnyitjuk a frissítő által létrehozott feladatok tulajdonságait a Windows ütemezőben:

A megfelelő lapokon pedig mindent beállítunk, amire lelkünk vágyik:

Hogyan lehet kizárni egy adatbázist néhány ütemezett műveletből

Tegyük fel, hogy beállítottunk egy ütemezést a frissítéshez és az archiváláshoz:

Ugyanakkor azt szeretnénk, hogy egy adatbázis részt vegyen az ütemezett archiválásban, de ne vegyen részt az ütemezett frissítésekben.

Hogyan lehet ezt elérni - elvégre egy listánk van az ütemtervben részt vevő adatbázisokról:

Ezt pedig nagyon egyszerű megtenni.

Nyissa meg annak az adatbázisnak a tulajdonságait, amelyet ki szeretne zárni az ütemezett frissítésekből, és az ablak alján keresse meg az "Egyes műveletek kizárása ..." elemet:

Kattintson rá, és zárja ki az adatbázis frissítését az ütemezett indításból:

Így kell kijönnie:

Lehet-e más paraméterekkel ütemterv szerint indulni

Külön figyelmet szeretnék fordítani arra, hogy a feladatütemezőben a feladat a frissítő szokásos indítása bizonyos paraméterekkel parancs sor:

A frissítőnek pedig nagyon sok paramétere van a parancssoron keresztüli indításhoz.

Segítségükkel sokkal finomabban és az Ön igényei szerint szabhatja testre az automatizálást. Csak ne módosítsa a parancssori paramétereket a már létrehozott frissítő feladatban - ellenkező esetben az ütemezett indítási beállítások frissítésekor továbbra is visszaállítja őket a kezdeti értékekre. Ehelyett másolja be a létrehozott feladatot az ütemezőbe (hogy annak saját neve legyen), és már módosítsa.

Az összes frissítő parancssori kapcsolóról.

Hogyan lehet megtudni, hogy a frissítés ütemezetten indult-e

Előfordul, hogy úgy tűnik, hogy az ütemterv összeállt – de valami elromlik.

És egyáltalán nem vagyunk biztosak abban, hogy a frissítő futott-e aznap este.

Először is szeretném felhívni a figyelmet a fő frissítőablak azon területére, ahol az ütemezett műveletek állapota látható:

Itt nézzük meg, hogy hány napja indult ill. ütemezett működés; hány bázis vett részt benne, és voltak-e hibák. Ugyanakkor, ha ezekre a hivatkozásokra kattintunk a bal gombbal, megnyílik a megfelelő jelentés.

A frissítő jelentések teljes naplójához is eljuthatunk...

És nézze meg, hogy a feladatokat elvégezték-e.

De a legtöbbet megbízható módon kideríteni, hogy a program elindult-e, és megérteni, hogy miért nem indul el vagy hirtelen leállt – ez lehetővé teszi az összes feladat naplózását a Windows ütemezőben. Alapértelmezés szerint le van tiltva, és azt javaslom, engedélyezze, hogy mindig kitalálja a problémás helyzeteket.

A napló bekapcsolásához Windows ütemező Lépjen az "Ütemezett futtatás" párbeszédpanelre, és kattintson az "Open Windows Scheduler" gombra:

Ez a panelről is megtehető Windows vezérlők(adminisztrációs rész).

Itt megtaláljuk és rákattintunk az „Összes feladat naplójának engedélyezése” elemre:

Kész! Mostantól bármelyik feladat előzményét megtekinthetjük az ütemezőben.

Például válasszunk egyet a frissítői feladatok közül:

Hogyan állítsunk be felhő alapú rendszert a frissítési feladatok elindításának figyelésére

Most elmondok egy módot, amellyel biztosíthatod magad a helyzet ellen - "ó, kiderült, hogy egy teljes hete nem archiváltunk (frissítettük, teszteltük...) az adatbázisokat."

Ez a helyzet nagyon is lehetséges, ha beállítjuk az ütemezett archiválást, majd:

  • egy másik szerver adminisztrátor elvette a jogokat tőlünk fiókotütemezőből indítani az archiválást, ebben az esetben a frissítő nem is tud levélben értesítést küldeni nekünk, mert ehhez el kell indítani, de erre nincs joga...
  • vagy más hiba történt, és nincs internet a szerveren, ezért a frissítő hibaüzenetet küld nekünk...
  • vagy mi magunk tévedésből kikapcsoltuk az ütemezett archiválást a frissítőben...
  • igen, lehet valami...

És csak be kell állítania egy felhő alapú rendszert a frissítőnk indulásának nyomon követésére, az e-mailes hibaértesítések beállítása mellett. Mi ez és hogyan működik?

Ez véleményem szerint egy teljesen zseniális dolog, az úgynevezett healthchecks.io. Ezeknek a srácoknak is vannak fizetős csomagjaik, de az ingyenes csomagjuk is jó lesz.

Az ötlet a következő. Regisztrálunk a honlapjukon és a mi személyes fiók tudjuk mondani:

  • Szia HealthChecks, adj egy egyedi URL-t.
  • HealthChecks, ha senki nem kopogtat (kér) ezen a címen ilyen és ilyen időszakra, akkor erről ilyen-olyan levélben értesíts.

Ezután a frissítőben megadjuk ezt a címet, és például minden ütemezett biztonsági mentés végén kérni fogja. És ha egy ponton hirtelen leáll vagy összeomlik, a HealthChecks szolgáltatás értesít minket erről. Még ha le is ég a szerverünk, ellopják és szétszedik... mi leszünk az elsők, akik értesülünk róla a HealthCheckstől

Szerintem ez egy zseniális ötlet. Ha szerinted nem, akkor úgy tűnik, nem értetted meg teljesen ennek a dolognak az értelmét – kérlek, olvasd el újra az ügyetlen szövegemet.

külön megemlítem hogy a leírt felügyeleti rendszer nem törli, hanem kiegészíti a levélben küldött hibaértesítéseket, amit a frissítőben is be kell állítani a helyzet teljes ellenőrzéséhez.

A legegyszerűbb szkript a HealthChecks frissítővel történő konfigurálásához

Tegyük fel, hogy beállítjuk a napi archiválást egy nevű szerveren adatszerver, amely a céghez tartozik LLC "Romashka":

Azt akarjuk, hogy a HealthChecks értesítsen minket, ha a frissítő hirtelen leáll az archiválás céljából, vagy ha az ilyen indítások rendellenesen véget érnek.

3. Regisztrálunk azon a postán, amelyre értesítést szeretnénk kapni.

3. Lépjen az "Ellenőrzések" részre, és nyomja meg a nagy zöld "Csekk hozzáadása" gombot.

5. Módosítsa a csekk nevét OOO "Romashka"-ra (Adatszerver, archiválás). Ezt azért kell megtenni, hogy megértsük, pontosan mihez kapcsolódik ez az ellenőrzés (archiválás a Romashka LLC DataServer nevű szerverén):

6. Adja meg az ellenőrzés időtartamát (az archiválást naponta egyszer kell elindítani, maga az archiválási folyamat akár 12 órát is igénybe vehet):

A második csúszka (grace) pontosan az időtartam megengedett túllépése, vagyis az az idő, ameddig az archiválási folyamat tarthat.

Szándékosan adtam meg egy további 12 órás korlátot (kegyelem), mert a frissítő kérést küld a felügyeleti rendszernek a munkája végén, és a befejezési idő az egyes feltételektől függően változhat.

Például, ha egy ütemezett frissítést úgy állítunk be, hogy 22:00-kor futjon, akkor ma ez a frissítés 23:00-kor érhet véget, holnap pedig (sok új frissítés jelent meg) hajnali 4-ig tart.

Ezért a további 12 órás ellátás, hogy ne legyen hamis pozitívumok a HealthCheckstől.

Az időszak beállításának eredménye a következő lesz:

7. De amint látja, az Utolsó ping mező üres (Soha). Frissül, mivel a frissítő eléri ezt a címet az archiválás során. Ha pedig 1 napnál és 12 óránál tovább nincs fellebbezés, akkor a HealthChecks riaszt, és e-mailben értesít bennünket.

Kérdés: Probléma a további feldolgozáshoz való hozzáféréssel a zup3-ban


bér rovatban elhelyezett kiegészítő feldolgozást hozott létre. Vezető személyzeti jogosítvánnyal rendelkező felhasználó nem tudja elindítani a számológépet, azt írja ki, hogy "nincs megfelelő hozzáférési jogosultság". Hogyan lehet beállítani a jogosultságokat a további feldolgozás megkezdéséhez?

Bérszámfejtés és HR, 3.0 kiadás (3.0.24.115) ()
Copyright © LLC "1C", 2007-2014. Minden jog fenntartva
()

Válasz:

Kérdés: További feldolgozás ütemezett futtatása


Üdvözlök mindenkit. Még csak most tanulok programozni, szóval ne szidd túl sokat a rossz kérdésekért. 1C Retail 2.2.5.27 Létrehozott egy külső feldolgozást, amely egy gomb megnyomására adatokat tölt be egy fájlból az információs nyilvántartásba. Manuálisan minden jól működik, de most az a feladat, hogy a feldolgozás ütemezetten és az űrlap megnyitása nélkül fusson. Vagyis be háttér dolgozni.
A feldolgozás a "További jelentések és feldolgozás" formában kapcsolódik

Kód űrlap modulban

ExternalProcessingDetails() ExportRegistrationParameters = Új struktúra; RegistrationParameters.Insert("View", "AdditionalProcessing"); RegistrationParameters.Insert("Név", "Maradékok betöltése (PCService(C))"); RegistrationParameters.Insert("Verzió", "1.0"); RegistrationParameters.Insert("SafeMode", False); RegistrationParameters.Insert("Információ", "Egyenlegek betöltése"); RegistrationParameters.Insert("BSP verzió", "2.3.2.33"); CommandTable = GetCommandTable(); AddCommand(CommandTable, "Maradékok betöltése (PCService(C))", "1", "OpeningForm", True,""); AddCommand(CommandTable, "Maradékok betöltése (PCService(C))", "2", "Call ServerMethod", True,""); CommandID = "2"; RegistrationParameters.Insert("Parancsok", CommandTable); Return ParametersRegistration; EndFunction függvény GetCommandTable() Parancsok = Új értéktábla; Commands.Columns.Add("View", NewTypeDescription("String")); Commands.Columns.Add("Identifier", NewTypeDescription("String")); Commands.Columns.Add("Használat", NewTypeDescription("String")); Commands.Columns.Add("ShowAlert", NewTypeDescription("Logiai")); Commands.Columns.Add("Módosító", NewTypeDescription("String")); Csapat visszatérés; EndFunction eljárás AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "") NewCommand = CommandTable.Add(); NewCommand.View = Nézet; NewCommand.Identifier = Azonosító; NewCommand.Use = Használat; NewCommand.ShowAlert = ShowAlert; NewCommand.Modifier = Módosító; EndProcedure &AtServer eljárás ExecuteCommand(CommandID, Destination Objects) Export EndProcedure

Ha rákattint a végrehajtás gombra az "Űrlap megnyitása" indító opcióval, az űrlap megnyílik, és a program azonnal lefut (azonnal lefut, mert az űrlapon az "On CreationOnServer" eseményekben a fő programkód végrehajtását jelzi)
Ha a "ServerMethod Call" indító opcióval a végrehajtás gombra kattint, nem ad hibát, de nem ad eredményt.
Mit csinálok rosszul??

Válasz:

Mindent elszívott. Itt át kellett másolni a kódot, amelyet az űrlap megnyitása nélkül akartam végrehajtani

Kérdés: Kiskereskedelem 2.2 további feldolgozás ütemezett elindítása


Üdv. Retail 2.2, a további feldolgozás engedélyezve van, és az ütemezett végrehajtás be van állítva. A - Támogatás és Karbantartás - ütemezett feladatokon keresztül figyelem a végrehajtást, a feladatom vagy lefut, vagy leáll az ütemezés szerint, egy ideig egyértelműen menetrend szerint működik és magától leáll. Nem magáról a feldolgozásról van szó, mert nem ad hibát, hanem egyszerűen nem indul el a feladat. Aztán elkezd magától működni. Mi befolyásolhatja egy ütemezett feladat megkezdését?
Próbálkoztam különböző ütemezésekkel, de nem működött.

Válasz:

A problémát a platform újratelepítése minden számítógépen megoldotta

Kérdés: További feldolgozás


Jó napot mindenkinek.
Cégünk vezetése, 1.6 (1.6.12.4) kiadás

Meg tudja mondani, hogy a konfigurátor érintése nélkül hozzáadható-e további feldolgozás az alrendszerhez?
Azok. Szükségem van arra, hogy a feldolgozást ne a További feldolgozáson keresztül hívják meg, hanem külső jelentésként, azonnal az alrendszer listájában.

Válasz:

Létrehoz egy jelentést a bővítményben, hozzáadja a szükséges (meglévő) alrendszert a bővítményhez, linket készít a létrehozott jelentésre a "bővített" alrendszerben.

Kérdés: Webszolgáltatások használata a BSP használatával végzett további feldolgozás során


Jó napot
Friss verzióban további feldolgozást kell beépítenie, amely hozzáfér egy másik adatbázis webszolgáltatásához. A feldolgozás természetesen csökkentett módban történik, azonban "engedélyezett a bővítmény használata biztonságos mód szabványos alrendszerek könyvtárai (a fájlokkal, internetes erőforrásokkal stb. való munkavégzés képessége) speciális programozási felületen keresztül, a további jelentésekhez/feldolgozáshoz szükséges engedélyek regisztrációjával. "Azonban nem találom jelenlegi verzió bsp, hogyan kell beállítani. kérem segítsen Adatbázis verzió frissen: Vállalati könyvelés, 3 .0 kiadás (3 .0 .59 .45) BSP 2 .4 .5 .31

Válasz: oo

Kérdés: A ZuP összeomlik egy bizonyos feldolgozás indításakor, mit tegyek?


Van egy kiegészítés, amely frissíti a felmondás alapján bevitt számítási bizonylatokat. Amikor elindítja ezt a feldolgozást, a program hülyén bezár minden üzenet nélkül. Semmi sem látható a hibakeresőben. Azon a vizsgálati napon, amelyre vonatkozóan 1 dokumentum készült, megfelel. Mit kell még tenni? A tesztelés megkezdődött, mintha nem lenne hiba.

Válasz: remek, de miért kellett a ciklus

Kérdés: Ütemezett feladat további feldolgozásra


Alfa-Auto konfiguráció: Autókereskedés + Autószerviz + Autóalkatrészek CORP. 6. kiadás.
Létrehozva külső feldolgozást. Kiegészítő feldolgozásként csatlakoztatva.
Ütemezett végrehajtás beállítása. De nem a következő hibával kezdődik:
A "További feldolgozás indítása" ütemezett feladat nem hajtható végre a Scheduled TasksOverridable.When Defining Scheduled Tasks Settings() eljárásban megadott beállítások hiánya miatt. Forduljon a rendszergazdához!
Ki fogja megmondani, hogy mi a baj a feldolgozással vagy az alap beállításával.

Válasz:() Tehát láthatja, mi van az Ütemezett feladatok Újradefiniálva.Az ütemezett feladatok beállításainak meghatározásakor()
A BSP-ben ez az eljárás általában üres. Az Alfa talán javított valamit.

Kérdés: A külső feldolgozás automatikus indítása


Jó napot mindenkinek. Kérem, kedves 1C fejlesztők segítsenek a probléma megoldásában.
Van egy külső feldolgozás, két gombja van, a "Futtatás" és a "Küldés". A "Futtatás" gombra kattintva a táblázatos rész kitöltődik.
Ha rákattint a "Küldés" gombra, elküldi email táblázatos rész és a csatolt fájl adataival.

Kérdés: lehetséges-e elkészíteni ezt a feldolgozást minden nap automatikusan végrehajtva. AZOK. például: minden nap reggel 08:00-kor elindult a "Futtatás" és a "Küldés" gombok eljárása? Szerverbázis. Örömmel fogadok minden segítséget és bármilyen lehetőséget.

Válasz:() És ezzel az indítási lehetőséggel az 1C folyamat bezárul a feldolgozás befejezése után? vagy le kell állítani a feldolgozást a ShutdownSystem(False) segítségével?

Jó reggelt, mondd meg, hogy a forgatókönyv a feldolgozási ütemterv szerint fusson, vagy inkább az a baj, hogy kell egy szkript (batch fájl), ami 1s 77-el indulna, de ellenőrizve, hogy nem sikerült-e a normál indítás, akkor monopólium újraindexeléssel. És lehetőleg a külső feldolgozás megnyitásával. Az automatikus feltöltéshez szükséges és a küldési idő mindenhol másképp van beállítva. és főleg éjszaka.

Válasz: bármely nncron xstarter ütemező