1c externí zpracování dle harmonogramu. Univerzální regulační úkol. Více o konfiguračních rozšířeních

Dnes vám chceme říci o využití doplňkových reportů a zpracování a především konfiguračních rozšíření v modelu služeb. Technologie nestojí, servis 1C databází v cloudu se stává stále atraktivnější službou. Co potřebujete vědět, aby byla funkce potřebná pro vaši společnost implementována do pronajaté databáze, a jak tento proces vypadá ze strany poskytovatele služeb – to se dozvíte pod střihem.

Co jsou externí reporty a zpracování

Ošetření 1C se liší, ale v každém případě rozšiřují funkčnost konfigurace a umožňují rychlý přístup k informacím uloženým v databázi bez změny konfigurace a bez odstranění podpory. Mohou být zabudovány přímo do konfigurace, přidány jako rozšíření konfigurace nebo to mohou být externí soubory.

Podle funkčnosti se zpracování dělí na ty, které mohou měnit data a ty, které jednoduše analyzují informace a zobrazují výsledek v uživatelsky přívětivé podobě (reporty). Aby nedošlo ke změně standardního rozvržení tisku dokumentů, jsou vyvinuty externí tiskové formy. Externí zpracování lze také provádět podle daného plánu na aplikačním serveru 1C - to jsou rutinní úkoly.

V Buttonu bylo vyvinuto několik desítek řešení pro zpracování, která našim účetním umožňují používat „praktickou magii“. Například pro analýzu správnosti účtování v Buttonu se používá externí sestava „Database Auto Audit“. Snadno čitelné tabulky poskytují analýzu 120 kritérií pro zůstatky a obraty účtů, soulad dat z daňových přiznání a účetních informací, analýzu dlouhodobého majetku atd.

Příklad externího tištěného formuláře „smlouva o půjčce“ podle formuláře vyvinutého našimi právníky. Jsou případy, kdy si podnikatel jako fyzická osoba vezme od své firmy bezúročnou půjčku, nebo naopak převede do firmy vlastní prostředky, pak je možné smlouvu ihned vytisknout.

Otevře se formulář pro vyplnění potřebných údajů:

A zobrazí se tištěná podoba smlouvy:

Plánované zpracování (rutinní úlohy) využíváme např. k opravám výpisů. Tlačítka mají nastavenou integraci s velkými bankami a speciální roboti načítají výpisy přímo do 1C. Díky technologii strojového učení se procento chyb při vybíjení snížilo na 3 %. Ale jako vždy existují výjimky, například klienti, kteří využívají k prodeji zboží agenturní schéma, v tomto případě jsou pravidla pro vedení bankovního výpisu individuální. Aby nedošlo k přeprogramování robota pro konkrétní případ, byl před příchodem konfiguračních rozšíření použit rutinní úkol k opravě prohlášení robota každých 10 minut.

Co jsou konfigurační rozšíření

Rozšíření je mini konfigurace, která dědí objekty z hlavní konfigurace databáze a obsahuje kód s doplňky nebo opravami objektů a modulů. V tomto případě zůstává hlavní konfigurace podporována, není potřeba povolovat úpravy, což značně zjednodušuje proces aktualizace.

Mechanismus předpokládá tři typy použití, které jsou ve skutečnosti uvedeny v poli „Účel“ při vytváření rozšíření:

Ústředním prvkem technologie je Správce služeb, uchovává veškeré informace o předplatitelích, uživatelích, aplikacích, informačních bázích a spojeních mezi nimi a s její pomocí jsou spravována externí zpracování a konfigurační rozšíření.

Všechny soubory se zpracováním se nahrávají do speciálního adresáře správce služeb. Než však soubor nahrajete do adresáře, jinými slovy „zveřejníte jej do služby“, musí být speciálním způsobem připraven.

Příprava externích reportů a zpracování pro publikaci v modelu služeb

Dodatečná sestava nebo zpracování se vytvoří v konfigurátoru 1C: Enterprise 8 jako standardní externí sestavy a zpracování a uloží se do souboru s příponou - .epf (pro dodatečné zpracování) nebo .erf (pro dodatečné sestavy).

Objektový modul musí mít procedury a funkce pro definování registračních parametrů.

Upozorňujeme, že důležitým parametrem je „Verze“. Pokud jste provedli změny ve zpracování, které bylo dříve nahráno do adresáře správce služeb, nezapomeňte změnit číslo verze, jinak správce služeb odmítne soubor načíst. Při vývoji sestavy nebo zpracování je třeba vzít v úvahu, že uživatelé pracují v modelu služby prostřednictvím webového klienta (dobrý článek na blogu 1C). Pokud zpracování obsahuje formuláře, pak musí fungovat ve webovém klientovi pod všemi webovými prohlížeči, které jsou podporovány technologickou platformou 1C: Enterprise 8.

Podle standardů služby 1cfresh.com musí být dodatečná zpráva nebo zpracování plně funkční při spuštění v nouzovém režimu, to znamená pracovat bez přístupu k objektům mimo konfiguraci.

Pro nahrání do služby jako dodací sada musí být připravena dodatečná zpráva nebo zpracování. Sada pro doručení je archiv (soubor zip) obsahující:

  • dodatečná zpráva nebo soubor zpracování;
  • xml manifest, který obsahuje další metainformace potřebné k tomu, aby správce služby publikoval další zprávu nebo ji zpracoval ve službě.
