Obavještavanje korisnika 1s. Prikaz upozorenja kada je prozor aplikacije neaktivan

25.10.2019 Recenzije

U programima na platformi 1C:Enterprise poruka se može prikazati korisniku na različite načine.

1. Metoda ShowWarning.

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

Kada koristite ovaj dizajn, u središtu sučelja programa pojavljuje se prozor upozorenja.

Mogućnosti:

Opis Kompletna upozorenja(neobavezno)
Tip: DescriptionAlerts. Sadrži opis procedure koja će biti pozvana nakon zatvaranja prozora upozorenja sa sljedećim parametrima: Dodatni parametri - vrijednost koja je navedena prilikom kreiranja objekta Opis upozorenja. Ako parametar nije naveden, po završetku neće biti pozvana nijedna procedura.

Tekst upozorenja(potreban)
Tip: Žica; Formatirani niz. Tekst upozorenja.

Istek vremena (nije obavezno)
Tip: Broj. Vremenski interval u sekundama tijekom kojeg će sustav čekati na odgovor korisnika. Kada interval istekne, prozor upozorenja će se zatvoriti. Ako parametar nije naveden, tada je vrijeme čekanja neograničeno. Ako je parametar negativan, bit će izbačena iznimka. Zadana vrijednost: 0.

naslov (neobavezno)
Tip: Žica. Sadrži naslov prozora upozorenja. Opis: Prikazuje prozor upozorenja, ali ne čeka da se zatvori.

Dostupnost: tanki klijent, web klijent, debeli klijent, mobilna aplikacija (klijent).

Napomena: Ako se bilo koji kod mora izvršiti nakon što korisnik zatvori prozor upozorenja, mora se smjestiti u zasebnu proceduru modula i opisati u parametru.

2. Upozorenje o metodi.

U sredini sučelja programa pojavljuje se prozor upozorenja. Međutim, ako svojstvo konfiguracije Modaliteti načina korištenja je postavljen na Ne koristi, tada metoda ne radi.

Dostupnost: Tanki klijent, web klijent, mobilni klijent, debeli klijent, mobilna aplikacija (klijent).

3. Metoda ShowUserAlert.

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

Kada koristite ovu metodu, pojavljuje se poruka u donjem desnom kutu sučelja.

Dostupnost: tanki klijent, web klijent, debeli klijent.

4. Metoda izvješća.

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

Dostupnost: tanki klijent, web klijent, mobilni klijent, poslužitelj, debeli klijent, vanjska veza, mobilna aplikacija (klijent), mobilna aplikacija (poslužitelj).

5. Objekt Poruka korisniku.

Dizajniran za pohranjivanje parametara poruke koje je potrebno prikazati korisniku. Ako poruka još nije prikazana korisniku (to se može dogoditi kada radite na strani poslužitelja, u pozadinskom poslu, vanjski priključak ili web usluge), možete primati akumulirane poruke pomoću metode Primanje poruka korisniku.

Svojstva: ID odredišta(ID cilja); DataKey; Polje; DataPath(DataPath); Tekst.

Metode: Poruka; SetData(SetData).

Poruka se pojavljuje na dnu sučelja, u retku.

Poruka = ​​Nova PorukaKorisniku(); Poruka. Tekst = "Nema dovoljno nomenklature"; Poruka. Polje = "Nomenklatura. Količina"; Poruka. PostaviPodatke(ObjektPodataka); Poruka. Prijaviti() ;

Razvoj je dizajniran za obavještavanje korisnika, i selektivno i sve, također možete jednostavno pisati poruke ili voditi korespondenciju između korisnika.

Razvoj je registar informacija i promjena u modulu upravljane ili obične aplikacije.
Da biste pokrenuli upozorenje, morate dodati unos u registar informacija, korisnici će primati obavijesti tijekom razdoblja navedenog između početka i kraja vremena obavijesti.

UPRAVLJANA APLIKACIJA

REDOVITA PRIMJENA

Prikazan prozor upozorenja u korisničkom programu blokira cijelo sučelje i korisnici koji rade u ovaj trenutak program neće propustiti obavijest i pročitat će je u skladu s tim.

UPRAVLJANA APLIKACIJA

REDOVITA PRIMJENA

