1C Jak se dozvědět o provedení obslužného programu očekávání. "Flash" rozhraní nebo řetězy asynchronních volání

Kód 1C V 8.2 UP Publikování připojení (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Parametry:
<ИмяПроцедуры>
<Интервал> (Povinné) Typ: Číslo. Časový interval v sekundách až 1/10 sekundy, přes který bude postup nazýván (pozitivní). Pokud je hodnota menší než 1, hodnota třetího parametru by měla být rovna pravdě.
<Однократно> (Volitelné) Typ: Boolean. Znamení jednorázového personálního obsluhy.
Pravda - Zadaný handler čekání bude proveden jednou. Výchozí hodnota: Lie
Popis: Připojuje zadaný postup jako pohotovostní obslužný program. Postup bude volán během čekací doby systému pokaždé po stanoveném časovém intervalu.

Dostupnost:
Slim Client, webový klient, tlustý klient.

Poznámka:
Volání popisovače čekání pokračuje, dokud formulář nebude uzavřen nebo dokud nebude zavolána metoda formuláře zakázaného formování. Kód 1C v 8.2 UE zakázáno<ИмяПроцедуры>)

Kód 1C V 8.2 UP
& Svalette
Postup procesoru shell ()
Zpracovává se ();
Extrudrtves

& Na serveru
Zpracování procedur ()
// Udělejte vše, co potřebujete
Extrudrtves

//....
Připojovací metody ("shell procesor", 3, pravda);

<ИмяПроцедуры>, <Интервал>, <Однократно>)
Připojuje volání na zadaný postup pro řízený aplikační modul (modul obvyklé aplikace) nebo globální sdílený modul po určitém časovém intervalu. Volání bude prováděno pouze v "stavu odpočinku", který je v okamžiku, kdy program nesplní žádnou akci. Volání čekajícího psovoda pokračuje, dokud nebude systém dokončit práci nebo dokud nebude způsobit způsob globálního kontextu zakázané transakce.
Kód 1C v 8.x postup Reporting podlahy ()
// ...
Extrudrtves

//...
ConnectingCondions ("výprodeje podávání zpráv", 60); // každou minutu
Kód 1C v 8.x // v typické din kontroly. Aktualizace konfigurace každých 20 minut.
Způsoby připojení ("Zpracování vinařské dynamické výměny", 20 * 60);
// Připojte popisovač výměny dat
Připojení vydání ("ověřené", globální ("glocriditysycenchandproms"));
Spojovací metody ("Nekončicsancompaning", 86400); // \u003d 24 (h) * 60 (min) * 60 (SEC) \u003d 1 den

Pro formu
Kód 1C V 8.x Připojovací stroje (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Parametry:
<ИмяПроцедуры> (Povinný) Typ: řetězec. Název procedury připojeného jako psovoda čekání.
<Интервал> (Povinné) Typ: Číslo. Časový interval v sekundách až 1/10 sekundy, přes který se postup nazývá (pozitivní). Pokud je zadán menší než 1, je hodnota třetího parametru by měla být rovna pravdě.
<Однократно> (Volitelné) Typ: Boolean. Znamení jednorázového personálního obsluhy. 0istina - zadaný wetwing handler bude proveden jednou. Výchozí hodnota: Lie

Popis:
Připojuje zadaný postup jako pohotovostní obslužný program. Postup bude volán během čekací doby systému pokaždé po stanoveném časovém intervalu.

Dostupnost:
Tlustý klient.
Poznámka:
Volání čekání psovod pokračuje, dokud se forma nebude uzavřen, nebo dokud se bude nazývat způsob tělesně postižené formy formace.
Příklad:
Kód 1C v 8.x připojovací body ("chudoba", 1);
Forma 1C v 8.x. Minervalustrust \u003d 300; // 5 minut
Pokud je formulář. Minervatorstosteo<> 0 pak.
Forma Zvýšená zpracování. ( "Zpracování procesor", pro forma (Forma Minervatorship * 60).);
Skončil;

Léčba očekávání v systému 1C: EnterpriseZ dokumentu je určena pro periodickou realizaci globálního postupu modulu v daném časovém intervalu. Startový kód bude vypadat takto:
Kód 1c v 7.x zpracování ( "UpdateCeer _", 1);
Kde "Update Meter_" - název globálního postupu modulu, který bude spuštěn na frekvenci 1 sekundy. (druhý parametr rovný 1)

Ale! Problém je, že je možné spustit očekávání zpracování pouze 1 čas. Opakování spuštění zruší předchozí. Jinými slovy, pokud chcete, například zpracování časovač počítat s časem, můžete začít pouze jeden časovač, protože Spuštění druhého časovače povede k prvnímu. A co když je třeba spustit 2, 3 nebo více takových časovačů najednou? Nebo potřebujete pravidelně kontrolovat stav dokumentů?

Existuje výstup! Pohotovostní zpracování musí být zahájena v rámci formuláře oddělit tento proud z globálního kontextu. A pak bude možné periodické zahájení postupu místního modulu, tj. Postupy umístěné v modulech formulářů vašeho zpracování.

Startový kód bude vypadat takto:
Kód 1C v 7.x forma zpracování ( "aktualizace _", 1).
Kde "Update Meter_" - název postupu místního modulu zpracování formy, která bude probíhat s frekvencí 1 sec. (druhý parametr rovný 1)
V každém zpracování tedy můžete spustit vaše očekávání zpracování, které bude fungovat, dokud je formulář otevřen.

Ve formách můžete použít Kód 1C v 8.x formulář. Zpracování, "názevProcesor", čas),
Tam, kde název názevProcesor je název procedury, který běží přes sekundu
V procesu samotném, vložky kód 1C v 8.x formě. Zpracování, „název nameProcessor“, 0) pro zastavení zpracování očekávání (samozřejmě, po provedení nezbytné podmínky).
Zdroj

