1s 8.3 pojavno sporočilo uporabniku. Obvestilo o stanju postopka

V programih na platformi 1C:Enterprise je sporočilo uporabniku mogoče prikazati na različne načine.

1. Metoda ShowWarning.

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

Pri uporabi te zasnove se na sredini programskega vmesnika prikaže okno z opozorilom.

Opcije:

OpisPopolna opozorila(neobvezno)
Vrsta: OpisOpozorila. Vsebuje opis postopka, ki bo poklican po zaprtju opozorilnega okna z naslednjimi parametri: Dodatni parametri - vrednost, ki je bila določena pri ustvarjanju objekta Opis opozorila. Če parameter ni podan, po zaključku ne bo poklican noben postopek.

Besedilo opozorila(obvezno)
Vrsta: vrvica; FormattedString. Besedilo opozorila.

Časovna omejitev (neobvezno)
Vrsta: številka. Časovni interval v sekundah, v katerem bo sistem čakal na odziv uporabnika. Ko interval poteče, se opozorilno okno zapre. Če parameter ni naveden, je čakalna doba neomejena. Če je parameter negativen, bo vržena izjema. Privzeta vrednost: 0.

Naslov (neobvezno)
Vrsta: Vrvica. Vsebuje naslov okna z opozorilom. Opis: prikaže okno z opozorilom, vendar ne počaka, da se zapre.

Razpoložljivost: Tanki odjemalec, spletni odjemalec, debel odjemalec, mobilna aplikacija (odjemalec).

Opomba: Če je treba katero koli kodo izvesti, potem ko uporabnik zapre okno z opozorilom, jo ​​je treba postaviti v ločen postopek modula in opisati v parametru.

2. Metoda Opozorilo.

Na sredini programskega vmesnika se prikaže okno z opozorilom. Če pa lastnost konfiguracije Način uporabe Načini uporabe je nastavljen na Ne uporabljaj, potem metoda ne deluje.

Razpoložljivost: tanek odjemalec, spletni odjemalec, mobilni odjemalec, debeli odjemalec, mobilna aplikacija (odjemalec).

3. Metoda ShowUserAlert.

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

Pri uporabi te metode se v spodnjem desnem kotu vmesnika prikaže sporočilo.

Razpoložljivost: tanek odjemalec, spletni odjemalec, debel odjemalec.

4. Metoda poročila.

Poročati(< ТекстСообщения> , < Статус> )

Razpoložljivost: tanek odjemalec, spletni odjemalec, mobilni odjemalec, strežnik, debel odjemalec, zunanja povezava, mobilna aplikacija (odjemalec), mobilna aplikacija (strežnik).

5. Ugovor Sporočilo uporabniku.

Zasnovan za shranjevanje parametrov sporočila, ki jih je treba prikazati uporabniku. Če sporočilo še ni bilo prikazano uporabniku (to se lahko zgodi pri delu na strani strežnika, v delo v ozadju, zunanja povezava ali spletne storitve), lahko dobite zbrana sporočila z uporabo metode Prejemanje sporočil uporabniku.

Lastnosti: ID cilja(TargetID); DataKey; Polje; DataPath(DataPath); Besedilo.

Metode: Sporočilo; SetData(SetData).

Sporočilo se prikaže na dnu vmesnika v vrstici.

Sporočilo = Novo sporočiloUporabniku(); Sporočilo. Besedilo = "Premalo nomenklature"; Sporočilo. Polje = "Nomenklatura. Količina"; Sporočilo. SetData(DataObject); Sporočilo. Poročati() ;

Razvoj je zasnovan tako, da obvešča uporabnike, tako selektivno kot vse, lahko tudi preprosto pišete sporočila ali vodite korespondenco med uporabniki.

Razvoj je register informacij in sprememba modula upravljane ali običajne aplikacije.
Če želite sprožiti opozorilo, morate dodati vnos v register informacij, uporabniki bodo prejemali obvestila v obdobju, določenem med začetkom in koncem časa obveščanja.

UPRAVLJANA APLIKACIJA

REDNA PRIJAVA

Prikazano opozorilno okno v uporabniškem programu blokira celoten vmesnik in uporabniki, ki delajo v ta trenutek program ne bo spregledal obvestila in ga bo ustrezno prebral.

UPRAVLJANA APLIKACIJA

REDNA PRIJAVA

Registrski seznam

Na seznamu obvestil si lahko ogledate, kdo je prejel obvestilo in kdo ga je prebral.

UPRAVLJANA APLIKACIJA

REDNA PRIJAVA

Če želite implementirati razvoj v svojo konfiguracijo, morate:

  1. Nastavite možnost urejanja konfiguracije.
  2. Primerjajte s konfiguracijo v tej publikaciji. Dodan bo register informacij "Uporabniška opozorila" in vnos v navadnem ali upravljanem modulu aplikacije, odvisno od primarnega načina zagona aplikacije.

    Običajni ali upravljani vnos aplikacijskega modula se razlikuje:

    UPRAVLJANA APLIKACIJA

