Upozornenie pre používateľa 1s 8.3 spravované formuláre. Vykonajte akcie po kliknutí

Článok pokračuje v sérii článkov „Prvé kroky vo vývoji na 1C“.

V ňom zvážime spôsoby, ako informovať používateľa, ktoré sú prítomné v platforme 1C:Enterprise 8, a tiež zameriame vašu pozornosť na niektoré funkcie fungovania týchto mechanizmov, tieto funkcie sú spojené s režimom používania modality.

Použiteľnosť

Článok sa zaoberá funkciou:

  • Rozhranie vo verzii "Verzia 8.2" pre konfiguráciu vyvinutú na platforme "1C:Enterprise" 8.2.19.130
  • Rozhranie pre taxi pre konfiguráciu vyvinutú na platforme 1C:Enterprise 8.3.4.496 až 8.3.9+
  • Rozhranie pre taxi pre konfiguráciu vyvinutú na platforme 1C:Enterprise 8.3.10-8.3.11

Ako zobraziť správu používateľovi v 1C

Zobrazovanie správ v používateľskom režime rieši množstvo problémov:

  • odraz priebehu aktuálneho procesu (zobrazenie fázy procesu; zobrazenie vypočítaných hodnôt získaných počas prevádzky algoritmu);
  • vydávanie chýb užívateľovi na ich prípadnú opravu;
  • vydávanie odporúčaní;

Typy správ:

  • terminátory, ktoré zastavia vykonávanie programu a zabraňujú jeho pokračovaniu, kým si používateľ neprečíta túto správu a nevykoná určité akcie. Používateľovi sa napríklad na obrazovke zobrazí otázka, na ktorú bude musieť odpovedať Áno alebo Nie. Kým používateľ neodpovie, program nevykonáva ďalšie akcie;
  • úvodné správy, ktoré sa používateľovi jednoducho zobrazia a umožnia mu ďalej pracovať (t.j. používajú sa v režime upozornenia).

Správy o ukončení by mali byť chybové správy a úvodné správy: odporúčania, správy o aktuálnej fáze procesu a zobrazenie vypočítaných hodnôt (tlač ladenia).

Úvodné správy majú používateľovi poskytnúť nejaké informácie.

Je potrebné, aby si ju používateľ prečítal a prípadne vykonal nejaké akcie, ktoré sú popísané v tejto správe.

Je veľmi dôležité, aby si používateľ tieto správy skutočne prečítal, preto by mali obsahovať iba dôležité informácie.

Testovacie a ladiace správy by sa nemali odosielať používateľovi, pretože skôr či neskôr začne ignorovať úplne všetky správy.

V koncepte riadeného rozhrania sa trochu zmenil prístup k vydávaniu správy. Teraz sa viaže na formu, v ktorej vznikol. Už sa nedá zavrieť, aby bol text úplne neviditeľný.

Nie je možné odopnúť schránku správy z formulára.

Syntax funkcie:

Ohlásiť (<Текст сообщения>, <Статус>)

Tie. prvým parametrom je samotný text.

Druhý parameter (stav správy) je voliteľný. Môžete zadať hodnoty pre stav: Normálne, Dôležité, Veľmi dôležité atď.

Od daná hodnota závisí od toho, ktorá ikona bude umiestnená vedľa správy. Toto však funguje iba v bežnom rozhraní.

V koncepcii riadeného rozhrania je ikona vždy vo forme výkričník, nie je možné ho prepísať.

Faktom je, že ak sa správa vygeneruje v čase písania prvku slovníka, môže nastať nasledujúca situácia.

Používateľ klikne na tlačidlo Napíšte a zatvorte, v tomto prípade sa správa zobrazí v príslušnom okne (vpravo od formulára).

Formulár sa však okamžite zatvorí a používateľ neuvidí, že sa mu zobrazili nejaké informácie.

Preto sa v koncepte riadenej aplikácie odporúča zobrazovať informačné správy pomocou takzvaných notifikácií. Príklad nesprávneho použitia funkcie Ohlásiť znázornené na obrázku.

Avšak funkcia Ohlásiť možno použiť na zobrazenie informácií o niektorých chybách, napríklad v čase zaúčtovania dokladu.

V takom prípade môže systém povedať systému, že formulár nie je potrebné zatvárať, a ukázať používateľovi, aké chyby sa vyskytujú pri zaúčtovaní dokladu.

Funkcia Ohlásiť plne podporované v platforme 8.3. Dá sa použiť a bude fungovať (ako vo verzii súboru, tak aj vo verzii klient-server).

Ale treba tiež poznamenať, že funkcia Ohlásiť je tu ďalší vývoj - ide o triedu správ pre používateľa, ktorá umožňuje okrem zobrazenia správy ju aj kontextovo viazať na ľubovoľné prvky formulára.

Napríklad k prvku formulára možno pripojiť chybové hlásenie, ktoré je pre používateľa veľmi viditeľné. K tejto problematike sa vrátime trochu neskôr. Funkcia Ohlásiť je tam zaujímavá vlastnosť.