Popis registracija

Na popisu obavijesti možete vidjeti tko je primio obavijest i tko ju je pročitao.

UPRAVLJANA APLIKACIJA

REDOVITA PRIMJENA

Da biste implementirali razvoj u svoju konfiguraciju, morate:

  1. Postavite mogućnost uređivanja konfiguracije.
  2. Usporedite s konfiguracijom dostavljenom u ovoj publikaciji. Dodat će se registar informacija "Korisnička upozorenja" i unos u regularni ili upravljani aplikacijski modul, ovisno o primarnom načinu pokretanja aplikacije.

    Redovni ili upravljani unos aplikacijskog modula razlikuje se:

    UPRAVLJANA APLIKACIJA

Procedura kada se sustav pokrene() //Izmjena standardne konfiguracije za obavještavanje korisnika programa (slanje poruke bilo kojem korisniku) //Prikladno za sve konfiguracije ConnectWaitingHandler("modNotificationProcessingHandler", 60); Kraj procedure // Kada se sustav pokrene () // Promjena standardne konfiguracije za obavještavanje korisnika o programu (slanje poruke bilo kojem korisniku) // Prikladno za sve konfiguracije // Pozivanje rukovatelja čekanjem nastavlja se dok se obrazac ne zatvori // ili dok se ne pozove metoda obrasca. Procedura modNotificationProcessingHandler( ) Eksport poruke korisniku = 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"); Obrazac.Otvori(); Else Form.Activate(); završi ako; završi ako; Kraj procedure REGULARNA PRIMJENA Postupak kada se sustav pokrene() //Izmjena standardne konfiguracije za obavještavanje korisnika programa (slanje poruke bilo kojem korisniku) //Prikladno za sve konfiguracije ConnectWaitingHandler("modNotificationProcessingHandler", 60); Kraj procedure // Kada se sustav pokrene () // Promjena standardne konfiguracije za obavještavanje korisnika o programu (slanje poruke bilo kojem korisniku) // Prikladno za sve konfiguracije // Pozivanje rukovatelja čekanjem nastavlja se dok se obrazac ne zatvori // ili dok se ne pozove metoda obrasca. Procedura modNotificationProcessingHandler( ) Izvoz poruke korisniku = Information Registrs.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(); završi ako; završi ako; Kraj postupka

Implementacija razvoja je besplatna i dovršena u roku od 10 minuta.

Besplatna tehnička podrška 30 dana.
U

Razvoj je namijenjen za platformu 8.3, razne standardne i nestandardne konfiguracije, u tankom, debelom klijentu i web klijentu.

Moguća je neovisna izmjena, kod je otvoren za uređivanje.

Razlozi za kupnju

Vrlo prikladna opcija za uzbunjivanje, obavještavanje korisnika 1C tehnički rad, izmjene konfiguracija, ažuriranja, mogućnost dopisivanja između 1C korisnika u okviru 1. programa.

Prednosti

1) 100% isporuka upozorenja svim korisnicima, za razliku od analoga.
2) Mogućnost slanja slika.
3) Pregled aktivnosti korisnika na popisu poruka (tko je isporučen, tko je pročitao).
4) Mogućnost pisanja odgovora osobi koja je poslala obavijest.
5) Ne utječe na druge objekte prilikom ažuriranja konfiguracija s instaliranom opcijom uređivanja.

Povrat novca zagarantovan

Infostart doo Vam jamči 100% povrat novca ako program ne odgovara deklariranoj funkcionalnosti iz opisa. Novac je moguće vratiti u cijelosti ako to zatražite u roku od 14 dana od dana kada je novac primljen na naš račun.

Program je toliko dokazano da radi da s potpunim povjerenjem možemo dati takvo jamstvo. Želimo da svi naši kupci budu zadovoljni kupnjom.

Članak nastavlja seriju članaka "Prvi koraci u razvoju na 1C".

U njemu ćemo pogledati metode informiranja korisnika koje su prisutne u platformi 1C:Enterprise 8, a također ćemo usredotočiti vašu pozornost na neke značajke rada ovih mehanizama; te su značajke povezane s načinom korištenja modaliteta .

Primjenjivost