Postopek ob zagonu sistema() //Modifikacija standardne konfiguracije za obveščanje uporabnikov programa (pošiljanje sporočila kateremu koli uporabniku) //Primerno za vse konfiguracije ConnectWaitingHandler("modNotificationProcessingHandler", 60); Konec postopka // Ko se sistem zažene () // Sprememba standardne konfiguracije za obveščanje uporabnikov o programu (pošiljanje sporočila kateremu koli uporabniku) // Primerno za vse konfiguracije // Klicanje upravljalnika čakanja se nadaljuje, dokler obrazec ni zaprt // ali dokler se ne pokliče metoda obrazca Procedure modNotificationProcessingHandler( ) Izvoz sporočila uporabniku = GetForm("Information Register.User Alerts.Form.ControlSubmissionForm").GetNotificationProcessingMessages(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertControl"); Če ne Form.Open() Potem FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.Open(); Drugače Form.Activate(); endIf; endIf; Konec postopka REDNA APLIKACIJA Postopek ob zagonu sistema() //Modifikacija standardne konfiguracije za obveščanje uporabnikov programa (pošiljanje sporočila kateremu koli uporabniku) //Primerno za vse konfiguracije ConnectWaitingHandler("modNotificationProcessingHandler", 60); Konec postopka // Ko se sistem zažene () // Sprememba standardne konfiguracije za obveščanje uporabnikov o programu (pošiljanje sporočila kateremu koli uporabniku) // Primerno za vse konfiguracije // Klicanje upravljalnika čakanja se nadaljuje, dokler obrazec ni zaprt // ali dokler se ne pokliče metoda obrazca Procedure modNotificationProcessingHandler( ) Izvoz sporočila uporabniku = Information Registrs.User Alerts.GetNotificationProcessingMessages(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertUsual"); Če ne Form.Open() Potem FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.OpenModal(); Drugače Form.Activate(); endIf; endIf; Konec postopka

Izvedba razvoja je brezplačna in končana v 10 minutah.

Brezplačna tehnična podpora 30 dni.
IN

Razvoj je namenjen za platformo 8.3, različne standardne in nestandardne konfiguracije, v načinu tankega, debelega odjemalca in spletnega odjemalca.

Možna je samostojna sprememba, koda je odprta za urejanje.

Razlogi za nakup

Zelo priročna možnost za opozarjanje, obveščanje uporabnikov 1C o tehnično delo, spremembe konfiguracij, posodobitve, možnost dopisovanja med uporabniki 1C v okviru 1. programa.

Prednosti

1) 100% dostava opozoril vsem uporabnikom, za razliko od analogov.
2) Sposobnost pošiljanja slik.
3) Oglejte si dejavnost uporabnika na seznamu sporočil (kdo je bil dostavljen, kdo je prebral).
4) Možnost pisanja odgovora osebi, ki je poslala obvestilo.
5) Ne vpliva na druge objekte pri posodabljanju konfiguracij z nameščeno možnostjo urejanja.

Garancija vračila denarja

Infostart LLC vam zagotavlja 100% povračilo, če program ne ustreza deklarirani funkcionalnosti iz opisa. Denar lahko vrnete v celoti, če to zahtevate v 14 dneh od dneva, ko je denar prispel na naš račun.

Program je tako dokazano deloval, da lahko s popolnim zaupanjem damo takšno garancijo. Želimo, da so vse naše stranke zadovoljne z nakupom.

Pri pouku smo: izdelali osnovo, izdelali obdelavo, izdelali formo.

Zdaj vam bomo povedali 5 načinov sporočil iz 1C "Pozdravljen, svet!"

Vsi ne poznajo vsaj dveh metod :)

Kako in kam napisati programsko besedilo?

Preklopite na zavihek okna z obrazcem »Modul«. Prepričali se boste, da tam že imate nekaj besedila (»Postopek…«).

Če besedila ni, potem:

  • V debelem odjemalcu ste nepravilno dodali obrazec v obdelavo, ponovite od začetka
  • IN tanek odjemalec Pozabili ste dodati gumb, poskusite znova od začetka.

Znotraj besedila je vrstica:

// Vstavite vsebino obdelovalca

Vaša naloga je, da zbrišete to vrstico in na njeno mesto vnesete besedilo programa. Po tem shranite obdelavo in jo odprite v načinu podjetja.

Ko kliknete Izvedi, bodo dejanja, ki ste jih vnesli, zdaj izvedena.

Zdaj pa preidimo na same metode!

Sporočilo v 1C, metoda 1 - najlažja

Zato bi morali namesto besedila "// Vstaviti vsebino upravljalnika." napišite programsko besedilo.

Poročilo ("Pozdravljen svet!");

Pravzaprav je to vse :)