Programový kód na platforme 8.3 je teda možné spustiť na strane klienta aj na strane servera.

V tomto prípade je za interakciu s používateľom zodpovedný kód klientskeho programu, t.j. na strane klienta sa otvárajú formuláre, zobrazujú sa zostavy.

Rôzne dialógové dokumenty sa tiež zobrazujú iba na klientovi. Na serveri ich nemožno spustiť, pretože server nemá možnosť interakcie s používateľmi.

Ale funkcia Ohlásiť je možné vykonať na strane klienta aj na strane servera. Avšak pomocou metódy Ohlásiť na Serveri vôbec neznamená, že sa správa zobrazí na Serveri, jednoducho ich nie je kde zobraziť.

To znamená, že ak pomocou tejto metódy zobrazíme správu v procedúre servera, nahromadia sa v nejakom bufferi a na obrazovke sa zobrazia až po ukončení serverovej procedúry a jej návrate ku Klientovi.

V tomto bode si systém vyžiada údaje z vyrovnávacej pamäte a zobrazí ich na obrazovke.

Rovnaká funkcia platí pre triedu MessageToUser. Obrázok ukazuje príklad použitia metódy Ohlásiť na strane servera.

V dôsledku použitia metódy Ohlásiť na strane servera sa správy zobrazovali na obrazovke na strane klienta.

Notifikačný mechanizmus je potrebný na informovanie používateľa, že sa „niečo“ v systéme stalo a toto „niečo“ si vyžaduje pozornosť používateľa. Upozornenia sú generované dvoma scenármi:

  1. Samotnou platformou pri interaktívnom písaní alebo úprave objektu
  2. Vývojár pri volaní kódu metódy .

Samotné upozornenie je malé okno, ktoré sa spravidla zobrazuje v pravom dolnom rohu a informuje o vykonanej akcii. V priebehu niekoľkých sekúnd postupne zhasne a zmizne. Zároveň, ak na notifikáciu prejdete kurzorom myši, nezhasne a môžete si ju pozorne prečítať.

Okrem toho je možné pristupovať k upozorneniam v zodpovedajúcej oblasti informačného panela (tlačidlo „História“ v ľavej dolnej časti formulára žiadosti v možnosti rozhrania „Verzia 8.2“).

Ak chcete vytvoriť svoje vlastné upozornenia, musíte použiť metódu globálneho kontextu ShowUserAlert(). Jeho syntax pred revíziou 8.3.10 je nasledovná:

Zobraziť upozornenie používateľa (<Текст>, <НавигационнаяССылка>, <Пояснение>, <Картинка>)

Prvým parametrom je text, ktorý sa zobrazí v upozornení.

Ďalej, ako druhý parameter, môžete odovzdať nejaký navigačný odkaz na akýkoľvek prvok informačnú základňu(prvok, ktorý sa zhoduje s textom našej správy). Keď používateľ klikne na upozornenie, bude presmerovaný na daný odkaz.

Pomocou tretieho parametra môžete odovzdať vysvetlenie správy, t.j. nejaký rozšírený popis.

Môžete tiež priradiť obrázok, ktorý zobrazuje stav upozornenia.

Upozorňujeme, že všetky tieto parametre sú voliteľné. Nižšie je uvedený príklad použitia túto metódu(v konfigurátore a v užívateľskom režime vo verzii rozhrania "Verzia 8.2").

Vo verzii 8.3.10.216 platformy pre rozhranie vo verzii „Taxi“ bol výrazne vylepšený notifikačný mechanizmus s cieľom zlepšiť použiteľnosť tenkých aj webových klientov. Z tohto dôvodu sa zmenili aj parametre odovzdávané metóde. ShowUserAlert(). Teraz syntax vyzerá takto:

ShowUserAlert(<Текст>, <ДействиеПриНажатии>, <Пояснение>, <Картинка>, <СтатусОповещенияПользователя>, <КлючУникальности>)

Je vidieť, že druhý parameter, predtým tzv Navigačný odkaz, dostal nové meno ActionOnPress. Dôvodom je skutočnosť, že teraz je možné odovzdať mu nielen reťazec s navigačným odkazom, ale aj popis upozornenia. Je to znázornené na snímke obrazovky nižšie:

Ako môžete vidieť z príkladu, teraz máme možnosť programovo zvládnuť klikanie na okno s upozornením, podľa logiky, ktorá je potrebná.

Ďalší parameter StatusAlertUser sa objavil po prvýkrát. Označuje stav upozornenia (Informácie alebo Dôležité).

V prípade možnosti Dôležité, ak používateľ na správu nereagoval, po jej skrytí z obrazovky si ju možno prečítať cez Centrum upozornení (viac o tom nižšie). V prípade voľby Informácie sa notifikácia vymaže bez uloženia v tomto centre. Prepíšme kód z nášho príkladu, ako je uvedené nižšie:

Po vykonaní príkazu dostaneme približne nasledujúci pohľad na okno aplikácie:

V paneli nástrojov sa objavilo tlačidlo s ikonou zvončeka, ktoré vyvoláva vyššie spomínané Centrum upozornení. Zhromažďuje nové dôležité upozornenia, na ktoré používateľ ešte nereagoval.

Ak sú v strede nejaké upozornenia, zobrazí sa vedľa nich malá oranžová bodka, ktorá upúta pozornosť používateľa. Používateľ môže otvoriť Centrum upozornení, prečítať si text a v prípade potreby vykonať nejakú akciu.

Upozornenie sa z Centra odstráni kliknutím na tlačidlo vymazať, ak je však s upozornením spojená nejaká akcia, tak akonáhle používateľ klikne na text správy, tiež zmizne.

A nakoniec bol posledný pridaný parameter Kľúč Jedinečnosť. Môžete ho použiť na nájdenie upozornenia zobrazeného na obrazovke a jeho zmenu. Ak neexistuje žiadne upozornenie s týmto parametrom, zobrazí sa nové upozornenie.

Ako vidíte, možnosti, ktoré poskytuje zodpovedajúca metóda, sú ešte väčšie! Ale to nie sú všetky zmeny v mechanizme oznamovania.

Ako ste si už určite všimli, ich vzhľad. Upozornenia teraz vyzerajú modernejšie a ergonomickejšie, no nemožno ich presúvať po obrazovke ani meniť ich veľkosť. Upozorňujeme, že v našom príklade sa text upozornenia jednoducho nezmestil celý do samotného okna a používateľ si ho môže celý prečítať iba otvorením Centra upozornení. Preto nie je potrebné do textu oznámenia písať veľké množstvo textu.

Medzi nové funkcie patrí aj súčasné zobrazenie až troch upozornení na obrazovke.

Týmto končíme naše zoznámenie s programovým generovaním upozornení. Pamätajte však, že upozornenia negeneruje iba vývojár programovo, ale aj samotná platforma v čase interaktívneho písania alebo zmeny objektu. A táto skutočnosť často spôsobuje nedorozumenie predovšetkým medzi začínajúcimi používateľmi: prečo potrebujeme tieto upozornenia služby, ktoré sa mimochodom nedajú vypnúť?

Predstavme si takú jednoduchú situáciu: používateľ si pre pohodlie nastavil filter v nejakom zozname. Povedzme, že to urobil vo forme referenčného zoznamu nomenklatúry. Potom som sa po nejakom čase rozhodol zaviesť nový prvok s názvom „Stolička“, ktorý nezodpovedá predtým nastavenému filtru. Zadá sa, zapíše a ...? A nevidí to v zozname. Čo urobí bežný používateľ? Samozrejme, že do nej vstúpi aj druhýkrát, no už ju neuvidí. Môže nasledovať tretí, štvrtý, piaty raz. Keď ho omrzí vstupovať do toho istého, nakoniec sa vás opýta: kam to všetko mizne?

To je dôvod, prečo platforma zobrazuje tieto servisné upozornenia a informuje používateľa, že jeho akcia bola dokončená. V našom príklade sa používateľovi v čase interaktívneho záznamu zobrazí nasledujúce upozornenie:

Správy o ukončení

Ukončovacie správy sú tie správy, ktoré vám neumožnia pracovať, kým používateľ nevykoná určité úkony, t.j. kým správu nespracuje.

O možnosti použitia ukončovacích správ v platforme 8.3 si povieme o niečo neskôr (v poslednej dobe sa ich snažia nepoužívať, takže uvažovaný príklad sa týka skôr platformy 8.2).

Existujú dva spôsoby vydávania správ o ukončení Pozor a Otázka. Pozor sa líši od otázka pretože má jediné tlačidlo OK.

Otázka môže mať rôzne sady možností odpovede ( Nie naozaj, ÁnoNieZrušiť, OK, OKZrušiť, Opakovať Zrušiť, AbortRetrySkip), ktoré sa nastavujú pomocou parametra.

Ukážme nejaký druh varovania pomocou reťazca (napríklad v module spravovanej aplikácie):

Alert("Základňa bude teraz otvorená");

Ak chcete otvoriť modul riadenej aplikácie, vyberte objekt v strome konfigurácie Konfigurácia, vyvolajte kontextové menu a vyberte položku Otvorte modul spravovanej aplikácie.

V tomto prípade sa pri spustení aplikácie zobrazí okno, ktoré je modálne. Modálne okno prekrýva všetky okná, ktoré existujú v aplikácii. Kým toto okno nespracujeme, nie je možná žiadna ďalšia akcia.

Funkcia funguje rovnakým spôsobom. Otázka.

Syntax:
otázka(<ТекстВопроса>,<Кнопки>,<Таймаут>,<КнопкаПоУмолчанию>,<Заголовок>,
<КнопкаТаймаута>);

Vyžadujú sa iba prvé dva parametre. Pre druhý parameter je typ údajov zložený ( Režim dialógu Otázka alebo Zoznam hodnôt). Tretí parameter ( <Таймаут> ) charakterizuje časový interval v sekundách, počas ktorého bude systém čakať na odpoveď používateľa.