U članku se govori o funkcionalnosti:

  • Sučelje u verziji “Version 8.2” za konfiguraciju razvijenu na platformi 1C:Enterprise 8.2.19.130
  • Taxi sučelje za konfiguraciju razvijeno na platformi 1C:Enterprise 8.3.4.496 do 8.3.9+
  • Taxi sučelje za konfiguraciju razvijenu na platformi 1C:Enterprise 8.3.10-8.3.11

Kako prikazati poruku korisniku u 1C

Prikaz poruka u korisničkom načinu rada rješava niz problema:

  • odraz napretka trenutnog procesa (prikaz faze izvršenja procesa; prikaz izračunatih vrijednosti dobivenih tijekom rada algoritma);
  • prikazivanje grešaka korisniku za moguće ispravljanje;
  • izdavanje preporuka;

Vrste poruka:

  • Terminatori, koji zaustavljaju izvođenje programa i ne dopuštaju mu nastavak dok korisnik ne pročita ovu poruku i ne izvrši određene radnje. Na primjer, korisniku će se na zaslonu prikazati pitanje na koje će trebati odgovoriti Da ili Ne. Sve dok korisnik ne odgovori, program se ne izvršava daljnje akcije;
  • uvodne poruke koje se jednostavno prikazuju korisniku i omogućuju daljnji rad (tj. koriste se u modu upozorenja).

Poruke o prekidu trebaju biti poruke o grešci, a uvodne poruke: preporuke, poruke o trenutnoj fazi procesa i prikaz izračunatih vrijednosti (debug ispis).

Uvodne poruke imaju za cilj pružiti korisniku neke informacije.

Potrebno je da se korisnik upozna s njom i, eventualno, poduzme neke radnje koje su opisane u ovoj poruci.

Vrlo je važno da korisnik doista pročita te poruke, stoga bi trebale sadržavati samo važne informacije.

Poruke za testiranje i otklanjanje pogrešaka ne bi trebale biti izdane korisniku, jer prije ili kasnije počet će ignorirati apsolutno sve poruke.

U konceptu upravljanog sučelja, pristup izdavanju poruke se donekle promijenio. Sada je vezan za oblik u kojem je nastao. Više se ne može zatvoriti tako da je tekst potpuno nevidljiv.

Ne možete otkvačiti okvir s porukom s obrasca.

Sintaksa funkcije:

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

Oni. prvi parametar je sam tekst.

Drugi parametar (status poruke) nije obavezan. Možete odrediti vrijednosti za status: Normalan, Važno, Jako važno itd.

Iz dana vrijednost ovisi o tome koja će se ikona nalaziti uz poruku. Međutim, ovo radi samo u normalnom sučelju.

U konceptu upravljanog sučelja, ikona je uvijek uskličnik i ne može se nadjačati.

Činjenica je da ako se poruka generira u vrijeme pisanja elementa imenika, može se dogoditi sljedeća situacija.

Korisnik klikne na gumb Spremi i zatvori, u ovom slučaju poruka se prikazuje u odgovarajućem prozoru (desno od obrasca).

Ali obrazac se odmah zatvara i korisnik neće vidjeti da su mu prikazane bilo kakve informacije.

Stoga se u konceptu upravljane aplikacije preporuča prikaz uvodnih poruka pomoću tzv. upozorenja. Primjer neispravne upotrebe funkcije Prijaviti predstavljen na slici.

Međutim, funkcija Prijaviti može se koristiti za prikaz informacija o određenim pogreškama, na primjer, u trenutku knjiženja dokumenta.

U tom slučaju sustav se može obavijestiti da obrazac ne treba zatvarati i pokazati korisniku koje se greške pojavljuju prilikom knjiženja dokumenta.

Funkcija Prijaviti potpuno podržan u Platformi 8.3. Može se koristiti i radit će (i u verziji datoteke i u verziji klijent-poslužitelj).

Ali također treba napomenuti da funkcija Prijaviti Postoji daljnji razvoj - ovo je klasa poruka za korisnika, koja omogućuje, osim prikazivanja poruke, njeno kontekstualno vezivanje za bilo koji element obrasca.

Na primjer, poruka o pogrešci može se vezati uz element obrasca, što je vrlo jasno korisniku. Vratit ćemo se da razmotrimo ovo pitanje malo kasnije. Funkcija Prijaviti postoji zanimljiva značajka.