Příprava se provádí v lokálně nasazené infobázi konfigurace, pro kterou je doplňkový report nebo zpracování určeno. Využíváme speciálního asistenta pro tvorbu sady dodávek, externí zpracování Příprava dodatečných reportů a zpracování publikací v Service Model.epf. Více si můžete přečíst v dokumentaci k Technologii pro publikování řešení 1C Fresh.

Instalace dalších sestav a zpracování v modelu služby

Charakteristickým rysem technologie 1C Fresh je, že externí report nebo zpracování nelze načíst přímo do datové oblasti. Přidání může provést pouze správce služby prostřednictvím správce služby. Po přípravě zip archivu se souborem pro zpracování je nutné jej nahrát do adresáře správce služeb a nainstalovat pro konkrétního předplatitele služby.

Předplatitel služby je skupina uživatelů sjednocená podle nějakého principu. Podle toho se informační báze dostupné určité skupině uživatelů nazývají předplatitelské aplikace.

Aplikace mohou mít různé konfigurace 1C (Podnikové účetnictví, Mzdový a personální management, Management naší společnosti atd.), pro které je možné jej využít v modelu služeb. Další hlášení nebo zpracování lze nainstalovat pouze do aplikací předplatitele, které jsou specifikovány při stahování souboru.

Takto vypadá formulář vlastností pro další sestavu s verzemi. Pomocí hypertextového odkazu „Instalovat/Odebrat“ se dostaneme do seznamu aplikací a vybereme požadované databáze.

Po načtení zpracování a výběru aplikace správce služby kontaktuje adresu aplikace a dá příkaz k její instalaci do informační databáze.

Spouštíme zpracování podle harmonogramu

Při práci s velkým množstvím účetních databází je třeba periodicky provádět některá zpracování. Například jednou za měsíc nebo jednou za pár minut. Je také důležité automatizovat manuální a rutinní uživatelské operace. K tomu aktivně využíváme rutinní úkony.

Zpracování, které bude prováděno dle harmonogramu, nemá formu. Veškerá logika je zapsána v objektovém modulu a vypadá takto.



Při přípravě rozvozové sady stanovíme harmonogram. Nyní bude naše zpracování probíhat každou hodinu.

Více o konfiguračních rozšířeních

Paralelně s externími reporty a zpracováním, které je potřeba připravovat a spravovat „po staru“, jsme začali aktivně využívat mechanismus rozšíření konfigurace. Počínaje platformou 1C Enterprise 8.3.10 nám tento mechanismus docela usnadnil život a umožnil zjednodušit přizpůsobení konfigurací funkcím tlačítka.

Výše jsme například psali o rutinních operacích pro opravy dokumentů roboty, které byly spouštěny jednou za 10 minut. Nyní můžete pomocí rozšíření předefinovat fungování modulů. Můžeme tak okamžitě provést potřebné úkony při evidenci nebo zaúčtování dokladu. To je mnohem optimálnější, protože fronta úloh v databázi není ucpaná akcemi prováděnými každých 10 minut a je to efektivnější, protože změny se provádějí okamžitě.

Připravit nové rozšíření je celkem snadné. Podívejme se na proces vytváření rozšíření na konkrétních příkladech.
Na základě pracovních zkušeností je lídrem v požadavcích na úpravy tištěná forma TORG-12. Potřebujeme například udělat rozšíření, abychom mohli tisknout dodací list v cizí měně (standardně jej lze generovat pouze v rublech).
Otevřete Menu → Konfigurace → Rozšíření konfigurace
Vytváříme nové rozšíření s účelem „Adaptace“.

Rozšíření vypadá jako známý konfigurační strom, ale zatím bez objektů. Nejprve přidáme nový layout TORG-12, do kterého jsme vložili sloupce s částkami v měně.

Protože se faktura tiskne z dokladu „Prodej zboží a služeb“, přidáme tento doklad do našeho rozšíření z hlavní konfigurace a provedeme potřebné změny v modulu manažera. Chcete-li to provést, vyberte v kontextové nabídce implementace možnost „přidat do rozšíření“.

Nyní můžete upravit modul správce implementace. Musíme přidat nový formulář do seznamu tiskopisů a vyplnit částky v měně.

Ke změně standardních procedur používáme anotaci &After, potřebujeme také pár vlastních funkcí a proceduru.

Podívejme se blíže na anotace. V rozšířeních můžete použít: &Před, &Po, &Místo toho (velmi opatrně). Princip fungování je jednoduchý: chceme, aby se nejdříve provedly naše algoritmy z rozšíření, dáme anotaci &Before a do závorek uvedeme název procedury ze standardní konfigurace. Pokud je nejprve zpracován standardní modul a poté náš, použijeme &After.

Pro funkce nelze použít anotace &Před a &Po. Pokud tedy potřebujeme změnit algoritmus funkce z hlavní konfigurace, použijeme místo toho anotaci.

Anotace &Namísto toho by se měla používat co nejméně, protože zcela nahrazuje provádění procedury a funkce z hlavní konfigurace rozšiřující procedurou/funkcí. Při této metodě zachycení se procedura/funkce z hlavní konfigurace během instalace rozšíření přestane vůbec provádět, nepomůže ani aktualizace verzí.