Po uplynutí intervalu sa okno s otázkami zatvorí. Podobný parameter ( <Таймаут> ) funkciu má tiež Pozor.

Ako príklad použitia funkcie Otázka Môžete použiť nasledujúci kód napísaný v module riadenej aplikácie:

Upozorňujeme, že tieto metódy Pozor a Otázka) nie sú dostupné na Serveri. A to je logické, pretože metódy rozhrania nemožno vykonávať na serveri, kde nie je žiadny používateľ.

Funkcie používania modálnych okien na platforme 8.3

V platforme 8.3 existujú režimy prevádzky s použitím modality a bez nej. Predvolené nastavenie je Nepoužívať režim modality.

V tomto prípade nemožno použiť správy o ukončení. Ak je potrebné použiť ukončovacie správy (funkcie Pozor a Otázka) mali by ste zmeniť hodnotu konfiguračnej vlastnosti na Použite.

Modálne okno je zobrazené úplne hore a blokuje prácu s ostatnými oknami, kým sa modálne okno nedokončí. Okrem toho sa vykonávanie programového kódu zastaví na mieste, kde sa toto okno volá. Vykonávanie kódu bude pokračovať až po zatvorení modálneho okna.

Po prvé, existujú problémy s používaním modálnych okien pre mobilná aplikácia. Po druhé, v prehliadači sa modalita okien implementuje pomocou samostatných kontextových okien.

Vyskakovacie okná sú v predvolených nastaveniach prehliadača často zakázané. Používateľ musí byť nútený nastaviť povolenia pre tieto okná.

Prehliadače pre tablety a telefóny vo väčšine prípadov vyskakovacie okná vôbec nepodporujú.

Na nahradenie funkcií Otázka a Pozor boli vyvinuté nové metódy: ShowQuestion, ShowWarning.

Tieto metódy umožňujú zavolať okno, ale nezastavia vykonávanie programového kódu. Technicky sa to realizuje vytvorením pseudo-okna vo vnútri nadradeného okna. Pseudookno neprekrýva nadradené okno. Po otvorení takéhoto okna pokračuje vykonávanie kódu.

Príjem a spracovanie hodnôt zadaných používateľom sa vykonáva v samostatnom postupe, ktorý sa volá po zatvorení dialógového okna.

Syntax funkcie ShowWarning:

ShowWarning(<ОписаниеОповещенияОЗавершении>, <ТекстПредупреждения>, <Таймаут>, <Заголовок>)

Parameter <ОписаниеОповещенияОЗавершении> (voliteľné)

Dátový typ: PopisUpozornenia.

Obsahuje popis procedúry, ktorá bude vyvolaná po zatvorení varovného okna.

Syntax funkcie ShowQuestion:

ShowQuestion(<ОписаниеОповещенияОЗавершении>, <ТекстВопроса>, <Кнопки>, <Таймаут>, <КнопкаПоУмолчанию>, <Заголовок>, <КнопкаТаймаута>)

Prvé tri parametre sú povinné.

Nižšie je uvedený príklad použitia funkcie.

Trieda MessageToUser

Hlavné pohodlie triedy správ MessageToUser je, že ide o kontextovú správu (na rozdiel od metód Pozor a Otázka).

Správy môžu byť viazané na konkrétny prvok obrazovky. Tento objekt je dostupný aj na Serveri.

Treba poznamenať, že po prvé, daný objekt je potrebné vytvoriť. Napríklad: Správa = New MessageToUser;

Takto vytvoríme inštanciu tohto objektu.

Po druhé, musíte napísať text správy do samostatnej vlastnosti.

Po tretie, v nehnuteľnosti Lúka Môžete určiť, ku ktorému prvku formulára má byť daná správa pripojená.

Pozor! Ak sa chcete naviazať na požadované pole formulára, venujte pozornosť inicializácii vlastností PathToData a DataKey. Pre dokument môžete pri umiestňovaní kódu do objektového modulu napísať:

Message.DataPath = “Objekt”;
Message.DataKey = ThisObject.Reference;

Na otvorenie modulu dokumentu v okne úpravy objektu (dokumentu) na karte Iné kliknite na tlačidlo Objektový modul.

Pre experiment umiestnime kód do objektového modulu ľubovoľného dokumentu.

Nižšie je uvedený výsledok získaný v používateľskom režime pre platformu 8.3.

Je potrebné poznamenať, že správy zobrazené pomocou nového systémového objektu MessageToUser vo všeobecnosti nekončia. Tie. systém umožní užívateľovi pokračovať v ďalších akciách bez toho, aby reagoval na zobrazené správy.

Po prvé, tieto správy sú celkom viditeľné. Po druhé, správy sa zvyčajne zobrazujú používateľovi v čase zaznamenávania prvkov adresárov alebo zaúčtovania dokladov, t. j. keď sa vykonávajú nejaké kontroly. A ak sa zistia chyby, používateľovi sa zobrazia rovnaké správy.

V súlade s tým je v čase zistenia chýb transakcia zrušená, t.j. je zakázané zaznamenávať prvok adresára, alebo je zakázané zaúčtovať dokument.