Stoga se programski kod u Platformi 8.3 može izvršiti i na strani klijenta i na strani poslužitelja.

U ovom slučaju, programski kod klijenta odgovoran je za interakciju s korisnikom, tj. Na strani klijenta otvaraju se obrasci i prikazuju izvješća.

Razni dijaloški dokumenti također se prikazuju samo na klijentu. Ne mogu se izvršiti na poslužitelju jer poslužitelj nema mogućnost interakcije s korisnicima.

Ali funkcija Prijaviti može se izvršiti i na strani klijenta i na strani poslužitelja. U ovom slučaju, korištenje metode Prijaviti na poslužitelju uopće ne znači da će poruka biti prikazana na poslužitelju, jednostavno ih nema gdje prikazati.

To znači da ako ovom metodom prikažemo poruku u poslužiteljskoj proceduri, one će se akumulirati u nekom međuspremniku i bit će prikazane na ekranu tek kada poslužiteljska procedura završi i vrati se klijentu.

U ovom trenutku, sustav će zatražiti podatke iz međuspremnika i prikazati ih na ekranu.

Ista značajka vrijedi i za klasu Poruka korisniku. Na slici je prikazan primjer korištenja metode Prijaviti na strani poslužitelja.

Kao rezultat korištenja metode Prijaviti na strani poslužitelja, poruke su prikazane na ekranu na strani klijenta.

Potreban je mehanizam upozorenja kako bi obavijestio korisnika da se "nešto" dogodilo u sustavu i da "nešto" zahtijeva pozornost korisnika. Upozorenja se generiraju prema dva scenarija:

  1. Samom platformom prilikom interaktivnog snimanja ili mijenjanja objekta
  2. Od strane programera prilikom pozivanja metode u kodu .

Sama obavijest je mali prozor koji se u pravilu pojavljuje u donjem desnom kutu i obavještava o dovršenoj radnji. U roku od nekoliko sekundi postupno blijedi i nestaje. Istodobno, ako kursorom miša prijeđete preko obavijesti, ona ne nestaje i možete je pažljivo pročitati.

Osim toga, upozorenjima se može pristupiti u odgovarajućem području informacijske ploče (gumb "Povijest" u donjem lijevom kutu obrasca za prijavu u opciji sučelja "Verzija 8.2").

Da biste izradili vlastita upozorenja, morate koristiti metodu globalnog konteksta ShowUserAlert(). Njegova sintaksa prije verzije 8.3.10 prikazana je u nastavku:

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

Prvi parametar sadrži tekst koji će biti prikazan u obavijesti.

Zatim, kao drugi parametar, elementu možete proslijediti određenu navigacijsku vezu informacijska baza(element koji odgovara tekstu naše poruke). Kada korisnik klikne na upozorenje, slijedit će poveznicu.

Pomoću trećeg parametra možete proslijediti objašnjenje poruke, tj. neki prošireni opis.

Također možete dodijeliti sliku koja prikazuje status obavijesti.

Treba napomenuti da su svi ovi parametri opcijski. Ispod je primjer korištenja ovu metodu(u konfiguratoru iu korisničkom načinu rada u opciji sučelja “Version 8.2”).

U verziji platforme 8.3.10.216 za sučelje “Taxi” značajno je poboljšan mehanizam obavijesti kako bi se poboljšala upotrebljivost tankog i web klijenta. Iz tog razloga, parametri proslijeđeni metodi također su se promijenili ShowUserAlert(). Sada sintaksa izgleda ovako:

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

Vidi se da je drugi parametar, prethodno pozvan Navigacijska poveznica, dobio je novo ime ActionWhenClicked. To je zbog činjenice da je sada moguće poslati ne samo niz s navigacijskom vezom, već i opis upozorenja. To je ilustrirano na snimci zaslona u nastavku:

Kao što je vidljivo iz primjera, sada imamo mogućnost programske obrade klika na prozor obavijesti, prema logici koja je potrebna.

Sljedeći parametar Status upozorenja korisnika pojavio po prvi put. Označava status upozorenja (Informacija ili Važno).