Závěr

Existuje mnoho různých názorů na používání rozšíření a externích reportů/zpracování. Na základě našich zkušeností jsme oba pro expanzi. Jedná se o moderní a přizpůsobivější technologii, má mnohem více možností a jejich publikování je mnohem jednodušší. V rozšíření je umístěna pouze nezbytná část kódu, není také nutné dodatečně psát procedury a funkce pro stanovení registračních parametrů, verze sledování a vytvoření sady pro doručení.

Pro jednu datovou oblast můžete použít více rozšíření.
Pro specifika 1C Fresh pracující v režimu separace dat (jedna konfigurace, mnoho nezávislých oblastí) je metoda rozšíření vynikajícím řešením.

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

K aktualizátoru není požadováno být neustále otevřený nebo spuštěný jako služba, aby bylo možné spouštět plánované operace.

Plánované spouštění funguje prostřednictvím standardního mechanismu Windows nazvaného „Plánovač úloh“.

A když uživatel nastaví nastavení plánu...

Aktualizátor automaticky vytvoří potřebné úlohy v plánovači:

Na co byste neměli zapomenout

Výběr uživatele

Nesmíme zapomenout, že uživatel, kterého určíme ke spouštění naplánovaných operací...

Musíte mít systémová práva "Přihlásit se jako dávková úloha".

Jak zkontrolovat, zda má uživatel potřebná práva?

Nejjednodušší možností je kliknout pravým tlačítkem myši na vytvořenou úlohu v plánovači a vybrat "Spustit":

Pokud je po dokončení úkolu výsledek jeho spuštění úspěšný...

Pokud tomu tak není, kontaktujeme správce systému, aby v bezpečnostní politice uvedl (náš uživatel nebo jeho skupina) v položce " Přihlášení jako dávková úloha", a také vyloučeno z odstavce " Odepřít přihlášení jako dávkovou úlohu".

Musí mít neprázdné heslo. Toto je požadavek na zabezpečení systému Windows. Pokud se potýkáte s tímto konkrétním omezením, pak by nejsprávnějším řešením bylo:

  • nebo přiřaďte heslo aktuálnímu uživateli, pod kterým budete aktualizátor spouštět podle plánu
  • nebo vytvořte v systému samostatného uživatele s heslem, který bude registrován v plánu aktualizace

Nejjednodušším (ale z bezpečnostního hlediska nesprávným) řešením tohoto omezení by bylo zakázat volbu „Povolit použití prázdných hesel pouze při přihlášení do konzole“ v zásadách zabezpečení místního počítače.

Výběr základů

Nesmíme také zapomenout, že plánovaných operací se účastní pouze ty databáze, které jsou vybrány v seznamu databází účastnících se plánu:

V tomto případě nezáleží na tom, zda je zaškrtnutí vedle základny v obecném seznamu:

Tato zaškrtávací políčka (v obecném seznamu) jsou určena pouze pro ruční spouštění operací a žádným způsobem neovlivňují plánované spouštění.

Pořadí při spuštění

A na závěr ještě jeden neviditelný bod. Při spuštění naplánované úlohy aktualizátor nejprve zkontroluje, zda aktuálně neběží jiná naplánovaná úloha. A pokud se provede, tak nejprve počká na své dokončení a teprve poté provede nový.

To znamená, že pokud například potřebujeme nakonfigurovat archivaci tak, aby probíhala ve 22:00 a databáze se aktualizovaly ihned po jejím dokončení, stačí zadat čas zahájení archivace ve 22:00 a aktualizace , například 22-01.

Co když potřebujete složitější rozvrh?

Co když nepotřebujeme jen pravidelné spuštění v určitou dobu v určité dny? Co když to chceme, řekněme, nastavit tak, aby každou půlhodinu začínalo v 5 hodin nebo tak nějak?

V tomto případě musíme využít plný výkon plánovače úloh.

Nejprve nastavíme plán prostřednictvím aktualizačního nástroje, což znamená, že v plánovači bude nakonfigurován konkrétní plán:

A teprve poté otevřete vlastnosti úloh vytvořených aktualizátorem v Plánovači systému Windows:

A na příslušných kartách nakonfigurujeme vše, po čem naše srdce touží:

Jak vyloučit databázi z některých plánovaných operací

Předpokládejme, že máme nakonfigurován plán pro aktualizaci a archivaci:

Zároveň ale chceme, aby se jedna databáze účastnila plánované archivace, ale neúčastnila se plánované aktualizace.

Jak toho dosáhnout - konec konců máme stejný seznam základen, které se účastní rozvrhu:

A je to velmi snadné.

Přejděte do vlastností databáze, kterou chcete vyloučit z plánovaných aktualizací a úplně dole v okně najděte položku „Vyloučit některé operace...“:

Klikněte na něj a vylučte aktualizaci této databáze z plánovaného spuštění:

Mělo by to vypadat takto:

Je možné běžet podle plánu s jinými parametry?

Chtěl bych zvláště upozornit na skutečnost, že úloha v plánovači úloh je pravidelné spouštění aktualizátoru s určitými parametry příkazového řádku:

A updater má mnoho parametrů pro spouštění přes příkazový řádek.