Prebieha teda akási emulácia ukončovacej správy. Keďže akcia je zrušená, kým používateľ neodpovie na vstupnú správu, nebude možné akciu dokončiť, ako je napríklad posunutie dokumentu.

Ale na druhej strane je možné dokument zavrieť bez držania, bez toho, aby ste na správu akokoľvek reagovali. Preto tieto správy pre používateľa nie sú ukončené.

Oznámenie o stave procesu

Existuje špeciálna funkcia, pomocou ktorej môžete zobraziť približný priebeh procesu.

Syntax: Štát(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Parametre:<ТекстСообщения>a<Пояснение>– voliteľné, typ – Linka.
Text sa zobrazuje na špeciálnom stavovom riadku.
<Прогресс>parameter je tiež voliteľný, ale je popisný.
Typ: číslo. Hodnota ukazovateľa priebehu (od 1 do 100).
<Картинка>tiež voliteľný parameter.
Pri spracovaní akejkoľvek udalosti možno použiť periodické volania funkcií typu:

V tomto prípade sa môžu nápisy zmeniť a hodnoty parametra Progress sa môžu zmeniť.

Funkciu je možné volať z jednej procedúry (funkcie) aj z viacerých. Týmto spôsobom môžete sledovať stav vykonávania procesu.

Ak sa chcete dozvedieť viac o mechanizme upozornení, dajte si teraz pauzu a prečítajte si náš nový článok Ukazujeme priebeh dlhotrvajúcich operácií v 8.3.10. Na úrovni začiatočníka už nevysvetľuje všetky jemnosti a úskalia fungovania tohto mechanizmu.

Dokončujeme oboznámenie sa so spôsobmi informovania užívateľa. Dúfame, že chápete, v ktorých situáciách by sa mala použiť jedna alebo druhá metóda.

Chcel by som ešte raz zamerať vašu pozornosť na skutočnosť, že ak vaša konfigurácia (verzia 8.3.3+) zahŕňa prácu s webovým klientom, potom:

  • na úrovni konfigurácie musí byť nastavené nastavenie režimu modality "Nepoužívať".
  • kód musí používať metódy asynchrónneho modelu interakcie používateľa. Takéto metódy začínajú slovami Šou alebo Začať.

Viac podrobností o odmietnutí používania modálnych okien v platforme 1C: Enterprise 8.3 nájdete v poslednom článku cyklu. A ideme ďalej a nakoniec pristúpime k štúdiu dlho očakávaného rozhrania Taxi, ktoré už bolo v našich materiáloch spomenuté viackrát.

Vývoj je navrhnutý tak, aby upozorňoval používateľov selektívne aj všetkých, môžete tiež len písať správy alebo korešpondovať medzi používateľmi.

Vývoj je register informácií a zmeny v riadenom alebo bežnom aplikačnom module.
Ak chcete spustiť upozornenie, musíte pridať záznam do registra informácií, používatelia budú dostávať upozornenia v stanovenom období medzi začiatkom a koncom času upozornenia.

SPRÁVANÁ APLIKÁCIA

BEŽNÁ APLIKÁCIA

Zobrazí sa výstražné okno v užívateľskom programe blokuje celé rozhranie a používatelia pracujúci v tento moment programu upozornenie neunikne a podľa toho si ho prečíta.

SPRÁVANÁ APLIKÁCIA

BEŽNÁ APLIKÁCIA

Registrovať zoznam

V zozname upozornení môžete vidieť, kto dostal upozornenie a kto si ho prečítal.

SPRÁVANÁ APLIKÁCIA

BEŽNÁ APLIKÁCIA

Ak chcete implementovať vývoj vo svojej konfigurácii, musíte:

  1. Nastavte možnosť úpravy konfigurácie.
  2. Porovnajte s konfiguráciou dodanou v tejto publikácii. Tým sa pridá register informácií používateľských upozornení a položka v riadnom alebo riadenom aplikačnom module, v závislosti od primárneho režimu spustenia aplikácie.

    Vstup modulu bežnej alebo riadenej aplikácie je odlišný:

    SPRÁVANÁ APLIKÁCIA

SystemStartup Procedure() //Úprava typickej konfigurácie pre informovanie používateľov programu (odoslanie správy ľubovoľnému používateľovi) //Vhodné pre všetky konfigurácie ConnectWaitingHandler("modNotificationProcessingHandler", 60); EndProcedure // AtSystemStart() //Úprava typickej konfigurácie na upozorňovanie používateľov programu (odoslanie správy akémukoľvek používateľovi) //Vhodné pre všetky konfigurácie //Volanie obsluhy čakania pokračuje, kým sa formulár nezavrie //alebo kým sa metóda formulára sa nazýva Mod procedureAlertProcessHandler( ) Export MessageToUser = GetForm("InformationRegister.UserAlerts.Form.SendFormControl").GetNotificationProcessingMessages(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.UserAlerts.Form.AlertControl"); If Not Form.Open() Then FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.Open(); Inak Form.Activate(); Koniec Ak; Koniec Ak; Koniec procedúry ŠTANDARDNÁ APLIKÁCIA SystemStartProcedure() //Upravte predvolenú konfiguráciu na upozornenie používateľov programu (odoslanie správy akémukoľvek používateľovi) //Vhodné pre všetky konfigurácie ConnectWaitingHandler("modAlertProcessingHandler", 60); EndProcedure // AtSystemStart() //Úprava typickej konfigurácie na upozorňovanie používateľov programu (odoslanie správy akémukoľvek používateľovi) //Vhodné pre všetky konfigurácie //Volanie obsluhy čakania pokračuje, kým sa formulár nezavrie //alebo kým sa metóda formulára sa nazýva Mod procedureAlertProcessHandler( ) Export MessageToUser = RegistersInformation.AlertUser.GetMessageProcessingNotification(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.UserAlerts.Form.AlertUsual"); If Not Form.Open() Then FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.OpenModal(); Inak Form.Activate(); Koniec Ak; Koniec Ak; EndProcedure

Realizácia vývoja je bezplatná, zrealizovaná do 10 minút.

Bezplatná technická podpora na 30 dní.
V

Vývoj je určený pre platformu 8.3, rôzne štandardné a neštandardné konfigurácie, v režimoch tenkého, hrubého klienta a webového klienta.

Vlastné zlepšenie je možné, kód je otvorený na úpravu.

Dôvody na kúpu

Veľmi pohodlná možnosť upozornenia, upozornenia používateľov 1C o technickej práci, vylepšenia konfigurácie, aktualizácie, schopnosť korešpondovať medzi používateľmi 1C v rámci 1. programu.

Výhody

1) 100% doručenie upozornení všetkým používateľom, na rozdiel od analógov.
2) Schopnosť posielať obrázky.
3) Zobrazte aktivitu používateľa v zozname správ (komu bola doručená, kto si ju prečítal).
4) Možnosť napísať odpoveď odosielateľovi oznámenia.
5) Neovplyvňuje iné objekty pri aktualizácii konfigurácií s nainštalovanou možnosťou úprav.