U slučaju opcije Važno, ako korisnik nije odgovorio na poruku, nakon što se ista sakrije s ekrana, može se pročitati kroz Centar za obavijesti (više o tome u nastavku). U slučaju opcije Informacije, obavijest se briše bez pohranjivanja u ovom centru. Napišimo ponovno kod iz našeg primjera kao što je prikazano u nastavku:

Nakon izvršenja naredbe dobivamo otprilike ovakav prikaz prozora aplikacije:

Na alatnoj traci pojavio se gumb sa ikonom zvona koji poziva gore spomenuti Centar za obavijesti. Akumulira nova važna upozorenja na koja korisnik još nije odgovorio.

Ako u Centru postoje upozorenja, pored njih se pojavljuje mala narančasta točka koja privlači pažnju korisnika. Korisnik može otvoriti Centar za obavijesti, pročitati tekst i po potrebi poduzeti neke radnje.

Iz Centra se upozorenje briše klikom na gumb za brisanje, ali ako postoji neka radnja povezana s upozorenjem, čim korisnik klikne na tekst poruke, ono će također nestati.

I na kraju, posljednji dodan parametar bio je Ključ jedinstvenosti. Pomoću nje možete pronaći upozorenje prikazano na zaslonu i promijeniti ga. Ako nema upozorenja s ovim parametrom, prikazat će se novo upozorenje.

Kao što vidite, mogućnosti koje pruža odgovarajuća metoda postale su još veće! Ali to nisu sve promjene u mehanizmu obavješćivanja.

Kao što ste već mogli primijetiti, njihov izgled. Upozorenja sada izgledaju modernije i ergonomičnije, ali se ne mogu pomicati po zaslonu niti im se mijenjati veličina. Napominjemo da u našem primjeru tekst obavijesti jednostavno nije u cijelosti stao u sam prozor te će ga korisnik moći pročitati u cijelosti tek otvaranjem Centra za obavijesti. Stoga ne biste trebali pisati veliku količinu teksta u tekstu obavijesti.

Nove značajke također uključuju istodobni prikaz do tri upozorenja na zaslonu.

Ovime završavamo naše upoznavanje sa softverskim generiranjem upozorenja. Međutim, zapamtite da upozorenja ne generira samo razvojni programer programski, već i sama platforma u vrijeme interaktivnog snimanja ili mijenjanja objekta. I često ova činjenica izaziva nesporazum prvenstveno među korisnicima početnicima: zašto su potrebna ova upozorenja o uslugama, koja se, usput, ne mogu isključiti?

Zamislimo ovo jednostavna situacija: Korisnik je postavio filtar na nekom popisu radi praktičnosti. Recimo da je to učinio u obliku popisa u imeniku Nomenklatura. Onda sam se nakon nekog vremena odlučio predstaviti novi element s nazivom “Chair”, koji ne odgovara prethodno instaliranom filtru. Unosi, zapisuje i...? I ne vidi ga na popisu. Što će učiniti prosječni korisnik? Naravno, ući će u njega drugi put, ali ga više neće vidjeti. Nakon toga može uslijediti treći, četvrti, peti put. Kad mu dosadi stalno ulaziti u jedno te isto, na kraju će vas pitati: gdje sve ide?

Upravo zbog toga platforma prikazuje ova servisna upozorenja, obavještavajući korisnika da je njegova radnja dovršena. U našem primjeru, u trenutku interaktivnog snimanja, korisnik će vidjeti sljedeću obavijest:

Poruke o prekidu

Završne poruke su one poruke koje neće dopustiti rad dok korisnik ne izvrši određene radnje, tj. dok ne obradi poruku.

O mogućnosti korištenja poruka o prekidu u Platformi 8.3 razgovarat ćemo malo kasnije (u posljednje vrijeme pokušavaju ih ne koristiti, pa je razmatrani primjer relevantniji za Platformu 8.2).

Postoje dvije metode za izdavanje poruka o prekidu Upozorenje I Pitanje. Upozorenje razlikuje se od Pitanje jer ima jedno dugme u redu.

Pitanje može navesti različite skupove opcija odgovora ( Ne baš, DaNeOdustani, u redu, OKOdustani, Ponovi Odustani, Prekini ponavljanje preskakanja), koji su navedeni pomoću parametra.