Pomocí nich můžete automatizaci přizpůsobit mnohem jemněji a podle svých potřeb. Jen neměňte parametry příkazového řádku v již vytvořené úloze aktualizačního programu – jinak je při aktualizaci nastavení plánovaného spouštění stále resetuje na výchozí. Místo toho zkopírujte vytvořený úkol v plánovači (aby měl vlastní název) a změňte jej.

O všech přepínačích příkazového řádku nástroje Updater.

Jak zjistit, zda byl aktualizátor spuštěn podle plánu

Stává se, že se zdá, že rozvrh byl nastaven, ale něco se pokazí.

A už vůbec si nejsme jisti, zda byl updater té noci spuštěn.

Nejprve vás chci upozornit na oblast v hlavním okně aktualizačního programu, kde se zobrazuje stav naplánovaných operací:

Zde vidíme, před kolika dny byl spuštěn odpovídající. plánovaný provoz; kolik databází bylo zapojeno a zda došlo k nějakým chybám. Navíc, pokud na tyto odkazy klikneme levým tlačítkem myši, otevře se odpovídající zpráva.

Můžeme také přejít na úplný protokol zpráv aktualizátoru...

A podívejte se, zda byly úkoly splněny.

Nejspolehlivějším způsobem, jak zjistit, zda se program spustil, a pochopit důvody jeho selhání nebo náhlého ukončení, je povolit protokol všech úloh v Plánovači systému Windows. Ve výchozím nastavení je vypnutá a doporučuji ji zapnout, abyste vždy mohli přijít na problematické situace.

Chcete-li povolit protokol Windows Scheduler, přejděte do dialogového okna „Spustit podle plánu“ a klikněte na tlačítko „Otevřít plánovač Windows“:

To lze také provést z Ovládacích panelů systému Windows (část Správa).

Zde najdeme a klikneme na položku „Povolit protokol všech úloh“:

Připraveno! Nyní můžeme zobrazit historii libovolné úlohy v plánovači.

Zdůrazněme například jeden z úkolů aktualizátoru:

Jak nastavit cloudový monitorovací systém pro spouštění úloh aktualizace

Nyní vám řeknu o způsobu, jak se pojistit proti této situaci - "aha, ukázalo se, že naše databáze nebyly archivovány (aktualizovány, testovány..) celý týden."

Tato situace je velmi možná, pokud jsme nakonfigurovali archivaci tak, aby se spustila podle plánu, a poté:

  • jiný správce serveru odebral našemu účtu práva na zahájení archivace z plánovače a v tomto případě nám aktualizátor nebude moci ani poslat upozornění e-mailem, protože k tomu musí být spuštěn, ale nejsou k tomu žádná práva tak...
  • nebo došlo k nějaké jiné chybě a na serveru není internet, aby nám aktualizátor mohl poslat chybovou zprávu...
  • nebo jsme sami omylem vypnuli plánovanou archivaci v updateru...
  • nikdy nevíš co se může stát...

A vše, co musíte udělat, je kromě nastavení upozornění na chyby emailem nastavit cloudový systém pro sledování spuštění našeho updateru. Co to je a jak to funguje?

To je podle mě naprosto geniální věc jménem healthchecks.io. Tito kluci mají také placené plány, ale jejich bezplatný plán je pro nás v pořádku.

Myšlenka je následující. Registrujeme se na jejich webových stránkách a v našem osobním účtu máme možnost říci:

  • Hej, HealthChecks, dejte mi jedinečnou adresu URL (adresu internetového zdroje).
  • HealthChecks, pokud na tuto adresu nikdo neklepe (nežádá) v tom a takovém období, upozorněte mě na to takovým a takovým emailem.

Tuto adresu pak uvedeme v updateru a ten si ji vyžádá např. na konci každé naplánované archivace. A pokud se v určitém okamžiku náhle přestane spouštět nebo se zhroutí, služba HealthChecks nás na to upozorní. I kdyby náš server shořel, bude ukraden a rozebrán na malé kousky..., budeme o tom vědět jako první z HealthChecks

Myslím, že je to skvělý nápad. Pokud si to nemyslíte, vypadá to, že jste úplně nepochopili význam této věci – přečtěte si prosím znovu můj trapný text.

Zmíním se samostatněže popsaný monitorovací systém neruší, ale doplňuje emailová upozornění na chyby, které je také nutné nakonfigurovat v updateru pro úplnou kontrolu nad situací.

Nejjednodušší scénář pro nastavení HealthChecks pomocí aktualizátoru

Nastavíme denní archivaci na serveru s názvem datový server která patří společnosti LLC "Romashka":

A chceme, aby nás HealthChecks upozornil, pokud aktualizátor náhle přestane běžet pro archivaci nebo takové spouštění skončí abnormálně.

3. Zaregistrujte se pomocí e-mailové adresy, na kterou chcete dostávat upozornění.

3. Přejděte do sekce „Kontroly“ a klikněte na velké zelené tlačítko „Přidat kontrolu“.

5. Změňme název této kontroly na OOO "Romashka" (DataServer, archivace). To je potřeba udělat, abychom pochopili, s čím přesně tato kontrola souvisí (archivace na serveru s názvem DataServer ve společnosti Romashka LLC):

6. Zadejte dobu ověření (archivace by měla být zahájena jednou denně, samotný proces archivace může trvat až 12 hodin):