Garancia vrátenia peňazí

Infostart LLC vám garantuje 100% vrátenie peňazí, ak program nezodpovedá deklarovanej funkčnosti z popisu. Peniaze je možné vrátiť v plnej výške, ak to prihlásite do 14 dní odo dňa prijatia peňazí na náš účet.

Program je tak testovaný v práci, že môžeme poskytnúť takúto záruku s plnou dôverou. Chceme, aby boli všetci naši zákazníci s nákupom spokojní.

Počas hodiny sme: vytvorili databázu, vytvorili spracovanie, vytvorili formulár.

Teraz vám povieme 5 spôsobov správ od 1C "Ahoj svet!"

Nie každý vie aspoň o dvoch metódach 🙂

Ako a kde napísať text programu?

Prepnite sa na záložku okna s formulárom "Modul". Uistíte sa, že tam už máte nejaký text („Postup...“).

Ak tam nie je žiadny text, potom:

  • V hrubom klientovi ste nesprávne pridali formulár do spracovania, opakujte od začiatku
  • V tenkého klienta Zabudli ste pridať tlačidlo, opakujte od začiatku.

Vo vnútri textu je riadok:

// Vloženie obsahu obslužného programu

Vašou úlohou je vymazať tento riadok a namiesto neho zadať text programu. Potom uložte spracovanie a otvorte ho v podnikovom režime.

Po kliknutí na tlačidlo Spustiť sa teraz vykonajú zadané akcie.

A teraz prejdime k samotným metódam!

Správa v 1C, metóda 1 - najjednoduchšia

Takže by ste mali namiesto textu "// Vložiť obsah obslužného programu." napíšte text programu.

alert("Ahoj svet!");

Vlastne to je všetko 🙂

Správa v režime Enterprise v hrubom klientovi bude v spodnej časti okna 1C, v tenkom klientovi - vpravo v okne spracovania.

Toto je najjednoduchší spôsob a programátori ho veľmi často využívajú.

Správa v 1C, metóda 2 - tiež jednoduchá

alert("Ahoj svet!");

Vlastne to je všetko 🙂

Správa v režime Enterprise v oboch možnostiach klienta bude v kontextovom okne.

Správa v 1C, metóda 3 - objavila sa iba vo verzii 1C 8.2

ShowUserAlert("Ahoj svet!","Naozaj ahoj!");

Táto metóda sa objavila iba v 1C verzii 8.2. Toto je vyskakovacie okno v pravom dolnom rohu obrazovky, ktoré časom zmizne.

Správa v 1C, metóda 4 - programátor

Hoď "Ahoj svet!"Výnimka;

Pri spúšťaní akéhokoľvek programu sa môže vyskytnúť chyba. Niekedy je možné túto chybu vypočítať vopred (napríklad musíte vypočítať a = b/c av čase vykonávania programu sa ukázalo, že c sa rovná 0).

V tomto prípade existuje spôsob, ako nahlásiť chybu týmto spôsobom.