Prikažimo neka upozorenja pomoću retka (na primjer, u modulu upravljane aplikacije):

Upozorenje (“Baza će sada biti otvorena”);

Za otvaranje modula upravljane aplikacije odaberite objekt u konfiguracijskom stablu Konfiguracija, nazovi kontekstni izbornik i odaberite stavku Otvorite modul upravljane aplikacije.

U tom slučaju, kada se aplikacija pokrene, prikazat će se prozor koji je modalan. Modalni prozor preklapa sve prozore koji postoje u aplikaciji. Sve dok ne obradimo ovaj prozor, daljnje radnje nisu moguće.

Funkcija radi na sličan način Pitanje.

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

Obavezna su samo prva dva parametra. Za drugi parametar tip podataka je kompozitni ( Način dijaloga Pitanje ili ListValues). Treći parametar ( <Таймаут> ) karakterizira vremenski interval u sekundama tijekom kojeg će sustav čekati na odgovor korisnika.

Kada interval istekne, prozor pitanja će se zatvoriti. Sličan parametar ( <Таймаут> ) također je dostupna za funkciju Upozorenje.

Kao primjer korištenja funkcije Pitanje Možete koristiti sljedeći kod, napisan u modulu upravljane aplikacije:

Imajte na umu da ove metode ( Upozorenje I Pitanje) nisu dostupni na poslužitelju. I to je logično, jer se metode sučelja ne mogu izvršiti na poslužitelju na kojem nema korisnika.

Značajke korištenja modalni prozori u Platformi 8.3

U platformi 8.3 postoje načini rada sa i bez modaliteta. Zadana postavka je Ne koristi način rada.

U tom slučaju korištenje poruka o prekidu nije moguće. Ako je potrebno koristiti poruke prekida (funkcije Upozorenje I Pitanje) trebali biste promijeniti vrijednost svojstva konfiguracije na Koristiti.

Modalni prozor se prikazuje na samom vrhu i blokira rad s drugim prozorima dok se radnje s modalnim prozorom ne završe. Osim toga, izvršenje programskog koda se zaustavlja na mjestu gdje se poziva ovaj prozor. Izvršenje koda nastavit će se tek nakon zatvaranja modalnog prozora.

Prvo, nastaju problemi s korištenjem modalnih prozora Mobilna aplikacija. Drugo, u pregledniku se modalitet prozora implementira pomoću zasebnih skočnih prozora.

Skočni prozori često su onemogućeni zadanim postavkama preglednika. Korisnik mora biti prisiljen postaviti dozvolu za ove prozore.

Preglednici za tablet računala a za telefone u većini slučajeva uopće ne podržavaju skočne prozore.

Za zamjenu funkcija Pitanje I Upozorenje razvijene su nove metode: ShowQuestion, ShowWarning.

Ove metode omogućuju pozivanje prozora, ali ne zaustavljaju izvođenje programskog koda. Tehnički, to se postiže formiranjem pseudo-prozora unutar nadređenog prozora. Pseudo-prozor se ne preklapa s nadređenim prozorom. Nakon otvaranja takvog prozora, kôd se nastavlja izvršavati.

Primanje i obrada korisnički unesenih vrijednosti provodi se u zasebnoj proceduri koja se poziva kada se dijaloški okvir zatvori.

Sintaksa funkcije ShowWarning:

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

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

Tip podataka: Opis upozorenja.

Sadrži opis procedure koja će biti pozvana nakon zatvaranja prozora upozorenja.

Sintaksa funkcije ShowQuestion:

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

Prva tri parametra su obavezna.

Ispod je primjer korištenja funkcije.

Klasa MessageToUser

Osnovna pogodnost klase poruka Poruka korisniku je da je ovo kontekstualna poruka (za razliku od metoda Upozorenje I Pitanje).

Poruke se mogu vezati uz određeni element zaslona. Ovaj je objekt također dostupan na poslužitelju.

Imajte na umu da, prvo, ovaj objekt mora biti kreiran. Na primjer: Poruka = ​​Nova porukaKorisniku;

Tako stvaramo instancu ovog objekta.

Drugo, trebate navesti tekst poruke u zasebnom svojstvu.

Treće, u vlasništvu Polje Možete odrediti kojem elementu obrasca treba priložiti ovu poruku.

