1s 8.3 kontextová správa pre používateľa. Oznámenie o stave procesu

V programoch 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 rozhrania programu zobrazí varovné okno.

Možnosti:

PopisÚplné upozornenia(voliteľné)
Typ: PopisUpozornenia. Obsahuje popis procedúry, ktorá bude vyvolaná po zatvorení výstražného okna s nasledovnými parametrami: Ďalšie parametre - hodnota, ktorá bola zadaná pri vytváraní objektu Popis výstrahy. Ak parameter nie je zadaný, po dokončení sa nevyvolá žiadna procedúra.

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

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

Názov (voliteľné)
Typ: Reťazec. Obsahuje názov okna s upozornením. 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 musí po zatvorení varovného okna používateľom vykonať nejaký kód, musí byť umiestnený v samostatnom postupe modulu a opísaný v parametri.

2. Upozornenie na metódu.

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

Dostupnosť: tenký klient, webový klient, mobilného klienta, hrubý klient, mobilná aplikácia (klient).

3. Metóda ZobraziťUserAlert.

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 Správa používateľovi.

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

Vlastnosti: ID destinácie(TargetID); DataKey; Lúka; DataPath(DataPath); Text.

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

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

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

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

Vývoj je register informácií a zmeny v module riadenej alebo bežnej aplikácie.
Ak chcete spustiť upozornenie, musíte pridať záznam do informačného registra, užívatelia budú dostávať upozornenia počas určeného obdobia medzi začiatkom a koncom času upozornenia.

RIADENÁ APLIKÁCIA

PRAVIDELNÁ 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.

RIADENÁ APLIKÁCIA

PRAVIDELNÁ APLIKÁCIA

Registrovať zoznam

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

RIADENÁ APLIKÁCIA

PRAVIDELNÁ 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. V závislosti od primárneho režimu spustenia aplikácie sa pridá informačný register „Upozornenia používateľov“ a položka v module bežnej alebo riadenej aplikácie.

    Bežná alebo riadená položka aplikačného modulu sa líši:

    RIADENÁ APLIKÁCIA

Procedure When the System Starts() //Úprava štandardnej konfigurácie pre oznamovanie užívateľov programu (odoslanie správy ľubovoľnému užívateľovi) //Vhodné pre všetky konfigurácie ConnectWaitingHandler("modNotificationProcessingHandler", 60); Koniec procedúry // Keď sa systém spustí () // Úprava štandardnej konfigurácie na upozornenie používateľov programu (odoslanie správy ktorémukoľvek používateľovi) // Vhodné pre všetky konfigurácie // Volanie obsluhy čakania pokračuje, kým sa formulár nezatvorí // alebo kým sa metóda formulára nebude nazývať Procedure modNotificationProcessingHandler( ) Export Message to User = GetForm("Information Register.User Alerts.Form.ControlSubmissionForm").GetNotificationProcessingMessages(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertControl"); If Not Form.Open() Then FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.Open(); Else Form.Activate(); koniec Ak; koniec Ak; Koniec procedúry REGULAR APPLICATION Procedure When System Starts() //Úprava štandardnej konfigurácie pre oznamovanie užívateľov programu (odoslanie správy ľubovoľnému užívateľovi) //Vhodné pre všetky konfigurácie ConnectWaitingHandler("modNotificationProcessingHandler", 60); Koniec procedúry // Keď sa systém spustí () // Úprava štandardnej konfigurácie na upozornenie používateľov programu (odoslanie správy ktorémukoľvek používateľovi) // Vhodné pre všetky konfigurácie // Volanie obsluhy čakania pokračuje, kým sa formulár nezatvorí // alebo kým sa metóda formulára nezavolá Procedure modNotificationProcessingHandler( ) Export Message to User = Information Registers.User Alerts.GetNotificationProcessingMessages(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertUsual"); If Not Form.Open() Then FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.OpenModal(); Else Form.Activate(); koniec Ak; koniec Ak; Koniec procedúry

Realizácia vývoja je bezplatná a dokončená do 10 minút.

Bezplatná technická podpora na 30 dní.
IN

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.

Je možná nezávislá úprava, kód je otvorený na úpravu.

Dôvody na kúpu

Veľmi pohodlná možnosť varovania a upozornenia používateľov 1C technické práce, úpravy konfigurácií, 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 (kto bol doručený, kto čítal).
4) Možnosť napísať odpoveď osobe, ktorá poslala oznámenie.
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 môžu byť vrátené v plnej výške, ak o to požiadate do 14 dní od dátumu prijatia peňazí na náš účet.