Sporočilo v načinu Enterprise v debelem odjemalcu bo na dnu okna 1C, v tankem odjemalcu - na desni v oknu za obdelavo.

To je najpreprostejša metoda, ki jo programerji zelo pogosto uporabljajo.

Sporočilo v 1C, metoda 2 - tudi preprosto

Opozorilo ("Pozdravljen svet!");

Pravzaprav je to vse :)

Sporočilo v načinu Enterprise v obeh možnostih odjemalca bo v pojavnem oknu.

Sporočilo v 1C, metoda 3 - se je pojavilo samo v različici 1C 8.2

ShowUserAlert("Pozdravljen, svet!","Zares pozdravljen!");

Ta metoda se je pojavila samo v različici 1C 8.2. To je pojavno okno v spodnjem desnem kotu zaslona, ​​ki sčasoma izgine.

Sporočilo v 1C, metoda 4 - programer

Vrzi izjemo "Pozdravljen, svet!";

Pri izvajanju katerega koli programa lahko pride do napake. Včasih je to napako mogoče izračunati vnaprej (na primer, morate izračunati a = b/c in v času izvajanja programa postane znano, da je c enak 0).

V tem primeru obstaja način za poročanje o napaki s to metodo.

Sporočilo v 1C, metoda 5 - tehnološko napredna, samo za standardno konfiguracijo

General Purpose.ReportError("Pozdravljen, svet!");

Programer 1C mora poznati ne le tiste metode programiranja, ki so v platformi 1C, ampak tudi tiste, ki so v tipične konfiguracije.

Začetniki, ko poskušajo dodati katero koli standardno konfiguracijo, začnejo znova izumljati kolo.

Tukaj je popoln primer. Ta funkcija je prisotna v številnih standardnih konfiguracijah (samo debel odjemalec!). Zdi se, da je rezultat enak delovanju metode 1.
Vendar ne - v nekaterih konfiguracijah (na primer mehki zaganjalnik) se sporočila o napakah v dnevniku podvojijo. Tudi kdaj dodatne nastavitve sporočilo izgleda popolnoma drugače.

Torej, zdaj se lahko počutite kot pravi programer!

Točno to je programiranje 1C. Seveda je pravo programiranje veliko bolj kompleksno in zahteva veliko znanja, vendar imate zdaj splošno predstavo.

Vso srečo!

P.S. IN pdf različice Lekcija vsebuje posnetke zaslona, ​​da si olajšate ustvarjanje lastne izkušnje.

P.P.S. Lekcija vključuje 5 video posnetkov s primeri ustvarjanja osnove za programiranje, ustvarjanje obdelave, programiranje v debelem in tankem odjemalcu.

Implementirano v različici 8.3.10.2168.

Izboljšali smo mehanizem obveščanja uporabnikov. Zdaj je enako priročno uporabljati tako v tankem odjemalcu kot v spletnem odjemalcu. Spremenili smo se videz obvestila in jim dodali številne nove funkcije.

Prikaži več opozoril

V stari izvedbi je bilo na zaslonu hkrati prikazano samo eno opozorilo. Novo opozorilo je prekrivalo prejšnjega. Če je bilo torej prikazanih več opozoril zaporedoma, je obstajala velika verjetnost, da uporabnik ne bo imel časa prebrati prejšnjega opozorila, saj bi ga pokrilo naslednje.

Zdaj so v večini primerov lahko prikazana do tri opozorila hkrati:

To velja za tankega odjemalca, debelega odjemalca in spletnega odjemalca, ki se izvaja v brskalnikih internet Explorer in Google Chrome . Brskalniki Safari in Mozilla Firefox omogočajo prikaz neomejenega števila opozoril in brskalnik Microsoft Edge prikazuje zadnje opozorilo, ki pa vsebuje Center za ukrepanje, v katerega so podvojena vsa opozorila.

Prikaz opozoril, ko je okno aplikacije neaktivno

Prej so bila v spletnem odjemalcu opozorila prikazana le v aktivnem oknu brskalnika. Če je uporabnik preklopil na drugo okno ali drugo aplikacijo, opozorila ni videl. Zdaj se pri uporabi spletnega odjemalca obvestila prikazujejo na zaslonu tudi, ko je okno aplikacije pomanjšano ali neaktivno.

Ko je metoda prvič poklicana ShowUserAlert() v spletnem odjemalcu Google Chrome, Mozilla Firefox in Safari Brskalnik bo uporabnika vprašal za dovoljenje za uporabo obvestil. Uporabnik lahko dovoli njihov izhod za to aplikacijo, ali prepovedati.

Če uporabnik onemogoči prikaz obvestil, bo uporabljena nova vrsta obvestil, ki pa bodo upodobljena znotraj okna brskalnika.

Center za opozorila

Da preprečimo, da bi obvestila za vedno izginila, smo implementirali center za opozarjanje. In za sama opozorila smo uvedli novo lastnost - Stanje uporabniškega opozorila. Ima lahko dva pomena: Informacije in Pomembno.