Kód 1C V 8.2 UP Publikování připojení (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Parametry:
<ИмяПроцедуры>
<Интервал> (Povinné) Typ: Číslo. Časový interval v sekundách až 1/10 sekundy, přes který bude postup nazýván (pozitivní). Pokud je hodnota menší než 1, hodnota třetího parametru by měla být rovna pravdě.
<Однократно> (Volitelné) Typ: Boolean. Znamení jednorázového personálního obsluhy.
Pravda - Zadaný handler čekání bude proveden jednou. Výchozí hodnota: Lie
Popis: Připojuje zadaný postup jako pohotovostní obslužný program. Postup bude volán během čekací doby systému pokaždé po stanoveném časovém intervalu.

Dostupnost:
Slim Client, webový klient, tlustý klient.

Poznámka:
Volání popisovače čekání pokračuje, dokud formulář nebude uzavřen nebo dokud nebude zavolána metoda formuláře zakázaného formování. Kód 1C v 8.2 UE zakázáno<ИмяПроцедуры>)

Kód 1C V 8.2 UP
& Svalette
Postup procesoru shell ()
Zpracovává se ();
Extrudrtves

& Na serveru
Zpracování procedur ()
// Udělejte vše, co potřebujete
Extrudrtves

//....
Připojovací metody ("shell procesor", 3, pravda);

<ИмяПроцедуры>, <Интервал>, <Однократно>)
Připojuje volání na zadaný postup pro řízený aplikační modul (modul obvyklé aplikace) nebo globální sdílený modul po určitém časovém intervalu. Volání bude prováděno pouze v "stavu odpočinku", který je v okamžiku, kdy program nesplní žádnou akci. Volání čekajícího psovoda pokračuje, dokud nebude systém dokončit práci nebo dokud nebude způsobit způsob globálního kontextu zakázané transakce.
Kód 1C v 8.x postup Reporting podlahy ()
// ...
Extrudrtves

//...
ConnectingCondions ("výprodeje podávání zpráv", 60); // každou minutu
Kód 1C v 8.x // v typické din kontroly. Aktualizace konfigurace každých 20 minut.
Způsoby připojení ("Zpracování vinařské dynamické výměny", 20 * 60);
// Připojte popisovač výměny dat
Připojení vydání ("ověřené", globální ("glocriditysycenchandproms"));
Spojovací metody ("Nekončicsancompaning", 86400); // \u003d 24 (h) * 60 (min) * 60 (SEC) \u003d 1 den

Pro formu
Kód 1C V 8.x Připojovací stroje (<ИмяПроцедуры>, <Интервал>, <Однократно>)
Parametry:
<ИмяПроцедуры> (Povinný) Typ: řetězec. Název procedury připojeného jako psovoda čekání.
<Интервал> (Povinné) Typ: Číslo. Časový interval v sekundách až 1/10 sekundy, přes který se postup nazývá (pozitivní). Pokud je zadán menší než 1, je hodnota třetího parametru by měla být rovna pravdě.
<Однократно> (Volitelné) Typ: Boolean. Znamení jednorázového personálního obsluhy. 0istina - zadaný wetwing handler bude proveden jednou. Výchozí hodnota: Lie

Popis:
Připojuje zadaný postup jako pohotovostní obslužný program. Postup bude volán během čekací doby systému pokaždé po stanoveném časovém intervalu.

Dostupnost:
Tlustý klient.
Poznámka:
Volání čekání psovod pokračuje, dokud se forma nebude uzavřen, nebo dokud se bude nazývat způsob tělesně postižené formy formace.
Příklad:
Kód 1C v 8.x připojovací body ("chudoba", 1);
Forma 1C v 8.x. Minervalustrust \u003d 300; // 5 minut
Pokud je formulář. Minervatorstosteo<> 0 pak.
Forma Zvýšená zpracování. ( "Zpracování procesor", pro forma (Forma Minervatorship * 60).);
Skončil;

Léčba očekávání v systému 1C: EnterpriseZ dokumentu je určena pro periodickou realizaci globálního postupu modulu v daném časovém intervalu. Startový kód bude vypadat takto:
Kód 1c v 7.x zpracování ( "UpdateCeer _", 1);
Kde "Update Meter_" - název globálního postupu modulu, který bude spuštěn na frekvenci 1 sekundy. (druhý parametr rovný 1)