Program je natoľko overený, že funguje, ž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 základ, 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?

Prejdite na kartu okna s formulárom „Modul“. Uistíte sa, že tam už nejaký text máte („Postup...“).

Ak tam nie je žiadny text, potom:

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

Vo vnútri textu je riadok:

// Vložte obsah handlera

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

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

Teraz prejdime k samotným metódam!

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

Takže namiesto textu „// Vložte obsah obslužného programu“. napíšte text programu.

Správa ("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.

Ide o najjednoduchšiu metódu, ktorú programátori veľmi často používajú.

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

Upozornenie ("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

Throw Exception "Ahoj, svet!";

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

V tomto prípade existuje spôsob, ako nahlásiť chybu pomocou tejto metódy.

Správa v 1C, metóda 5 - technologicky pokročilá, len pre štandardnú 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 štandardnú konfiguráciu, začnú znovu objavovať koleso.

Tu je dokonalý príklad. Táto funkcia je prítomná v mnohých štandardných konfiguráciách (iba hrubý klient!). Zdá sa, že výsledok sa rovná účinku metódy 1.
Avšak nie - v niektorých konfiguráciách (napríklad softštartér) sú chybové hlásenia duplikované v protokole. Tiež kedy dodatočné nastavenia správa vyzerá úplne inak.

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

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

Veľa štastia!

P.S. IN pdf verzie Lekcia obsahuje snímky obrazovky, ktoré vám uľahčia vytváranie vlastných skúseností.

P.P.S. Lekcia obsahuje 5 videí s ukážkami tvorby podkladu pre programovanie, tvorby spracovania, programovania v hrubom a tenkom klientovi.

Implementované vo verzii 8.3.10.2168.

Vylepšili sme mechanizmus upozornení používateľov. Teraz je rovnako pohodlné používať ako v tenkom, tak aj vo webovom klientovi. Zmenili sme sa vzhľad upozornenia a pridal 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 niekoľko upozornení za sebou, bola vysoká pravdepodobnosť, že používateľ nestihne prečítať predchádzajúce upozornenie, pretože by ho prekryla ďalšia.

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 jedno posledné upozornenie, ale obsahuje Akčné centrum, do ktorej sú duplikované všetky upozornenia.

Zobrazovanie upozornení, keď je okno aplikácie neaktívne

Predtým sa vo webovom klientovi upozornenia zobrazovali 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.

Pri prvom volaní metódy 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 zobrazovanie upozornení, použije sa nový typ upozornení, ktoré sa však budú vykresľovať v okne prehliadača.

Centrum upozornení

Aby sme zabránili tomu, aby upozornenia navždy zmizli, zaviedli sme výstražné centrum. A pre samotné upozornenia sme implementovali novú vlastnosť - Stav upozornenia používateľa. Môže mať dva významy: Informácie A Dôležité.

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

Centrum upozornení je dostupné z panela nástrojov. Skutočnosť, že existujú nové dôležité upozornenia, je označená oranžovou bodkou vedľa ikony.

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

Upozornenie je možné zo zoznamu odstrániť pomocou tlačidla vymazať. Ak je s upozornením spojená nejaká akcia, tak po kliknutí na text upozornenia tiež zmizne. Tím Vymazať upozornenia odstráni všetky upozornenia zo zoznamu. Ak však boli s upozorneniami spojené akcie, tieto sa nevykonajú.

Po stlačení vykonajte akcie

V starej implementácii bolo jedinou akciou, ktorú ste mohli vykonať po kliknutí na upozornenie, kliknutie na 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(<Текст>, <ДействиеПриНажатии>, …

Popis výstrahy označuje postup, ktorý by sa mal vykonať po kliknutí na výstrahu.

Vzhľad

V tenkom klientovi vo voľbe 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, potom štýl upozornenia a správanie zostanú rovnaké.

Vo webovom klientovi je vzhľad upozornení určený použitým prehliadačom. 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 Podporované sú 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.

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

V ňom sa pozrieme na spôsoby informovania 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úvisia so spôsobom použitia modality. .

Použiteľnosť

Článok sa zaoberá funkciou:

  • Rozhranie vo verzii „Version 8.2“ pre konfiguráciu vyvinutú na platforme 1C:Enterprise 8.2.19.130
  • Rozhranie taxi pre konfiguráciu vyvinuté na platforme 1C:Enterprise 8.3.4.496 až 8.3.9+
  • Rozhranie 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 štádia vykonávania procesu; zobrazenie vypočítaných hodnôt získaných počas prevádzky algoritmu);
  • zobrazovanie chýb používateľovi na prípadnú opravu;
  • vydávanie odporúčaní;

Typy správ:

  • Terminátory, ktoré zastavia vykonávanie programu a neumožnia mu pokračovať, 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 potrebné odpovedať Áno alebo Nie. Kým používateľ neodpovie, program sa nespustí ďalšie akcie;
  • úvodné správy, ktoré sa jednoducho zobrazia používateľovi a umožnia ďalšiu prácu (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 sa s ním používateľ oboznámil a prípadne vykonal niektoré úkony, 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ť absolútne 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. Nedá sa už 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 predefinovať.

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

Používateľ klikne na tlačidlo Uložiť a zavrieť, 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ť úvodné správy pomocou takzvaných upozornení. 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 určitých chybách, napríklad v čase zaúčtovania dokladu.

V tomto prípade môže byť systém informovaný, že formulár nie je potrebné zatvárať a ukázať uží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ť Existuje ďalší vývoj - ide o triedu správ pre používateľa, ktorá umožňuje okrem zobrazenia správy ju kontextovo viazať na ľubovoľné prvky formulára.

Napríklad chybové hlásenie môže byť spojené s prvkom formulára, čo je pre používateľa veľmi jasné. K tomuto problému sa vrátime o niečo 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 a 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. V tomto prípade použitie 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 touto metódou 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 Správa používateľovi. 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.

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

  1. Samotnou platformou pri interaktívnom nahrávaní alebo zmene objektu
  2. Vývojárom pri volaní metódy v kóde .

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 vybledne a zmizne. Zároveň, ak na notifikáciu prejdete kurzorom myši, nezmizne a môžete si ju pozorne prečítať.

Okrem toho je možné k upozorneniam pristupovať v príslušnej 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 verziou 8.3.10 je uvedená nižšie:

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

Prvý parameter obsahuje text, ktorý sa zobrazí v upozornení.

Potom ako druhý parameter môžete odovzdať určité navigačné prepojenie na prvok informačnú základňu(prvok, ktorý zodpovedá textu našej správy). Keď používateľ klikne na upozornenie, bude nasledovať 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.

Je potrebné poznamenať, ž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 voľbe rozhrania „Verzia 8.2“).

Vo verzii platformy 8.3.10.216 pre rozhranie „Taxi“ bol výrazne vylepšený notifikačný mechanizmus s cieľom zlepšiť použiteľnosť tenkého aj webového klienta. 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 ActionWhen Clicked. Je to spôsobené tým, že teraz je možné odoslať nielen reťazec s navigačným odkazom, ale aj popis upozornenia. Je to znázornené na snímke obrazovky nižšie:

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

Ďalší parameter Stav upozornenia používateľa 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 neodpovedal, po jej skrytí z obrazovky si ju možno prečítať prostredníctvom Centra 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 získame približne tento 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 Centre 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é akcie.

Z Centra sa upozornenie vymaže kliknutím na tlačidlo vymazať, ale ak je s upozornením spojená nejaká akcia, tak akonáhle používateľ klikne na text správy, tiež zmizne.

A nakoniec posledný pridaný parameter bol Kľúč jedinečnosti. 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 oznamovacom mechanizme.

Ako ste si už mohli všimnúť, zmenil sa 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 celý nezmestil do samotného okna a používateľ si ho bude môcť celý prečítať iba otvorením Centra upozornení. Preto by ste do textu upozornenia nemali písať veľké množstvo textu.

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

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

Predstavme si túto jednoduchú situáciu: používateľ si pre pohodlie nastavil filter v nejakom zozname. Povedzme, že to urobil vo forme zoznamu v adresári Nomenclature. Potom som sa po nejakom čase rozhodol predstaviť nový prvok s názvom „Stolička“, ktorý sa nezhoduje s predtým nainštalovaným filtrom. Zadá to, zapíše a...? A nevidí to na zozname. Čo urobí bežný používateľ? Samozrejme, že do nej vstúpi aj druhýkrát, ale už ju neuvidí. Potom môže nasledovať tretí, štvrtý, piaty raz. Keď ho omrzí zadávať stále to isté, nakoniec sa vás opýta: kam to všetko speje?

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

Správy o ukončení

Ukončovacie správy sú tie správy, ktoré neumožnia prácu, 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 na platforme 8.3 budeme hovoriť o niečo neskôr (v V poslednej dobe Snažia sa ich nepoužívať, takže uvažovaný príklad je relevantnejší pre platformu 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 špecifikovať rôzne sady možností odpovede ( Nie naozaj, ÁnoNieZrušiť, OK, OKZrušiť, RepeatCancel, AbortRepeatSkip), ktoré sú špecifikované pomocou parametra.

Ukážme nejaké upozornenie pomocou riadku (napríklad v module spravovanej aplikácie):

Upozornenie („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 po 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 sú možné žiadne ďalšie akcie.

Funkcia funguje podobný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 ListValues). 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 ( <Таймаут> ) je k dispozícii aj pre funkciu 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ľ.

Vlastnosti použitia modálne okná na platforme 8.3

Na platforme 8.3 existujú prevádzkové režimy s modalitou a bez nej. Predvolené nastavenie je Nepoužívať režim modality.

V tomto prípade nie je možné 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 nedokončia akcie s modálnym oknom. Okrem toho sa exekúcia zastaví programový kód na mieste, kde sa toto okno volá. Vykonávanie kódu bude pokračovať až po zatvorení modálneho okna.

Po prvé, vznikajú problémy s používaním modálnych okien mobilná aplikácia. Po druhé, v prehliadači je modalita okien implementovaná pomocou samostatných vyskakovací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 tabletové počítače a pre telefóny vo väčšine prípadov nepodporujú kontextové okná vôbec.

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

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

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

Základné pohodlie triedy správ Správa používateľovi 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é, tento objekt je potrebné vytvoriť. Napríklad: Správa = New MessageToUser;

Takto vytvoríme inštanciu tohto objektu.

Po druhé, musíte zadať text správy v samostatnej vlastnosti.

Po tretie, v nehnuteľnosti Lúka môžete určiť, ktorý prvok formulára táto správa musí byť zviazaný.

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.Link;

Ak chcete otvoriť modul dokumentu, v okne úpravy objektu (dokumentu) prejdite na kartu Iné stlač tlačidlo Objektový modul.

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

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

Treba poznamenať, že výstup správ pomocou nového systémového objektu Správa používateľovi vo všeobecnom prípade 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 používateľovi zvyčajne zobrazujú 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.

Podľa toho sa pri zistení chýb transakcia zruší, t.j. zapisovanie prvku adresára je zakázané alebo odosielanie dokumentu je zakázané.

Dochádza teda k akejsi emulácii ukončovacej správy. Keďže akcia je zrušená, kým používateľ nezareaguje na zadanú správu, nebude možné akciu dokončiť, napríklad zaúčtovanie dokladu.

Ale na druhej strane je možné dokument zavrieť bez toho, aby ste ho vykonali, 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(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Možnosti:<ТекстСообщения>A<Пояснение>– voliteľné, typ – Linka.
Text sa zobrazuje na špeciálnom stavovom riadku.
<Прогресс>Parameter je tiež voliteľný, ale vizuálny.
Typ: číslo. Hodnota ukazovateľa pokroku (od 1 do 100).
<Картинка>tiež voliteľný parameter.
Pri spracovaní akejkoľvek udalosti sa pravidelne volajú funkcie, ako napríklad:

V tomto prípade sa štítky môžu zmeniť a hodnoty parametra Progress sa môžu zmeniť.

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

Ak sa chcete bližšie pozrieť na mechanizmus upozornení, zastavte sa hneď teraz a prečítajte si náš nový článok Zobrazenie priebehu dlhotrvajúcich operácií v 8.3.10. Vysvetľuje, už nie na úrovni začiatočníka, všetky jemnosti a úskalia fungovania tohto mechanizmu.

Dokončujeme náš úvod do spôsobov informovania používateľa. Dúfame, že ste pochopili, v akých situáciách by sa mala použiť jedna alebo druhá metóda.

Ešte raz by som chcel upozorniť 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ť nastavenie režimu modality nastavené na „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 o odmietnutí používania modálnych okien na platforme 1C:Enterprise 8.3 si môžete prečítať v poslednom článku série. A ideme ďalej a konečne začneme študovať dlho očakávané rozhranie Taxi, ktoré už bolo v našich materiáloch spomenuté viackrát.