Opozorila s statusom Informacije se prikažejo na zaslonu in izginejo po 10 sekundah (v brskalniku Microsoft Edge– po 4 sekundah). Opozorila s statusom Pomembno se obnašajo povsem enako, vendar so shranjeni v centru za opozorila.

Središče za opozorila je dostopno iz orodne vrstice. Dejstvo, da obstajajo nova pomembna opozorila, je označeno z oranžno piko poleg ikone.

Center za opozorila prikazuje pomembna opozorila, na katera se uporabnik še ni odzval z zaprtjem ali dejanjem, povezanim z opozorilom. Opozorila so navedena v vrstnem redu, kot so prikazana, z najnovejšimi na vrhu. Tako tudi če uporabnik zapusti računalnik, ne bo zamudil pomembnih obvestil.

Opozorilo lahko odstranite s seznama z gumbom za brisanje. Če je z opozorilom povezano kakšno dejanje, bo po kliku na besedilo opozorila tudi to izginilo. Ekipa Počistite opozorila odstrani vsa opozorila s seznama. Če pa so bila dejanja povezana z opozorili, se ne izvršijo.

Izvedite dejanja ob pritisku

V stari izvedbi je bilo edino dejanje, ki ste ga lahko izvedli, ko ste kliknili na opozorilo, klik na navigacijsko povezavo. Metodi je bil posredovan kot drugi parameter.

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

Zdaj smo razširili zmožnosti opozoril in v drugem parametru lahko posredujete ne samo niz z navigacijsko povezavo, ampak tudi opis opozorila.

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

Opis opozorila označuje postopek, ki naj se izvede, ko kliknete opozorilo.

Videz

V tankem odjemalcu v možnosti vmesnika Taksi slog obvestila bo čim bližje slogu obvestil brskalnika Google Chrome uporabo API za obvestila.


Če je uporabljena možnost vmesnika Različica 8.2, potem slog in vedenje opozorila ostaneta enaka.

V spletnem odjemalcu je videz opozoril določen z uporabljenim brskalnikom. Na splošno bodo opozorila videti enako kot v tankem odjemalcu, vendar ima vsak brskalnik svoje značilnosti. Na primer, lahko primerjate, kako bodo prikazana ista opozorila internet Explorer in Mozilla Firefox.


Poleg tega obstajajo še druge lastnosti. Na primer v brskalniku internet Explorer Podprta so samo opozorila, prikazana znotraj okna aplikacije. In v brskalniku Safari parameter Slika ni podprto in opozorila so prikazana na vrhu zaslona.

Članek nadaljuje serijo člankov "Prvi koraki v razvoju na 1C".

V njem bomo preučili načine obveščanja uporabnika, ki so prisotni v platformi 1C:Enterprise 8, in se osredotočili tudi na nekatere značilnosti delovanja teh mehanizmov; te funkcije so povezane z načinom uporabe modalnosti. .

Uporabnost

Članek govori o funkcionalnosti:

  • Vmesnik v različici “Version 8.2” za konfiguracijo, razvito na platformi 1C:Enterprise 8.2.19.130
  • Taxi vmesnik za konfiguracijo, razvit na platformi 1C:Enterprise 8.3.4.496 do 8.3.9+
  • Taxi vmesnik za konfiguracijo, razvito na platformi 1C:Enterprise 8.3.10-8.3.11

Kako prikazati sporočilo uporabniku v 1C

Prikazovanje sporočil v uporabniškem načinu rešuje številne težave:

  • odraz poteka trenutnega procesa (prikaz stopnje izvajanja procesa; prikaz izračunanih vrednosti, ​​dobljenih med delovanjem algoritma);
  • prikazovanje napak uporabniku za morebitne popravke;
  • izdajanje priporočil;

Vrste sporočil:

  • Terminatorji, ki ustavijo izvajanje programa in mu ne dovolijo nadaljevanja, dokler uporabnik tega sporočila ne prebere in izvede določenih dejanj. Na primer, uporabniku se na zaslonu prikaže vprašanje, na katerega bo treba odgovoriti z Da ali Ne. Dokler se uporabnik ne odzove, se program ne izvaja nadaljnje ukrepe;
  • uvodna sporočila, ki se preprosto prikažejo uporabniku in omogočajo nadaljnje delo (tj. uporabljajo se v načinu opozorila).

Sporočila o zaključku naj bodo sporočila o napakah, uvodna sporočila pa: priporočila, sporočila o trenutni fazi procesa in prikaz izračunanih vrednosti (debug print).

Uvodna sporočila so namenjena temu, da uporabniku posredujejo nekaj informacij.

Uporabnik se mora z njim seznaniti in po možnosti izvesti nekaj dejanj, ki so opisana v tem sporočilu.