Druhý posuvník (doba) je přesně přípustné překročení doby, tedy doby, po kterou může proces archivace trvat.

Dodatečný limit 12 hodin (odklad) jsem uvedl záměrně, protože aktualizátor na konci své práce vznese požadavek na monitorovací systém a čas ukončení se může lišit v závislosti na různých podmínkách.

Pokud například naplánujeme začátek aktualizace na 22:00, tak dnes může tato aktualizace skončit ve 23:00 a zítra (bylo vydáno mnoho nových aktualizací) bude trvat do 4:00.

Z toho vyplývá dodatečná rezerva 12 hodin, aby se zabránilo falešným pozitivním výsledkům z HealthChecks.

Výsledek nastavení období bude následující:

7. Ale jak vidíte, pole Last Ping je prázdné (Nikdy). Bude aktualizována, jakmile k této adrese přistoupí aktualizátor během archivace. A pokud nedojde k žádnému požadavku déle než 1 den a 12 hodin, HealthChecks spustí poplach a upozorní nás e-mailem.

Otázka: Problém s přístupem k dalšímu zpracování v Zup3


vytvořil dodatečné zpracování a umístil jej do mzdové sekce. Uživatel s právy vyššího personalisty nemůže spustit účetního, říká „nedostatečná přístupová práva“. Jak nastavit oprávnění ke spuštění dalšího zpracování?

Platy a personální management, vydání 3.0 (3.0.24.115) ()
Copyright © LLC "1C", 2007-2014. Všechna práva vyhrazena
()

Odpovědět:

Otázka: Spuštění dalšího zpracování podle plánu


Ahoj všichni. Právě se učím programovat, takže mě moc nenadávej, že kladu špatné otázky. 1C Retail 2.2.5.27 Vytvořeno externí zpracování, které po klepnutí na tlačítko načte data ze souboru do registru informací. Vše funguje dobře ručně, ale nyní je úkolem zajistit, aby toto zpracování začalo podle plánu a bez otevírání formuláře. Tedy na pozadí, aby to fungovalo.
Zpracování je připojeno ve formuláři "Dodatečné výkazy a zpracování".

Kód v modulu formuláře