Správa v 1C, metóda 5 - technologická, len pre typickú konfiguráciu

General Purpose.ReportError("Ahoj svet!");

Programátor 1C musí poznať nielen tie programovacie metódy, ktoré sú v platforme 1C, ale aj tie, ktoré sú v typické konfigurácie.

Začiatočníci, keď sa pokúšajú pridať akúkoľvek typickú konfiguráciu, začnú znovu objavovať koleso.

Tu je skvelý príklad. Táto funkcia je prítomná v mnohých typických konfiguráciách (iba pre hrubého klienta!). Zdá sa, že výsledok sa rovná účinku metódy 1.
Nie však - v niektorých konfiguráciách (napr. SCP) sú chybové hlásenia v protokole duplikované. Tiež pri dodatočné nastavenie správa vyzerá úplne inak.

Takže teraz sa môžete cítiť ako skutočný programátor!

O tom je programovanie 1C. Samozrejme, skutočné programovanie je oveľa komplikovanejšie a vyžaduje si veľa vedomostí, ale teraz máte všeobecnú predstavu.

Veľa štastia!

P.S. V pdf verzia Snímky obrazovky lekcie sú uvedené na uľahčenie vytvárania vlastnej skúsenosti.

P.P.S. K lekcii je uvedených 5 videí s ukážkami tvorby základu pre programovanie, tvorby spracovania, programovania v hrubom a tenkom klientovi.

V programoch založených na platforme 1C:Enterprise môže byť správa zobrazená používateľovi rôznymi spôsobmi.

1. Spôsob ShowWarning.

ShowWarning(< ОписаниеОповещенияОЗавершении> , < ТекстПредупреждения> , < Таймаут> , < Заголовок> )

Pri použití tohto dizajnu sa v strede programového rozhrania zobrazí varovné okno.

Parametre:

PopisUpozorneniaDokončené(voliteľné)
Typ: PopisUpozornenia. Obsahuje popis procedúry, ktorá sa zavolá po zatvorení varovného okna s nasledujúcimi parametrami: AdditionalParameters - hodnota, ktorá bola zadaná pri vytváraní objektu AlertDescription. Ak parameter nie je zadaný, po dokončení sa nevyvolá žiadna procedúra.

TextWarnings(požadovaný)
Typ: Reťazec; FormattedString. Text upozornenia.

Časový limit (voliteľné)
Typ: Číslo. Časový interval v sekundách, počas ktorého bude systém čakať na odpoveď užívateľa. Po uplynutí intervalu sa varovné okno zatvorí. Ak parameter nie je zadaný, časový limit je neobmedzený. Ak je parameter záporný, vyvolá sa výnimka. Predvolená hodnota: 0.

názov (voliteľné)
Typ: Reťazec. Obsahuje názov výstražného okna. Popis: Zobrazí okno s upozornením, ale nečaká na jeho zatvorenie.

Dostupnosť: Tenký klient, webový klient, hrubý klient, mobilná aplikácia (klient).

Poznámka: Ak sa má nejaký kód vykonať po tom, čo používateľ zatvorí okno s upozornením, musí byť umiestnený v samostatnom module a opísaný v parametri.

2. Spôsob varovania.

V strede programového rozhrania sa zobrazí varovné okno. Ak však vlastnosť konfigurácie ModeUseModality je nastavená na Nepoužívať , potom metóda nefunguje.

Dostupnosť: Tenký klient, webový klient, mobilný klient, hrubý klient, mobilná aplikácia (klient).

3. Metóda ShowAlertUser.

ShowUserAlert(< Текст> , < ДействиеПриНажатии> , < Пояснение> , < Картинка> , < СтатусОповещенияПользователя> , < КлючУникальности> )

Pri použití tejto metódy sa v pravom dolnom rohu rozhrania zobrazí správa.

Dostupnosť: tenký klient, webový klient, hrubý klient.

4. Spôsob správy.

Ohlásiť(< ТекстСообщения> , < Статус> )

Dostupnosť: tenký klient, webový klient, mobilný klient, server, hrubý klient, externé pripojenie, mobilná aplikácia (klient), mobilná aplikácia (server).

5. Objekt MessageToUser.

Navrhnuté na ukladanie parametrov správy, ktoré je potrebné zobraziť používateľovi. Ak správa ešte nebola zobrazená používateľovi (môže sa to stať pri práci na strane servera, v práca na pozadí, vonkajšie spojenie alebo webové služby), môžete získať nahromadené správy pomocou tejto metódy GetMessagesUser.

Vlastnosti: ID destinácie(TargetID); Dátový kľúč (DataKey); Pole (Pole); Datapath (DataPath); Text.

Metódy: Správa (správa); InstallData(SetData).

Správa sa zobrazí v spodnej časti rozhrania v riadku.

Správa = New MessageToUser() ; Správa. Text = "Nedostatok nomenklatúry"; Správa. Pole = "Nomenklatúra. Množstvo"; Správa. SetData(DataObject) ; Správa. Ohlásiť() ;

Implementované vo verzii 8.3.10.2168.