Zelo pomembno je, da uporabnik ta sporočila dejansko prebere, zato naj vsebujejo le pomembne informacije.

Uporabniku se ne sme izdati testnih in razhroščevalnih sporočil, ker prej ali slej bo začel ignorirati čisto vsa sporočila.

V konceptu upravljanega vmesnika se je pristop k izdaji sporočila nekoliko spremenil. Zdaj je vezan na obliko, v kateri je nastal. Ni ga več mogoče zapreti, tako da je besedilo popolnoma nevidno.

Sporočilnega polja ne morete odpeti z obrazca.

Sintaksa funkcije:

Poročati (<Текст сообщения>, <Статус>)

Tisti. prvi parameter je samo besedilo.

Drugi parameter (status sporočila) ni obvezen. Določite lahko vrednosti za stanje: normalno, Pomembno, Zelo pomembno itd.

Od dano vrednost odvisno od tega, katera ikona se bo nahajala poleg sporočila. Vendar to deluje le v običajnem vmesniku.

V konceptu upravljanega vmesnika je ikona vedno v obrazcu klicaj, ga ni mogoče redefinirati.

Dejstvo je, da če se sporočilo ustvari v času pisanja elementa imenika, lahko pride do naslednje situacije.

Uporabnik klikne na gumb Shrani in zapri, v tem primeru se sporočilo prikaže v ustreznem oknu (na desni strani obrazca).

Toda obrazec se takoj zapre in uporabnik ne bo videl, da so mu bile prikazane kakršne koli informacije.

Zato je v konceptu upravljane aplikacije priporočljivo prikazati uvodna sporočila s pomočjo tako imenovanih opozoril. Primer nepravilne uporabe funkcije Poročati predstavljeno na sliki.

Vendar funkcija Poročati se lahko uporablja za prikaz informacij o določenih napakah, na primer v času knjiženja dokumenta.

V tem primeru lahko sistem obvesti, da obrazca ni treba zapreti in uporabniku pokaže, do katerih napak pride pri knjiženju dokumenta.

funkcija Poročati v celoti podprto v platformi 8.3. Uporablja se lahko in bo deloval (tako v datotečni različici kot v različici odjemalec-strežnik).

Vendar je treba opozoriti tudi na funkcijo Poročati Obstaja nadaljnji razvoj - to je razred sporočil za uporabnika, ki poleg prikaza sporočila omogoča tudi kontekstualno vezavo na poljubne elemente obrazca.

Na primer, sporočilo o napaki je lahko vezano na element obrazca, kar je uporabniku zelo jasno. To vprašanje se bomo vrnili malo kasneje. funkcija Poročati obstaja zanimiva lastnost.

Tako se programska koda v platformi 8.3 lahko izvaja tako na strani odjemalca kot na strani strežnika.

V tem primeru je za interakcijo z uporabnikom odgovorna programska koda odjemalca, tj. Na strani odjemalca se odprejo obrazci in prikažejo poročila.

Samo na odjemalcu so prikazani tudi različni dialogni dokumenti. Na strežniku jih ni mogoče izvesti, ker strežnik nima zmožnosti interakcije z uporabniki.

Toda funkcija Poročati se lahko izvede tako na strani odjemalca kot na strani strežnika. V tem primeru uporaba metode Poročati na strežniku sploh ne pomeni, da bo sporočilo prikazano na strežniku, enostavno jih ni kje prikazati.

To pomeni, da če s to metodo prikažemo sporočilo v strežniški proceduri, se bodo ta kopičila v nekem medpomnilniku in bodo prikazana na zaslonu šele, ko se strežniška procedura konča in se vrne k odjemalcu.

Na tej točki bo sistem zahteval podatke iz medpomnilnika in jih prikazal na zaslonu.

Ista značilnost velja za razred Sporočilo uporabniku. Slika prikazuje primer uporabe metode Poročati na strani strežnika.

Kot rezultat uporabe metode Poročati na strani strežnika so bila sporočila prikazana na zaslonu na strani odjemalca.

Potreben je mehanizem opozarjanja, ki uporabnika obvesti, da se je v sistemu »nekaj« zgodilo in da »nekaj« zahteva uporabnikovo pozornost. Opozorila se ustvarijo po dveh scenarijih:

  1. S samo platformo pri interaktivnem snemanju ali spreminjanju predmeta
  2. S strani razvijalca pri klicu metode v kodi .

Samo obvestilo je majhno okno, ki se praviloma pojavi v spodnjem desnem kotu in obvešča o končanem dejanju. V nekaj sekundah postopoma zbledi in izgine. Hkrati pa, če se s kazalcem miške pomaknete nad obvestilo, le-to ne izgine in ga lahko pozorno preberete.

Poleg tega je mogoče dostopati do opozoril v ustreznem območju informacijske plošče (gumb »Zgodovina« v spodnjem levem kotu obrazca za prijavo v možnosti vmesnika »Različica 8.2«).