Funkce InformationOnExternalProcessing() ExportRegistrationParameters = Nová struktura; Registration Parameters.Insert("View", "AdditionalProcessing"); Registration Parameters.Insert("Name", "Načítání zůstatků (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, "Načítání zůstatků (PCService(C))", "1", "OtevřítFormulář", Pravda,""); AddCommand(CommandTable, "Zůstatky zatížení (PCService(C))", "2", "CallServerMethod", True,""); TeamId = "2"; Registration Parameters.Insert("Příkazy", CommandTable); ReturnRegistrationParameters; Funkce EndFunction GetTableCommands() Commands = NewValueTable; Commands.Columns.Add("View", NewTypeDescription("Row")); Commands.Columns.Add("Identifier", New TypeDescription("String")); Commands.Columns.Add("Usage", New TypeDescription("Row")); Commands.Columns.Add("ShowAlert", NewTypeDescription("Boolean")); Commands.Columns.Add("Modifier", New TypeDescription("Row")); Návratový tým; EndFunction Procedure AddCommand(CommandTable, View, Identifier, Usage, ShowAlert = False, Modifier = "") NewCommand = CommandTable.Add(); NewCommand.View = Zobrazit; NewCommand.Identifier = Identifikátor; NewCommand.Use = Použití; NewCommand.ShowAlert = ShowAlert; NewCommand.Modifier = Modifikátor; Konec procedury &Na serveru Proveď příkaz (identifikátor příkazu, objekty přiřazení) Export Konec procedury

Když kliknete na tlačítko spustit s možností spuštění "Otevřít formulář", otevře se formulář a program se okamžitě spustí (spustí se okamžitě, protože ve formuláři v událostech "Když CreatedOnServer" je uvedeno, že hlavní kód program bude spuštěn)
Když kliknete na tlačítko Execute s možností spuštění „Call ServerMethod“, nevyvolá to žádné chyby, ale žádný výsledek.
Co dělám špatně??

Odpovědět:

Všechno jsem kouřil. Zde jsem musel zkopírovat kód, který jsem chtěl, aby byl proveden bez otevření formuláře

Otázka: Retail 2.2 spuštění dodatečného zpracování podle harmonogramu


Pozdravy. Maloobchod 2.2, je povoleno další zpracování a je nastaveno plánované provádění. Provádění sleduji přes - Podpora a údržba - rutinní úkoly, můj úkol buď běží nebo přestane běžet podle plánu, nějakou dobu funguje přesně podle plánu a přestane běžet sám. Nejde o samotné zpracování, protože nehlásí chybu, ale úkol se prostě nespustí. Pak to začne normálně fungovat samo. Co může ovlivnit začátek rutinního úkolu?
Zkoušel jsem nastavit různé plány, ale nefungovalo to.

Odpovědět:

Problém byl vyřešen přeinstalací platformy na všech počítačích

Otázka: Dodatečné zpracování


Dobrý den všem.
Správa naší společnosti, verze 1.6 (1.6.12.4)

Řekněte mi, je možné přidat další zpracování do subsystému, aniž byste se dotkli konfigurátoru?
Tito. Potřebuji, aby se zpracování nevolalo prostřednictvím dodatečného zpracování, ale jako externí zpráva, okamžitě v seznamu subsystému.

Odpovědět:

Vytvořte sestavu v rozšíření, přidejte požadovaný (stávající) subsystém do rozšíření, vytvořte odkaz na vytvořený report v „rozšířeném“ podsystému.

Otázka: Používání webových služeb v dalším zpracování pomocí BSP


Dobré odpoledne
V čerstvém stavu je nutné zabudovat další zpracování, které bude přistupovat k webové službě jiné databáze. Zpracování je samozřejmě v nouzovém režimu, nicméně „je povoleno používat rozšíření bezpečného režimu knihovny standardních subsystémů (možnost práce se soubory, internetovými zdroji atd.) prostřednictvím specializovaného softwarového rozhraní s registrací oprávnění potřebná pro další hlášení/zpracování.“ V aktuální verzi BSP však nemohu najít, jak to nakonfigurovat. pomozte, prosím Nová verze databáze: Enterprise Accounting, vydání 3 .0 (3 .0 .59 .45) BSP 2 .4 .5 .31

Odpovědět: oO

Otázka: ZUP spadne při spuštění určitého zpracování, co mám dělat?


Je zde dodatek, který aktualizuje zúčtovací doklady zadané na základě výpovědi. Po spuštění tohoto zpracování se program hloupě zavře bez jakýchkoli zpráv. V debuggeru nic nevidím. V den testu, pro který byl vyhotoven 1 dokument, projde. Co jiného mám dělat? Provedl jsem testování a zdálo se, že nejsou žádné chyby.

Odpovědět: skvělé, ale proč byl cyklus potřeba? Pokud máte nějaké záznamy, napište, nevím, do deníku nebo do něčeho jiného, ​​ne pak upravujte nebo nedělejte nic

Otázka: Naplánovaný úkol dodatečného zpracování


Konfigurace Alfa-Auto: Autosalon + Autoservis + Autodíly CORP. Vydání 6.
Vytvořeno Externí zpracování. Připojil jsem to jako dodatečné zpracování.
Nastavte plánované spuštění. Ale nezačíná to chybou:
Rutinní úlohu "Spustit dodatečné zpracování" nelze provést kvůli chybějícím nastavením v proceduře RoutineTasksOverridden.WhenDefiningRegularTaskSettings(). Kontaktujte svého správce systému!
Kdo mi může říct, co je špatně se zpracováním nebo Nastavením základny.

Odpovědět:() Takže se podíváte, co je v RoutineTasksOverridden.WhenDefiningSettingsofRoutineTasks()
V BSP je tento postup obvykle prázdný. V Alfě se možná něco zlepšilo.

Otázka: Automatické spuštění externího zpracování


Dobrý den všem. Prosím, pomozte, drazí vývojáři 1C, vyřešte tento problém.
Existuje externí zpracování, má dvě tlačítka, „Spustit“ a „Odeslat“. Po kliknutí na tlačítko "Spustit" se tabulková část vyplní.
Když kliknete na tlačítko "Odeslat", odešle se e-mail s daty z tabulkové části a připojeným souborem.

Otázka: Je možné, aby toto zpracování probíhalo automaticky každý den? TY. například: v 8:00 ráno každého dne byla spuštěna procedura tlačítek "Spustit" a "Odeslat"? Serverová základna. Budu rád za každou pomoc a jakékoli možnosti.

Odpovědět:() A s touto možností spuštění se proces 1C po zpracování uzavře? nebo je třeba ukončit zpracování přes ShutdownSystem (False)?

Dobré ráno, řekněte mi skript, který se má spustit podle plánu zpracování, nebo spíše problém je v tom, že potřebujete skript (dávkový soubor), který by se spustil 1s 77, ale po kontrole, pokud normální spuštění selže, pak bude exkluzivní s reindexací. A nejlépe s otevřením externího zpracování. Je potřeba pro automatické nahrávání, ale časy odesílání jsou všude nastaveny jinak. a většinou v noci.

Odpovědět: jakýkoli plánovač nncron xstarter

Externí zpracování je velmi pohodlný nástroj pro společnosti používající standardní konfigurace na 1C:Enterprise 8.3. Umožňují vám neztrácet úsilí a peníze na aktualizace 1C, což umožňuje aktualizovat databáze jedním tlačítkem v jednoduchém uživatelském režimu. Pomocí mechanismu standardní knihovny subsystému můžete přidávat různá tlačítka do dokumentů a referenčních knih, aniž byste museli měnit standardní konfiguraci. Podívejme se na příklad vytvoření a připojení externího zpracování v jedné z konfigurací 1C.

Externí zpracování vytváříme v 1C 8.3

K vytvoření nového externího zpracování používáme konfigurátor. Přes nabídku „Soubor“ vybereme příkaz k vytvoření „Nový...“ a určíme, že vytvoříme externí zpracování. V okně, které se otevře, nastavte název a po stisknutí tlačítka „Enter“ se automaticky vyplní. Tento název vám systém nabídne i jako název souboru při ukládání.

Přidáme formulář pro zpracování kliknutím na tlačítko s lupou v příslušném okně. Vytvořme například zpracování ukazující, které objednávky zákazníků používají určitou položku. K tomu musíme do formuláře umístit:

  • Atributy – pole pro nastavení nomenklatury;
  • Tlačítko, které zavolá kód.

Přidejte atribut „Nomenclature“ s datovým typem „DirectoryLink.Nomenclature“ v odpovídající sekci a tlačítko „Show“ v nabídce „Commands“ -> „Form Commands“.

Aby se přidaná data projevila na formuláři, musíte je přetáhnout do prvků formuláře umístěných v levé horní části. Pomocí modrých šipek je možné prvky zaměňovat. Aby námi vytvořené tlačítko dělalo to, co zamýšlelo, je potřeba mu přiřadit proceduru. V kontextové nabídce vyberte „Akce příkazu“ a na otázku, kde je potřeba handler, odpovíme: „Vytvořit na klientovi a proceduru na serveru“.


Fragment 1

&Procedura OnClient Show(Command) ShowOnServer(); Konec procedury &OnServer Procedura ShowOnServer() //Vložení obsahu obslužné rutiny. Konec procedury

Rozhodli jsme se vytvořit proceduru na serveru, protože jako výsledek chceme získat vzorek z databáze. Na klientovi tuto možnost nemáme, takže se budeme muset připojit k serveru, který si vyměňuje data s databází. Nyní musíme napsat kód, který implementuje to, co jsme naplánovali. Použije se požadavek a výstup všech dokumentů prostřednictvím funkce „Report()“.


Fragment 2

&Procedura OnClient Show(Command) ShowOnServer(Nomenclature); EndProcedure &Procedura na serveru ShowOnServer(Nomenklatura) Požadavek = Nový požadavek; 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(); While SelectionDetailedRecords.Next() Loop Report(SelectionDetailedRecords.Link); EndCycle; Konec procedury

V současné fázi můžeme otevřít externí zpracování v běžící databázi 1C jako běžný soubor a již bude funkční. Ale pokud máme mnoho uživatelů, budeme muset tento soubor poslat všem a poskytnout jim instrukce, jak jej skutečně otevřít v 1C, což je extrémně nepohodlné. Abychom tomu zabránili, naše zpracování by mělo být umístěno uvnitř jedné ze sekcí 1C. Abychom to udělali, musíme jej ještě trochu upravit prostřednictvím konfigurátoru a určit určitá nastavení.

Pro umístění externího zpracování do sekce 1C je nutné zaregistrovat proceduru „Informace o externím zpracování“ v objektovém modulu. V hlavní nabídce zpracování klikněte na Akce a vyberte Objektový modul. Zde musíte zaregistrovat všechna nastavení potřebná pro 1C, aby systém pochopil, co se od něj vyžaduje a jaký druh souboru je před ním. Snímek obrazovky ukazuje kód funkce „Informace o externím zpracování“.

Funkce InformationOnExternalProcessing() Export DataForReg = New Structure(); DataForReg.Insert("Název","Nové externí zpracování"); DataForReg.Insert("SafeMode", True); DataForReg.Insert("Version", "ver.: 1.001"); DataForReg.Insert("Zobrazit", "Další zpracování"); CommandTable = NewValueTable; TabZnCommands.Columns.Add("Identifikátor"); TabZnCommands.Columns.Add("Použití"); TabZnCommands.Columns.Add("Zobrazit"); NewRow = TabZnCommands.Add(); NewString.Identifier = "NewExternalProcessing"; NewRow.Use = "OtevřítFormulář"; NewRow.View = "Nové externí zpracování"; DataForReg.Insert("Příkazy", TabZnPříkazy); Return DataForReg; EndFunction

Fragment 3

Připojení externího zpracování v 1C

Před připojením externího zpracování ke standardní konfiguraci musíte povolit použití tohoto nástroje. V „Administrace“ v podpoložce „Tisklé formuláře, sestavy a zpracování“ nastavte příznak naproti mechanismu, který potřebujeme. Zpřístupní se nám tlačítko pro přechod do adresáře dalšího zpracování a reportů.


Když přejdeme na seznam, vytvoříme v něm nový řádek a systém vás vyzve k výběru souboru. Vybereme zpracování, které jsme provedli a uložili, a konfigurace 1C nezávisle vyplní většinu polí. Pomocí tlačítka „Spustit“ již můžeme zkontrolovat funkčnost našeho zpracování, ale pro ostatní uživatele to není příliš pohodlné. Aby uživatelé měli náš příkaz a mohli volat, musíme:

  • Určete umístění objektu. Kliknutím na „Nedefinováno“ otevřeme okno sekcí a označíme, ve kterých sekcích bude operace dostupná;
  • Vyberte uživatele, kterým se tento příkaz objeví v menu „Další zpracování“ vybraných sekcí bez zbytečného nastavování. Chcete-li to provést, v tabulkové části musíte vybrat položku „Rychlý přístup“ a přidat odpovědné uživatele do pravé poloviny;
  • Na kartě „Další informace“ můžete určit složku, ve které bude umístěno stažené zpracování;
  • Po stisknutí tlačítka „Zapsat“ ve vybrané sekci v nabídce „Další zpracování“ uživatelé najdou náš příkaz a budou jej moci použít.

Pokud chceme provést změny v našem zpracování, musíme jej nejprve vyjmout z databáze. Chcete-li to provést, vyhledejte požadovaný řádek v adresáři „Další zpracování a sestavy“ a použijte příkaz „Nahrát do souboru...“. Proveďte změny, uložte zpracování a pomocí tlačítka „Načíst ze souboru...“ vyhledejte upravený soubor epf beze změny parametrů. Po záznamu uvidí všichni uživatelé provedené změny.

Pokud používáte nestandardní nebo ukončenou databázi 1C, pak využijte možnosti stáhnout si zpracování přes konfigurátor. Ve stromu objektů v části „Zpracování“ vytvořte nové zpracování a v kontextovém menu vyberte „Nahradit externím zpracováním, zpráva...“. Zbývá pouze nakonfigurovat spouštění externího zpracování z požadované sekce včetně přidaného zpracování v požadovaném subsystému.


Práce s externím zpracováním je velmi pohodlná a umožňuje vyhnout se mnoha konfliktům. Jejich jedinou významnou nevýhodou je, že se neaktualizují automaticky spolu s konfigurací. To znamená, že pokud vývojáři změnili název dokumentu nebo referenční knihy v hlavní konfiguraci, budeme muset ručně nakonfigurovat zpracování.

Vytvoření rutinního úkolu

Vytvořme rutinní úlohu „Provést zpracování“.

Zakažme použití naplánované úlohy, aby se při aktualizaci konfigurace nespouštěla ​​automaticky.

Pojďme přiřadit proceduru, která se spustí při spuštění rutinní úlohy:Modul RoutineTasks.RoutineTaskExecutionProcessing.

Samotný postup vypadá takto:

Postup RoutineTaskExecutionProcessing(Key) Export

Parametry RoutineTasks.PerformProcessingWithParameters(Key);

Konec procedury

Vytváříme referenční knihu pro rutinní úkoly

Náš rutinní úkol může způsobit mnoho procesů na pozadí – jeden pro každé zpracování. Každý úkol na platformě 1C8 má klíč. Metoda naplánované úlohy však nezná klíč úlohy na pozadí, takže musíte použít parametry úlohy na pozadí. V důsledku toho můžeme vidět úlohu na pozadí v konzole úloh, ale nemůžeme ručně vytvořit úlohu na pozadí z této konzoly, protože úlohy s parametry se nevytvářejí ručně.

Referenční kniha „Parametry naplánovaných úloh“ :

Náležitosti :

· CodeBefore Launch- neomezený řetězec - kód v jazyce 1C, který musí být proveden před spuštěním.

· Zpracování z konfigurace - řádek (100) - identifikátor zpracování z konfigurace

· Zpracování z adresáře - řádek (100) - odkaz na prvek adresáře „Externí zpracování“, pokud je v konfiguraci nějaký

· Spustit přes aplikaci 1C - Boolean - vytvoří se samostatná aplikace 1C a spustí se v ní rutinní úloha. Vytvořeno pro 8.1, kde nejsou všechny aplikační metody dostupné na serveru, kde běží naplánovaná úloha.

· Spouštěcí kód- - neomezený řádek - kód v jazyce 1C, který bude spuštěn při spuštění naplánované úlohy.

Vytvoříme tvar prvku :

Kliknutím na „Vytvořit Reg. task" je programově vytvořena rutinní úloha s kódem klíče:

Postup BasicActionsFormCreateReglTask(Button)

Variabilní práce;

Klíč = AbbrLP(Kód);

Task = RoutineTasks.CreateRoutineTask("PerformProcessing");

Task.Name = Klíč;

Task.Key = Klíč;

Parametry = New Array();

Parameters.Add(Key);

Task.Parameters = Parametry;

Task.Write();

Konec procedury

Spuštění naplánované úlohy

Každý rutinní úkol, který vytvoříme, má klíč:

Tento klíč odpovídá kódu v adresáři „Parametry rutinních úloh“ a používá se k vyhledávání při spouštění úlohy. Pokud není položka adresáře nalezena, úloha se neprovede.

Dále, pokud je zadán kódCodeBefore Launch pak bude tento kód proveden. Dále, pokud proměnná Splnit vyhodnotí jako nepravda, úkol nebude dokončen. Proměnná dostupná pro analýzu Možnosti, kde je uložen odkaz na nalezený adresářový prvek „Parametry rutinních úloh“.

V závislosti na zvolených hodnotách detailů se spustí buď kód v jazyce 1C, nebo se spustí zpracování z konfigurace, nebo se spustí zpracování ze standardní referenční knihy „Externí zpracování“.

Pro 1C81 je spouštění zajištěno v nové aplikaci – abyste mohli používat kód, který je dostupný pouze na klientovi, včetně využití externího zpracování. Chcete-li to provést, musíte zaškrtnout políčko „Spustit aplikaci 1C“. V opačném případě bude naplánovaná úloha provedena na serveru.

Doporučuji nastavit uživatele v poli „Uživatel“ pro nově vytvořenou rutinní úlohu, aby se úloha spouštěla ​​pod určitými právy. Doporučuji dát takovému uživateli plná práva. Používám uživatele "robot».

Plán rutinní úlohy se vytváří pomocí hypertextového odkazu „Plán“ z formuláře rutinní úlohy. Můžete použít zpracování „Rutine Task Console“.