Ale! Problém je, že je možné spustit očekávání zpracování pouze 1 čas. Opakování spuštění zruší předchozí. Jinými slovy, pokud chcete, například zpracování časovač počítat s časem, můžete začít pouze jeden časovač, protože Spuštění druhého časovače povede k prvnímu. A co když je třeba spustit 2, 3 nebo více takových časovačů najednou? Nebo potřebujete pravidelně kontrolovat stav dokumentů?

Existuje výstup! Pohotovostní zpracování musí být zahájena v rámci formuláře oddělit tento proud z globálního kontextu. A pak bude možné periodické zahájení postupu místního modulu, tj. Postupy umístěné v modulech formulářů vašeho zpracování.

Startový kód bude vypadat takto:
Kód 1C v 7.x forma zpracování ( "aktualizace _", 1).
Kde "Update Meter_" - název postupu místního modulu zpracování formy, která bude probíhat s frekvencí 1 sec. (druhý parametr rovný 1)
V každém zpracování tedy můžete spustit vaše očekávání zpracování, které bude fungovat, dokud je formulář otevřen.

Ve formách můžete použít Kód 1C v 8.x formulář. Zpracování, "názevProcesor", čas),
Tam, kde název názevProcesor je název procedury, který běží přes sekundu
V procesu samotném, vložky kód 1C v 8.x formě. Zpracování, „název nameProcessor“, 0) pro zastavení zpracování očekávání (samozřejmě, po provedení nezbytné podmínky).
Zdroj

1C platforma nám poskytuje možnosti asynchronních výzvy postupy, které někdy mohou být použity pro jednoduché, ale zábavné věci. Například můžete „Flash“ všem, co má barvu nebo jakoukoliv možnost změnit vizuální design. Kromě toho můžete použít jako jednodušší, ale nekontrolovaný mechanismus, a vytvořit zajímavý řetězec asynchronních výzev a nastavit preferované chování.

To se sem samozřejmě o postupu konektoru procesu, jehož cílem ().

Dovolte mi připomenout postup syntaxe:

ConnectingCondions (<ИмяПроцедуры>, <Интервал>, <Однократно>)

Pokud uvádíte interval méně než sekundu, spuštění postupu musí být jednorázový. Zde ztrácíme kontrolu nad tokem provedení a ztratíme schopnost "přizpůsobit" (pružně, individuálně nakonfigurovat).

Toto omezení je však snadno provedeno.

Aby nedošlo k šíření myšlenek na stromě, okamžitě dát jednoduchý příklad a já to vysvětlím.

Předpokládejme, že máme tabulkový dokument ve formuláři a chceme "blikat" 5krát nějakého druhu své oblasti.

///////////// / / /// // // „Mignem“ oblast dokumentu tabulky 5 krát, s intervalem v půl sekundy // ///// ////// ///////// / Reklamační řád přijímaní (Team) MFsMymind \u003d 3; // čítač. POTŘEBY formy, „viditelný“ v postupech očekávání manipulátory spojujících body ( „ShowDeeling komplex“, 0,1, pravda); // můžete přímo volat podrobný postup & postup Postup pro zobrazení plochy uzávěru () \u003d objekt TD LEFT (MFPERSTROWARDATED, MFPERTAYOLONKADA, IFSLEDSTROWARDATED, IFSLESSELLESHOLDS)... Hranice \u003d nová linie (typhelnimiacyklovatelná soužení. Dvoulůžkový); Oblast. Chudoba (hranice, hranice, hranice, hranice); // uskutečnit region MF regionMymymyhyg regionu \u003d mfsmmymind - 1; // Dekorace na přepážce připojení body sítě ( „Remracting autorských práv“, 0.5, pravda); // Připojte řetěz asynchronních hovorů. Postup end Controltments & Clause Postup Referoptwork Cliements () Region \u003d Objekt. Hranice \u003d nová čára (typhelnimiacyklovatelná soužení. Předmět); Oblast. Chudoba (hranice, hranice, hranice, hranice); // Vyjměte cirkulaci oblasti, pokud mfsmyyg ... 0 a poté připojte kódy ("ShowDeeling", 0,5, pravda); // opakujeme tolik, kolik zůstane na přístroji. Extrudrtves

Základním požadavkem je pouze to, že proměnná mfsmimg-metr je "viditelná" z postupů, které spustíme asynchronně. V tento případ Proměnná je formulář rekvizity.

Pozorný čtenář si všiml, že s tvorbou takových řetězců zabijeme dva zajíci najednou:

  • Omezení omezení opakovatelnosti výzev postupu s hodnotami intervalu nižší než sekundy;
  • Máme možnost tvořit řetězy různých délek a složitosti:
    • připojte popisovač očekávání přímo v samotném pracovišti očekávání;
    • aby se tyto postupy připojit;
    • organizovat složitější strukturu řetězových řetězců;
    • infontely komplikovat výzvu správy volání (například změna v rámci výzev nejen jejich čítače, ale také hodnoty intervalů, stylů designu (takže duha je přetečená 🌈).

Navzdory jednoduchosti popsané metody je v něm skryto značný potenciál.

V roce 2017 je flexibilněji spravovat chování programu moderní.