Če želite ustvariti lastna opozorila, morate uporabiti metodo globalnega konteksta ShowUserAlert(). Njegova sintaksa pred različico 8.3.10 je predstavljena spodaj:

ShowUser Alert (<Текст>, <НавигационнаяССылка>, <Пояснение>, <Картинка>)

Prvi parameter vsebuje besedilo, ki bo prikazano v obvestilu.

Nato lahko kot drugi parameter elementu posredujete določeno navigacijsko povezavo informacijsko bazo(element, ki ustreza besedilu našega sporočila). Ko uporabnik klikne na opozorilo, sledi povezavi.

S tretjim parametrom lahko posredujete razlago za sporočilo, tj. nekaj razširjenega opisa.

Dodelite lahko tudi sliko, ki prikazuje stanje obvestila.

Upoštevati je treba, da so vsi ti parametri neobvezni. Spodaj je primer uporabe ta metoda(v konfiguratorju in v uporabniškem načinu v opciji vmesnika “Version 8.2”).

V različici platforme 8.3.10.216 za vmesnik “Taxi” je bil bistveno izboljšan mehanizem obveščanja z namenom izboljšanja uporabnosti tankega in spletnega odjemalca. Zaradi tega so se spremenili tudi parametri, posredovani metodi ShowUserAlert(). Zdaj je sintaksa videti takole:

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

Vidimo lahko, da je drugi parameter, prej poklican Navigacijska povezava, dobil novo ime ActionWhenClicked. To je posledica dejstva, da je zdaj mogoče poslati ne samo niz z navigacijsko povezavo, ampak tudi opis opozorila. To je prikazano na spodnjem posnetku zaslona:

Kot je razvidno iz primera, imamo zdaj možnost programske obdelave klika na obvestilno okno, v skladu z logiko, ki je potrebna.

Naslednji parameter Stanje uporabniškega opozorila pojavil prvič. Označuje status opozorila (Informacije ali Pomembno).

V primeru možnosti Pomembno, če se uporabnik na sporočilo ni odzval, potem ko je sporočilo skrito z zaslona, ​​ga je mogoče prebrati prek centra za obvestila (več o tem spodaj). V primeru možnosti Informacije se obvestilo izbriše, ne da bi bilo shranjeno v tem centru. Prepišimo kodo iz našega primera, kot je prikazano spodaj:

Po izvedbi ukaza dobimo približno ta pogled na okno aplikacije:

V orodni vrstici se je pojavil gumb z ikono zvonca, ki prikliče zgoraj omenjeni center za obveščanje. Zbira nova pomembna opozorila, na katera se uporabnik še ni odzval.

Če so v središču opozorila, se ob njih prikaže majhna oranžna pika, ki pritegne pozornost uporabnika. Uporabnik lahko odpre Center za obvestila, prebere besedilo in po potrebi izvede nekaj dejanj.

V središču se opozorilo izbriše s klikom na gumb za brisanje, če pa je z opozorilom povezano kakšno dejanje, bo takoj, ko uporabnik klikne na besedilo sporočila, tudi to izginilo.

In končno, zadnji dodan parameter je bil Ključ edinstvenosti. Z njim lahko poiščete opozorilo, prikazano na zaslonu, in ga spremenite. Če ni nobenega opozorila s tem parametrom, bo prikazano novo opozorilo.

Kot lahko vidite, so možnosti, ki jih ponuja ustrezna metoda, postale še večje! A to še niso vse spremembe v mehanizmu obveščanja.

Kot ste morda že opazili, se je njihov videz spremenil. Opozorila so zdaj videti bolj moderna in ergonomska, vendar jih ni mogoče premikati po zaslonu ali spreminjati velikosti. Upoštevajte, da se v našem primeru besedilo obvestila preprosto ni v celoti prilegalo samemu oknu in ga bo uporabnik lahko v celoti prebral šele, ko odpre Center za obvestila. Zato v besedilo obvestila ne smete pisati velike količine besedila.

Nove funkcije vključujejo tudi hkratni prikaz do treh opozoril na zaslonu.

S tem zaključujemo naše spoznavanje programske opreme za ustvarjanje opozoril. Vendar ne pozabite, da opozoril ne ustvari samo razvijalec programsko, ampak tudi platforma sama v času interaktivnega snemanja ali spreminjanja predmeta. In pogosto to dejstvo povzroča nesporazum predvsem med uporabniki začetniki: zakaj so potrebna ta opozorila storitev, ki jih mimogrede ni mogoče izklopiti?

Predstavljajmo si to preprosto situacijo: uporabnik je zaradi udobja nastavil filter na nekem seznamu. Recimo, da je to naredil v obliki seznama v imeniku Nomenklatura. Potem, čez nekaj časa, sem se odločil predstaviti nov element z imenom "Chair", ki se ne ujema s predhodno nameščenim filtrom. Vnese, zapiše in ...? In tega ne vidi na seznamu. Kaj bo naredil povprečen uporabnik? Seveda bo vanj vstopil drugič, a ga ne bo več videl. Temu lahko sledi še tretjič, četrtič, petič. Ko se naveliča vedno znova vstopati v eno in isto, vas bo končno vprašal: kam gre vse?