Pažnja! Za vezanje na željeno polje obrasca obratite pozornost na inicijalizaciju svojstava Put do podataka I DataKey. Za dokument, kada postavljate kod u objektni modul, možete napisati:

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

Da biste otvorili modul dokumenta, u prozoru za uređivanje objekta (dokumenta) idite na karticu ostalo pritisni gumb Objektni modul.

Za eksperiment ćemo postaviti kod u objektni modul dokumenta.

Ispod je rezultat dobiven u korisničkom načinu rada za Platformu 8.3.

Treba napomenuti da poruke izlaze pomoću novog sistemskog objekta Poruka korisniku u općem slučaju ne završavaju. Oni. sustav će omogućiti korisniku nastavak daljnjih radnji bez odgovaranja na prikazane poruke.

Ali, prvo, te su poruke prilično uočljive. Drugo, poruke se obično prikazuju korisniku u trenutku snimanja elemenata imenika ili knjiženja dokumenata, tj. kada se provode neke provjere. A ako su otkrivene pogreške, korisnik će vidjeti te iste poruke.

Sukladno tome, kada se otkriju pogreške, transakcija se poništava, tj. zabranjeno je pisanje elementa imenika ili objavljivanje dokumenta.

Tako dolazi do svojevrsne emulacije terminacijske poruke. Budući da se radnja poništava dok korisnik ne reagira na unesenu poruku, bit će nemoguće izvršiti radnju, na primjer, objavu dokumenta.

Ali, s druge strane, moguće je zatvoriti dokument bez provođenja, bez reagiranja na poruku na bilo koji način. Stoga se ove poruke korisniku ne završavaju.

Obavijest o statusu procesa

Postoji posebna funkcija pomoću koje možete prikazati približan napredak procesa.