Vylepšili sme mechanizmus upozornení používateľov. Teraz je rovnako pohodlné používať v tenkom aj vo webovom klientovi. Prepracovali sme vzhľad upozornení a pridali sme k nim množstvo nových funkcií.

Zobraziť viacero upozornení

V starej implementácii sa na obrazovke naraz zobrazovalo iba jedno upozornenie. Nové upozornenie sa prekrývalo s predchádzajúcim. Ak by sa teda zobrazilo viacero upozornení za sebou, potom bola vysoká pravdepodobnosť, že používateľ si predchádzajúce upozornenie nestihne prečítať, pretože ho zablokuje ďalšie.

Teraz sa vo väčšine prípadov môžu súčasne zobraziť až tri upozornenia:

To platí pre tenkého klienta, hrubého klienta a webového klienta spusteného v prehliadačoch. internet Explorer a Google Chrome . Prehliadače safari a Mozilla Firefox vám umožní zobraziť neobmedzený počet upozornení a prehliadač Microsoft Edge zobrazuje posledné upozornenie, ale má Akčné centrum, kde sú duplikované všetky upozornenia.

Zobrazovať upozornenia, keď je okno aplikácie neaktívne

Predtým webový klient zobrazoval upozornenia iba v aktívnom okne prehliadača. Ak používateľ prešiel do iného okna alebo inej aplikácie, upozornenie sa mu nezobrazilo. Teraz, keď používate webového klienta, upozornenia sa zobrazujú na obrazovke aj vtedy, keď je okno aplikácie minimalizované alebo neaktívne.

Prvýkrát sa volá metóda ShowUserAlert() vo webovom klientovi Google Chrome, Mozilla Firefox a safari prehliadač požiada používateľa o povolenie používať upozornenia. Užívateľ môže povoliť ich výstup pre túto aplikáciu alebo zakázať.

Ak používateľ zakáže upozornenia, použije sa nový typ upozornení, ktoré sa však vykreslia v okne prehliadača.

Centrum upozornení

Aby sme zabránili tomu, aby upozornenia navždy zmizli, implementovali sme výstražné centrum. A pre samotné upozornenia sme implementovali novú vlastnosť - StatusAlertUser. Môže nadobudnúť dve hodnoty: Informácie a Dôležité.

Stavové upozornenia Informácie sa zobrazia na obrazovke a po 10 sekundách zmiznú (v prehliadači Microsoft Edge– po 4 sekundách). Stavové upozornenia Dôležité správajú sa úplne rovnako, ale sú uložené v centre výstrah.

Centrum upozornení je dostupné z panela s nástrojmi. Skutočnosť, že existujú nové dôležité upozornenia, signalizuje oranžová bodka vedľa ikony.

Centrum upozornení zobrazuje dôležité upozornenia, na ktoré používateľ ešte nereagoval zatvorením alebo vykonaním akcie spojenej s upozornením. Upozornenia sú uvedené v poradí, v akom sa zobrazujú, najnovšie navrchu. Aj keď teda používateľ odíde od počítača, neuniknú mu dôležité upozornenia.

Oznámenie je možné zo zoznamu odstrániť tlačidlom vymazať. Ak je s notifikáciou spojená nejaká akcia, tak po kliknutí na text notifikácie tiež zmizne. tím Vymazať upozornenia odstráni všetky upozornenia zo zoznamu. Zároveň, ak boli akcie spojené s upozorneniami, nevykonávajú sa.

Vykonajte akcie po kliknutí

V starej implementácii bolo jedinou akciou, ktorú bolo možné vykonať po kliknutí na upozornenie, nasledovať navigačný odkaz. Bol odovzdaný metóde ako druhý parameter.

<Текст>, <НавигационнаяСсылка>, …

Teraz sme rozšírili možnosti upozornení a v druhom parametri môžete odovzdať nielen reťazec s navigačným odkazom, ale aj popis upozornenia.

ShowUserAlert(<Текст>, <ДействиеПриНажатии>, …

Opis výstrahy označuje postup, ktorý sa má vykonať po kliknutí na výstrahu.

Vzhľad

V tenkom klientovi vo variante rozhrania Taxištýl upozornení sa bude čo najviac približovať štýlu upozornení prehliadača Google Chrome použitím Rozhranie API pre upozornenia.


Ak sa použije možnosť rozhrania Verzia 8.2, štýl a správanie upozornení zostávajú rovnaké.

Vo webovom klientovi je vzhľad upozornení určený prehliadačom, ktorý používate. Vo všeobecnosti budú upozornenia vyzerať rovnako ako v tenkom klientovi, ale každý prehliadač má svoje vlastné charakteristiky. Môžete napríklad porovnať, ako sa budú zobrazovať rovnaké upozornenia internet Explorer a Mozilla Firefox.


Okrem toho existujú ďalšie funkcie. Napríklad v prehliadači internet Explorer sú podporované iba upozornenia zobrazené v okne aplikácie. A v prehliadači safari parameter Obrázok nie je podporované a upozornenia sa zobrazujú v hornej časti obrazovky.