Prav zato platforma prikazuje ta servisna opozorila, ki uporabnika obveščajo, da je bilo njihovo dejanje zaključeno. V našem primeru bo uporabnik v času interaktivnega snemanja videl naslednje obvestilo:

Sporočila o prekinitvi

Prekinitvena sporočila so tista sporočila, ki ne bodo dovolila dela, dokler uporabnik ne izvede določenih dejanj, tj. dokler ne obdela sporočila.

O možnostih uporabe sporočil o prekinitvi v Platformi 8.3 bomo govorili nekoliko kasneje (v Zadnje čase Trudijo se, da jih ne uporabljajo, zato je obravnavani primer bolj relevanten za platformo 8.2).

Obstajata dva načina za izdajo sporočil o prekinitvi Opozorilo in vprašanje. Opozorilo razlikuje od vprašanje ker ima en sam gumb v redu.

Vprašanje lahko določa različne nize možnosti odgovora ( res ne, DaNePrekliči, v redu, V redu Prekliči, Ponovi Prekliči, Prekini RepeatSkip), ki so podani s parametrom.

Prikažimo nekaj opozoril z uporabo vrstice (na primer v modulu upravljane aplikacije):

Opozorilo ("Baza bo zdaj odprta");

Če želite odpreti modul upravljane aplikacije, izberite predmet v konfiguracijskem drevesu Konfiguracija, pokličite kontekstni meni in izberite element Odprite modul upravljane aplikacije.

V tem primeru se ob zagonu aplikacije prikaže okno, ki je modalno. Modalno okno prekriva vsa okna, ki obstajajo v aplikaciji. Dokler ne obdelamo tega okna, nadaljnja dejanja niso mogoča.

Funkcija deluje na podoben način vprašanje.

Sintaksa:
vprašanje(<ТекстВопроса>,<Кнопки>,<Таймаут>,<КнопкаПоУмолчанию>,<Заголовок>,
<КнопкаТаймаута>);

Zahtevana sta le prva dva parametra. Za drugi parameter je podatkovni tip sestavljen ( Način dialogaVprašanje oz ListValues). Tretji parameter ( <Таймаут> ) označuje časovni interval v sekundah, v katerem bo sistem čakal na odziv uporabnika.

Ko interval poteče, se okno z vprašanji zapre. Podoben parameter ( <Таймаут> ) je na voljo tudi za funkcijo Opozorilo.

Kot primer uporabe funkcije vprašanje Uporabite lahko naslednjo kodo, napisano v modulu upravljane aplikacije:

Upoštevajte, da te metode ( Opozorilo in vprašanje) niso na voljo na strežniku. In to je logično, saj vmesniških metod ni mogoče izvajati na strežniku, kjer ni uporabnika.

Značilnosti uporabe modalna okna v platformi 8.3

V platformi 8.3 obstajajo načini delovanja z in brez modalnosti. Privzeta nastavitev je Ne uporabljaj načina modalnosti.

V tem primeru je uporaba zaključnih sporočil nemogoča. Če je treba uporabiti zaključna sporočila (funkcije Opozorilo in vprašanje) morate spremeniti vrednost lastnosti konfiguracije na Uporaba.

Modalno okno je prikazano na samem vrhu in blokira delo z drugimi okni, dokler dejanja z modalnim oknom niso dokončana. Poleg tega se izvršba ustavi programsko kodo na mestu, kjer se to okno imenuje. Izvajanje kode se bo nadaljevalo šele po zaprtju modalnega okna.

Prvič, težave z uporabo modalnih oken se pojavijo za mobilna aplikacija. Drugič, v brskalniku se modalnost oken izvaja z uporabo ločenih pojavnih oken.

Pojavna okna so pogosto onemogočena s privzetimi nastavitvami brskalnika. Uporabnik mora biti prisiljen nastaviti dovoljenje za ta okna.

Brskalniki za tablični računalniki in za telefone v večini primerov sploh ne podpirajo pojavnih oken.

Za zamenjavo funkcij vprašanje in Opozorilo Razvite so bile nove metode: ShowQuestion, ShowWarning.

Te metode vam omogočajo, da pokličete okno, vendar ne ustavite izvajanja programske kode. Tehnično se to doseže z oblikovanjem psevdookna znotraj nadrejenega okna. Psevdookno se ne prekriva z nadrejenim oknom. Po odprtju takega okna se koda nadaljuje z izvajanjem.

Prejemanje in obdelava uporabniško vnesenih vrednosti poteka v ločenem postopku, ki se pokliče, ko se pogovorno okno zapre.