Sintaksa: Država(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Mogućnosti:<ТекстСообщения>I<Пояснение>– izborno, tip – Crta.
Tekst se prikazuje na posebnoj statusnoj traci.
<Прогресс>Parametar je također neobavezan, ali vizualni.
Tip: Broj. Vrijednost indikatora napretka (od 1 do 100).
<Картинка>također izborni parametar.
Prilikom obrade bilo kojeg događaja, periodični pozivi funkcije kao što su:

U tom slučaju, oznake se mogu promijeniti, a vrijednosti parametra Napredak mogu se promijeniti.

Funkcija se može pozvati iz jedne procedure (funkcije) ili iz više njih. Na taj način možete pratiti status izvršenja procesa.

Ako želite pobliže pogledati mehanizam obavijesti, zaustavite se odmah i pročitajte naš novi članak, Prikaz napretka dugotrajnih operacija u 8.3.10. Više ne objašnjava na početničkoj razini sve suptilnosti i podvodne stijene rad ovog mehanizma.

Završavamo upoznavanje s načinima informiranja korisnika. Nadamo se da razumijete u kojim situacijama treba koristiti jednu ili drugu metodu.

Želio bih vam još jednom skrenuti pozornost na činjenicu da ako vaša konfiguracija (verzija 8.3.3+) uključuje rad s web klijentom, tada:

  • na razini konfiguracije postavka načina modaliteta mora biti postavljena na "Ne koristi"
  • Kod mora koristiti metode modela asinkrone korisničke interakcije. Takve metode počinju riječima Pokazati ili Početi.

Više o odbijanju korištenja modalnih prozora u platformi 1C:Enterprise 8.3 možete pročitati u posljednjem članku serije. I idemo dalje i, konačno, počinjemo proučavati dugo očekivano Taxi sučelje, koje je već više puta spomenuto u našim materijalima.

Implementirano u verziji 8.3.10.2168.

Poboljšali smo mehanizam obavijesti korisnika. Sada je jednako prikladno koristiti oba tanak klijent, i u web klijentu. Promijenili smo izgled upozorenja i dodali im niz novih značajki.

Prikaži više upozorenja

U staroj implementaciji samo je jedno upozorenje bilo prikazano na zaslonu u isto vrijeme. Novo upozorenje preklapalo je prethodno. Dakle, ako bi se prikazalo nekoliko upozorenja u nizu, postojala je velika vjerojatnost da korisnik neće imati vremena pročitati prethodno upozorenje, jer bi ono bilo prekriveno sljedećim.

Sada se u većini slučajeva mogu istovremeno prikazati do tri upozorenja:

Ovo vrijedi za tanki klijent, debeli klijent i web klijent koji radi u preglednicima Internet Explorer I Google Chrome . Preglednici Safari I Mozilla Firefox omogućuju vam prikaz neograničenog broja upozorenja, a preglednik Microsoft Edge prikazuje posljednje upozorenje, ali ono sadrži Akcijski centar, u koji se dupliciraju sva upozorenja.

Prikaz upozorenja kada je prozor aplikacije neaktivan

Prethodno su se u web klijentu upozorenja prikazivala samo u aktivnom prozoru preglednika. Ako je korisnik prešao na drugi prozor ili drugu aplikaciju, nije vidio upozorenje. Sada, kada koristite web klijent, obavijesti se prikazuju na ekranu čak i kada je prozor aplikacije minimiziran ili neaktivan.

Kada se metoda pozove prvi put ShowUserAlert() u web klijentu Google Chrome, Mozilla Firefox I Safari Preglednik će od korisnika tražiti dopuštenje za korištenje obavijesti. Korisnik može dopustiti njihov izlaz za ovu aplikaciju, odnosno zabraniti.

Ako korisnik onemogući prikaz obavijesti, tada će se koristiti nova vrsta obavijesti, ali će se prikazati unutar prozora preglednika.

Centar za upozorenja

Kako bismo spriječili da obavijesti zauvijek nestanu, implementirali smo centar za uzbunjivanje. A za sama upozorenja, implementirali smo novo svojstvo - Status upozorenja korisnika. Može imati dva značenja: Informacija I Važno.

Upozorenja sa statusom Informacija prikazuju se na ekranu i nestaju nakon 10 sekundi (u pregledniku Microsoft Edge– nakon 4 sekunde). Upozorenja sa statusom Važno ponašaju se potpuno isto, ali su spremljeni u centru za upozorenja.

Centru za upozorenja može se pristupiti s alatne trake. Činjenica da postoje nova važna upozorenja označena je narančastom točkom pored ikone.

Centar za upozorenja prikazuje važna upozorenja na koja korisnik još nije odgovorio zatvaranjem ili poduzimanjem radnje u vezi s upozorenjem. Upozorenja su navedena redoslijedom kojim se pojavljuju, s najnovijim na vrhu. Na taj način, čak i ako korisnik ode od računala, neće propustiti važne obavijesti.

Upozorenje se može ukloniti s popisa pomoću gumba za brisanje. Ako postoji neka radnja povezana s upozorenjem, nakon klika na tekst upozorenja, ono će također nestati. Tim Očistite upozorenja uklanja sva upozorenja s popisa. Međutim, ako su akcije bile povezane s upozorenjima, one se ne izvršavaju.

Izvršite radnje kada se pritisne

U staroj implementaciji, jedina radnja koju ste mogli izvesti kada ste kliknuli na upozorenje bila je klik na navigacijsku vezu. Proslijeđeno je metodi kao drugi parametar.

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

Sada smo proširili mogućnosti upozorenja, au drugom parametru možete proslijediti ne samo niz s navigacijskom vezom, već i opis upozorenja.

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

Opis upozorenja označava postupak koji treba izvršiti kada se klikne na upozorenje.

Izgled

U tankom klijentu u opciji sučelja Taksi stil obavijesti bit će što bliži stilu obavijesti preglednika Google Chrome korištenjem API za obavijesti.


Ako se koristi opcija sučelje Verzija 8.2, stil upozorenja i ponašanje ostaju isti.

U web klijentu, izgled upozorenja određuje korišteni preglednik. Općenito, upozorenja će izgledati isto kao u tankom klijentu, ali svaki preglednik ima svoje karakteristike. Na primjer, možete usporediti kako će se prikazati ista upozorenja Internet Explorer I Mozilla Firefox.


Osim toga, postoje i druge značajke. Na primjer, u pregledniku Internet Explorer Podržana su samo upozorenja prikazana unutar prozora aplikacije. I u pregledniku Safari parametar Slika nije podržano i upozorenja se prikazuju na vrhu zaslona.