Sintaksa funkcije ShowWarning:

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

Parameter <ОписаниеОповещенияОЗавершении> (neobvezno)

Vrsta podatkov: OpisOpozorila.

Vsebuje opis postopka, ki bo poklican po zaprtju opozorilnega okna.

Sintaksa funkcije ShowQuestion:

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

Prvi trije parametri so obvezni.

Spodaj je primer uporabe funkcije.

Razred MessageToUser

Osnovna priročnost razreda sporočil Sporočilo uporabniku je, da je to kontekstualno sporočilo (za razliko od metod Opozorilo in vprašanje).

Sporočila se lahko vežejo na določen element zaslona. Ta objekt je na voljo tudi na strežniku.

Opozoriti je treba, da je, prvič, ta predmet je treba ustvariti. Na primer: Sporočilo = Novo sporočiloUporabniku;

Tako ustvarimo primerek tega predmeta.

Drugič, besedilo sporočila morate določiti v ločeni lastnosti.

Tretjič, v lastnini Polje lahko določite kateri element obrazca to sporočilo mora biti vezan.

Pozor! Za vezavo na želeno polje obrazca bodite pozorni na inicializacijo lastnosti PathToData in DataKey. Za dokument, ko postavite kodo v objektni modul, lahko napišete:

Message.DataPath = “Object”;
Message.DataKey = ThisObject.Link;

Če želite odpreti modul dokumenta, v oknu za urejanje predmeta (dokumenta) pojdite na zavihek drugo pritisni gumb Objektni modul.

Za poskus bomo kodo postavili v objektni modul dokumenta.

Spodaj je rezultat, dobljen v uporabniškem načinu za platformo 8.3.

Upoštevati je treba, da sporočila izhajajo z uporabo novega sistemskega objekta Sporočilo uporabniku v splošnem primeru se ne končajo. Tisti. sistem bo uporabniku omogočil nadaljevanje nadaljnjih dejanj, ne da bi se odzval na prikazana sporočila.

Toda, prvič, ta sporočila so precej opazna. Drugič, sporočila se običajno prikažejo uporabniku v času snemanja elementov imenikov ali objavljanja dokumentov, to je, ko se izvajajo nekatera preverjanja. In če so bile odkrite napake, bo uporabnik videl ta ista sporočila.

Skladno s tem se ob odkritju napak transakcija prekliče, tj. pisanje elementa imenika je prepovedano ali objavljanje dokumenta je prepovedano.

Tako pride do neke vrste emulacije zaključnega sporočila. Ker je dejanje preklicano, dokler uporabnik ne reagira na vneseno sporočilo, bo nemogoče dokončati dejanje, na primer objavo dokumenta.

Po drugi strani pa je mogoče zapreti dokument, ne da bi ga vodili, ne da bi se na kakršen koli način odzvali na sporočilo. Zato se ta sporočila uporabniku ne zaključijo.

Obvestilo o stanju postopka

Obstaja posebna funkcija, s katero lahko prikažete približen potek postopka.

Sintaksa: Država(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Opcije:<ТекстСообщения>in<Пояснение>– neobvezno, vrsta – Linija.
Besedilo je prikazano v posebni statusni vrstici.
<Прогресс>Parameter je tudi neobvezen, vendar vizualni.
Tip: številka. Vrednost indikatorja napredka (od 1 do 100).
<Картинка>tudi neobvezen parameter.
Pri obdelavi katerega koli dogodka, periodični klici funkcije, kot je:

V tem primeru se lahko oznake spremenijo in vrednosti parametra Napredek se lahko spremenijo.

Funkcijo lahko pokličemo iz ene procedure (funkcije) ali iz večih. Tako lahko spremljate status izvajanja procesa.

Če si želite podrobneje ogledati mehanizem obveščanja, se takoj ustavite in preberite naš novi članek Prikaz napredka dolgotrajnih operacij v 8.3.10. Razlaga, ne več na ravni začetnika, vse tankosti in pasti delovanja tega mehanizma.

Končujemo s predstavitvijo načinov informiranja uporabnika. Upamo, da razumete, v kakšnih situacijah je treba uporabiti eno ali drugo metodo.

Še enkrat bi vas rad opozoril na dejstvo, da če vaša konfiguracija (različica 8.3.3+) vključuje delo s spletnim odjemalcem, potem:

  • na ravni konfiguracije mora biti nastavitev načina modalnosti nastavljena na »Ne uporabljaj«
  • Koda mora uporabljati metode modela asinhrone uporabniške interakcije. Takšne metode se začnejo z besedami Prikaži oz Začeti.

Več o zavrnitvi uporabe modalnih oken v platformi 1C:Enterprise 8.3 lahko preberete v zadnjem članku serije. In gremo naprej in končno začnemo preučevati dolgo pričakovani vmesnik Taxi, ki je bil že večkrat omenjen v naših materialih.