Notificarea utilizatorilor 1s. Afișarea alertelor când fereastra aplicației este inactivă

25.10.2019 Recenzii

În programele de pe platforma 1C:Enterprise, un mesaj poate fi afișat utilizatorului în diferite moduri.

1. Metoda ShowWarning.

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

Când utilizați acest design, o fereastră de avertizare apare în centrul interfeței programului.

Opțiuni:

Descriere Alerte complete(optional)
Tip: Descriere Alerte. Conține o descriere a procedurii care va fi apelată după închiderea ferestrei de alertă cu următorii parametri: Parametri suplimentari - valoarea care a fost specificată la crearea obiectului Alert Description. Dacă parametrul nu este specificat, atunci la finalizare nu va fi apelată nicio procedură.

Text de avertizare(necesar)
Tip: Snur; FormattedString. Text de avertizare.

Timeout (opțional)
Tip: Număr. Intervalul de timp în secunde în care sistemul va aștepta răspunsul utilizatorului. Când intervalul expiră, fereastra de avertizare va fi închisă. Dacă parametrul nu este specificat, atunci timpul de așteptare este nelimitat. Dacă parametrul este negativ, va fi aruncată o excepție. Valoare implicită: 0.

Titlu (opțional)
Tip: șir. Conține titlul ferestrei de avertizare. Descriere: Afișează o fereastră de avertizare, dar nu așteaptă să se închidă.

Disponibilitate: client subțire, client web, client gros, aplicație mobilă (client).

Notă: Dacă orice cod trebuie executat după ce utilizatorul închide fereastra de avertizare, acesta trebuie plasat într-o procedură de modul separată și descris într-un parametru.

2. Avertisment de metodă.

O fereastră de avertizare apare în centrul interfeței programului. Cu toate acestea, dacă proprietatea de configurare Mod de utilizareModalitate este setată la Nu folosiți, atunci metoda nu funcționează.

Disponibilitate: client subțire, client web, client mobil, client gros, aplicație mobilă (client).

3. Metoda ShowUserAlert.

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

Când utilizați această metodă, apare un mesaj în colțul din dreapta jos al interfeței.

Disponibilitate: client subțire, client web, client gros.

4. Metoda raportului.

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

Disponibilitate: Thin client, client web, client mobil, server, client gros, conexiune externă, aplicație mobilă (client), aplicație mobilă (server).

5. Obiect Mesaj pentru utilizator.

Proiectat pentru a stoca parametrii de mesaj care trebuie afișați utilizatorului. Dacă mesajul nu a fost încă afișat utilizatorului (acest lucru se poate întâmpla atunci când lucrați pe partea serverului, într-o lucrare de fundal, conexiune externă sau servicii web), puteți primi mesaje acumulate folosind metoda Primiți mesaje către utilizator.

Proprietăți: ID destinație(TargetID); DataKey; Camp; DataPath(DataPath); Text.

Metode: Mesaj; SetData(SetData).

Mesajul apare în partea de jos a interfeței, într-o linie.

Mesaj = New MessageToUser(); Mesaj. Text = „Nomenclatură insuficientă”; Mesaj. Câmp = "Nomenclatură. Cantitate"; Mesaj. SetData(DataObject) ; Mesaj. A raporta() ;

Dezvoltarea este concepută pentru a notifica utilizatorii, atât selectiv, cât și pe toți, puteți, de asemenea, pur și simplu să scrieți mesaje sau să efectuați corespondență între utilizatori.

Dezvoltarea este un registru de informații și o modificare a unui modul al unei aplicații gestionate sau obișnuite.
Pentru a declanșa o alertă, trebuie să adăugați o intrare în registrul de informații, utilizatorii vor primi notificări în perioada specificată între începutul și sfârșitul orei de notificare.

APLICAȚIE GESTIONATĂ

APLICAȚIE REGULARE

Fereastra de alertă este afișată în programul utilizator blochează întreaga interfață și utilizatorii care lucrează în acest moment programul nu va rata notificarea și o va citi în consecință.

APLICAȚIE GESTIONATĂ

APLICAȚIE REGULARE

Lista de înregistrare

În lista de notificări, puteți vedea cine a primit notificarea și cine a citit-o.

APLICAȚIE GESTIONATĂ

APLICAȚIE REGULARE

Pentru a implementa dezvoltarea în configurația dvs., trebuie să:

  1. Setați posibilitatea de a edita configurația.
  2. Comparați cu configurația furnizată în această publicație. Se va adăuga un registru de informații „Alerte utilizator” și o intrare în modulul aplicației obișnuite sau gestionate, în funcție de modul de lansare principal al aplicației.

    O intrare în modul de aplicație obișnuită sau gestionată diferă:

    APLICAȚIE GESTIONATĂ

Procedură Când pornește sistemul() //Modificarea configurației standard pentru notificarea utilizatorilor programului (trimiterea unui mesaj oricărui utilizator) //Potrivit pentru toate configurațiile ConnectWaitingHandler("modNotificationProcessingHandler", 60); Sfârșitul procedurii // Când sistemul pornește () // Modificarea configurației standard pentru a notifica utilizatorii despre program (trimiterea unui mesaj oricărui utilizator) // Potrivit pentru toate configurațiile // Apelarea operatorului de așteptare continuă până când formularul este închis // sau până când metoda formularului se numește Procedure modNotificationProcessingHandler( ) Export Message to User = GetForm("Information Register.User Alerts.Form.ControlSubmissionForm").GetNotificationProcessingMessages(); Dacă nu MessageToUser = Nedefinit, atunci Form = GetForm("InformationRegister.User Alerts.Form.AlertControl"); Dacă nu Form.Open() Apoi FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.Open(); Altfel Form.Activate(); endIf; endIf; Sfârșitul procedurii APLICAȚIE REGULARE Procedura la pornirea sistemului() //Modificarea configurației standard pentru notificarea utilizatorilor programului (trimiterea unui mesaj oricărui utilizator) //Potrivit pentru toate configurațiile ConnectWaitingHandler("modNotificationProcessingHandler", 60); Sfârșitul procedurii // Când sistemul pornește () // Modificarea configurației standard pentru a notifica utilizatorii despre program (trimiterea unui mesaj oricărui utilizator) // Potrivit pentru toate configurațiile // Apelarea operatorului de așteptare continuă până când formularul este închis // sau până când metoda formularului se numește Procedure modNotificationProcessingHandler( ) Export Message to User = Information Registers.User Alerts.GetNotificationProcessingMessages(); Dacă nu MessageToUser = Nedefinit, atunci Form = GetForm("InformationRegister.User Alerts.Form.AlertUsual"); Dacă nu Form.Open() Apoi FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.OpenModal(); Altfel Form.Activate(); endIf; endIf; Sfârșitul procedurii

Implementarea dezvoltării este gratuită și se finalizează în 10 minute.

Suport tehnic gratuit timp de 30 de zile.
ÎN

Dezvoltarea este destinată platformei 8.3, diverse configurații standard și non-standard, în modurile thin, thick client și web client.

Este posibilă modificarea independentă, codul este deschis pentru editare.

Motive pentru a cumpăra

O opțiune foarte convenabilă pentru alertare, notificarea utilizatorilor 1C despre munca tehnica, modificări ale configurațiilor, actualizări, capacitatea de a coresponde între utilizatorii 1C în cadrul primului program.

Avantaje

1) Livrare 100% de alerte către toți utilizatorii, spre deosebire de analogii.
2) Abilitatea de a trimite imagini.
3) Vizualizați activitatea utilizatorului în lista de mesaje (cine a fost livrat, cine a citit).
4) Capacitatea de a scrie un răspuns persoanei care a trimis notificarea.
5) Nu afectează alte obiecte la actualizarea configurațiilor cu opțiunea de editare instalată.

Banii inapoi garantat

Infostart LLC vă garantează o rambursare de 100% dacă programul nu corespunde funcționalității declarate din descriere. Banii pot fi returnați integral dacă solicitați acest lucru în termen de 14 zile de la data primirii banilor în contul nostru.

Programul a fost atât de dovedit că funcționează, încât putem oferi o astfel de garanție cu deplină încredere. Ne dorim ca toți clienții noștri să fie mulțumiți de achiziția lor.

Articolul continuă seria articolelor „Primii pași în dezvoltare pe 1C”.

În acesta vom analiza metodele de informare a utilizatorului care sunt prezente în platforma 1C:Enterprise 8 și, de asemenea, vă vom concentra atenția asupra unor caracteristici ale funcționării acestor mecanisme; aceste caracteristici sunt legate de modul de utilizare a modalității. .

Aplicabilitate

Articolul discută funcționalitatea:

  • Interfață în versiunea „Versiunea 8.2” pentru configurația dezvoltată pe platforma 1C:Enterprise 8.2.19.130
  • Interfață taxi pentru configurație dezvoltată pe platforma 1C:Enterprise 8.3.4.496 până la 8.3.9+
  • Interfață taxi pentru o configurație dezvoltată pe platforma 1C:Enterprise 8.3.10-8.3.11

Cum să afișați un mesaj utilizatorului în 1C

Afișarea mesajelor în modul utilizator rezolvă o serie de probleme:

  • reflectarea progresului procesului curent (afișarea stadiului de execuție a procesului; afișarea valorilor calculate obținute în timpul funcționării algoritmului);
  • afișarea erorilor către utilizator pentru o eventuală corectare;
  • emiterea de recomandări;

Tipuri de mesaje:

  • Terminatori, care opresc execuția programului și nu îi permit să continue până când utilizatorul citește acest mesaj și efectuează anumite acțiuni. De exemplu, utilizatorului i se va prezenta o întrebare pe ecran la care va trebui să se răspundă Da sau Nu. Până când utilizatorul răspunde, programul nu se execută actiunile urmatoare;
  • mesaje introductive care sunt pur și simplu afișate utilizatorului și permit lucrări ulterioare (adică, utilizate în modul de alertă).

Mesajele de terminare ar trebui să fie mesaje de eroare și mesaje introductive: recomandări, mesaje despre stadiul curent al procesului și afișarea valorilor calculate (printare de depanare).

Mesajele introductive au scopul de a oferi utilizatorului anumite informații.

Este necesar ca utilizatorul să se familiarizeze cu acesta și, eventual, să întreprindă unele acțiuni care sunt descrise în acest mesaj.

Este foarte important ca utilizatorul să citească efectiv aceste mesaje, așa că acestea ar trebui să conțină doar informații importante.

Mesajele de testare și depanare nu ar trebui să fie emise utilizatorului, deoarece mai devreme sau mai târziu va începe să ignore absolut toate mesajele.

În conceptul de interfață gestionată, abordarea emiterii unui mesaj s-a schimbat oarecum. Acum este legat de forma în care a apărut. Nu mai poate fi închis, astfel încât textul să fie complet invizibil.

Nu puteți anula fixarea unei casete de mesaj dintr-un formular.

Sintaxa funcției:

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

Acestea. primul parametru este textul în sine.

Al doilea parametru (starea mesajului) este opțional. Puteți specifica valori pentru starea: Normal, Important, Foarte important etc.

Din valoare dată depinde de ce pictogramă va fi amplasată lângă mesaj. Cu toate acestea, acest lucru funcționează numai în interfața normală.

În conceptul de interfață gestionată, pictograma este întotdeauna un semn de exclamare și nu poate fi suprascrisă.

Faptul este că dacă un mesaj este generat în momentul scrierii unui element de director, poate apărea următoarea situație.

Utilizatorul face clic pe un buton Salveaza si inchide, in acest caz mesajul este afisat in fereastra corespunzatoare (in dreapta formularului).

Dar formularul se închide instantaneu, iar utilizatorul nu va vedea că a fost afișată nicio informație pentru el.

Prin urmare, în conceptul de aplicație gestionată, se recomandă afișarea mesajelor introductive folosind așa-numitele alerte. Un exemplu de utilizare incorectă a unei funcții A raporta prezentate în figură.

Cu toate acestea, funcția A raporta poate fi folosit pentru a afișa informații despre anumite erori, de exemplu, la momentul postării documentului.

În acest caz, sistemul poate fi informat că formularul nu trebuie să fie închis și să arate utilizatorului ce erori apar la postarea documentului.

Funcţie A raporta pe deplin suportat în Platforma 8.3. Poate fi folosit și va funcționa (atât în ​​versiunea de fișier, cât și în versiunea client-server).

Dar trebuie remarcat și faptul că funcția A raporta Există o dezvoltare ulterioară - aceasta este o clasă de mesaje pentru utilizator, care permite, pe lângă afișarea unui mesaj, să-l lege contextual la orice elemente de formular.

De exemplu, un mesaj de eroare poate fi legat de un element de formular, ceea ce este foarte clar pentru utilizator. Vom reveni să luăm în considerare această problemă puțin mai târziu. Funcţie A raporta există o caracteristică interesantă.

Astfel, codul programului din Platforma 8.3 poate fi executat atât pe partea Client, cât și pe partea Server.

În acest caz, codul programului client este responsabil pentru interacțiunea cu utilizatorul, adică. Pe partea clientului, se deschid formulare și sunt afișate rapoarte.

Diverse documente de dialog sunt, de asemenea, afișate numai pe client. Ele nu pot fi executate pe server deoarece serverul nu are capacitatea de a interacționa cu utilizatorii.

Dar funcția A raporta poate fi executat atât pe partea Client cât și pe partea Server. În acest caz, utilizarea metodei A raporta pe Server nu înseamnă deloc că mesajul va fi afișat pe Server, pur și simplu nu există unde să le afișeze.

Aceasta înseamnă că dacă afișăm un mesaj în procedura serverului folosind această metodă, ele se vor acumula într-un buffer și vor fi afișate pe ecran doar când procedura serverului se încheie și revine la Client.

În acest moment, sistemul va solicita date din buffer și le va afișa pe ecran.

Aceeași caracteristică se aplică clasei Mesaj pentru utilizator. Figura prezintă un exemplu de utilizare a metodei A raporta pe partea Server.

Ca urmare a utilizării metodei A raporta pe partea Server, mesajele au fost afișate pe ecran pe partea Client.

Este necesar un mecanism de alertă pentru a informa utilizatorul că „ceva” s-a întâmplat în sistem și că „ceva” necesită atenția utilizatorului. Alertele sunt generate de două scenarii:

  1. Prin platforma în sine atunci când înregistrați sau schimbați interactiv un obiect
  2. De către dezvoltator atunci când apelează o metodă din cod .

Notificarea în sine este o fereastră mică care apare, de regulă, în colțul din dreapta jos și informează despre acțiunea finalizată. În câteva secunde, se estompează treptat și dispare. În același timp, dacă treci cu cursorul mouse-ului peste notificare, aceasta nu dispare și o poți citi cu atenție.

În plus, alertele pot fi accesate în zona corespunzătoare a panoului de informații (butonul „Istoric” din partea stângă jos a formularului de cerere în opțiunea de interfață „Versiunea 8.2”).

Pentru a vă crea propriile alerte, trebuie să utilizați metoda contextului global ShowUserAlert(). Sintaxa sa înainte de versiunea 8.3.10 este prezentată mai jos:

Afișați alertă utilizator (<Текст>, <НавигационнаяССылка>, <Пояснение>, <Картинка>)

Primul parametru conține textul care va fi afișat în notificare.

Apoi, ca al doilea parametru, puteți trece un anumit link de navigare unui element baza de informatii(elementul care corespunde textului mesajului nostru). Când un utilizator face clic pe o alertă, linkul va fi urmat.

Folosind al treilea parametru, puteți transmite o explicație pentru mesaj, de exemplu. o descriere extinsă.

De asemenea, puteți aloca o imagine care afișează starea notificării.

Trebuie remarcat faptul că toți acești parametri sunt opționali. Mai jos este un exemplu de utilizare aceasta metoda(în configurator și în modul utilizator în opțiunea de interfață „Versiunea 8.2”).

În versiunea platformei 8.3.10.216 pentru interfața „Taxi”, mecanismul de notificare a fost îmbunătățit semnificativ pentru a îmbunătăți gradul de utilizare atât a clientului subțire, cât și a clientului web. Din acest motiv, s-au modificat și parametrii trecuți metodei ShowUserAlert(). Acum sintaxa arată astfel:

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

Se poate observa că al doilea parametru, numit anterior Legătură de navigație, a primit un nume nou ActionWhenClicked. Acest lucru se datorează faptului că acum este posibil să trimiteți nu numai un șir cu un link de navigare, ci și o descriere a alertei. Acest lucru este ilustrat în captura de ecran de mai jos:

După cum se poate vedea din exemplu, acum avem capacitatea de a procesa programatic un clic pe o fereastră de notificare, conform logicii necesare.

Următorul parametru Stare alertă utilizator a aparut pentru prima data. Indică starea alertei (Informații sau Important).

În cazul opțiunii Important, dacă utilizatorul nu a răspuns la mesaj, atunci după ce acesta este ascuns de pe ecran, acesta poate fi citit prin Centrul de notificare (mai multe despre el mai jos). În cazul opțiunii Informații, notificarea este ștearsă fără a fi stocată în acest centru. Să rescriem codul din exemplul nostru, după cum urmează:

După executarea comenzii, obținem aproximativ această vedere a ferestrei aplicației:

Un buton cu o pictogramă clopoțel a apărut în bara de instrumente, care apelează Centrul de notificare menționat mai sus. Acumulează noi alerte importante la care utilizatorul nu a răspuns încă.

Dacă există alerte în Centru, lângă el apare un mic punct portocaliu pentru a atrage atenția utilizatorului. Utilizatorul poate deschide Centrul de notificare, poate citi textul și, dacă este necesar, poate întreprinde unele acțiuni.

Din Centru, alerta este ștearsă făcând clic pe butonul de ștergere, dar dacă există o acțiune asociată cu alerta, atunci de îndată ce utilizatorul face clic pe textul mesajului, acesta va dispărea și el.

Și, în sfârșit, ultimul parametru adăugat a fost Cheia unicității. Îl puteți folosi pentru a găsi alerta afișată pe ecran și pentru a o modifica. Dacă nu există nicio alertă cu acest parametru, va fi afișată o nouă alertă.

După cum puteți vedea, posibilitățile oferite de metoda corespunzătoare au devenit și mai mari! Dar acestea nu sunt toate modificările în mecanismul de notificare.

După cum probabil ați observat deja, lor aspect. Alertele arată acum mai moderne și mai ergonomice, dar nu pot fi mutate pe ecran sau redimensionate. Vă rugăm să rețineți că, în exemplul nostru, textul de notificare pur și simplu nu s-a încadrat în întregime în fereastra în sine, iar utilizatorul îl va putea citi în întregime doar prin deschiderea Centrului de notificări. Prin urmare, nu ar trebui să scrieți o cantitate mare de text în textul de notificare.

Noile funcții includ și afișarea simultană a până la trei alerte pe ecran.

Aceasta încheie cunoștințele noastre cu generarea software-ului de alerte. Totuși, rețineți că alertele sunt generate nu numai de dezvoltator în mod programatic, ci și de platforma însăși în momentul înregistrării interactive sau al schimbării unui obiect. Și adesea acest fapt provoacă neînțelegeri în primul rând în rândul utilizatorilor începători: de ce sunt necesare aceste alerte de serviciu, care, apropo, nu pot fi dezactivate?

Să ne imaginăm asta situatie simpla: Utilizatorul a setat un filtru într-o listă pentru comoditate. Să presupunem că a făcut asta sub forma unei liste în directorul Nomenclatură. Apoi, după ceva timp, am decis să vă prezint element nou cu numele „Scaun”, care nu se potrivește cu filtrul instalat anterior. Intră în el, îl notează și...? Și nu o vede pe listă. Ce va face utilizatorul mediu? Desigur, va intra în el a doua oară, dar nu o va mai vedea. Aceasta poate fi urmată de a treia, a patra, a cincea oară. Când se sătura să intre în același lucru iar și iar, te va întreba în sfârșit: unde se duce totul?

Tocmai de aceea platforma afișează aceste alerte de service, informând utilizatorul că acțiunea sa a fost finalizată. În exemplul nostru, în momentul înregistrării interactive, utilizatorul va vedea următoarea notificare:

Mesaje de terminare

Mesajele de terminare sunt acele mesaje care nu vor permite lucrul până când utilizatorul efectuează anumite acțiuni, de ex. până când procesează mesajul.

Despre posibilitatea utilizării mesajelor de terminare în Platforma 8.3 vom vorbi puțin mai târziu (în ultimul timp au încercat să nu le folosească, așa că exemplul luat în considerare este mai relevant pentru Platforma 8.2).

Există două metode de emitere a mesajelor de terminare AvertizareȘi Întrebare. Avertizare difera de Întrebare deoarece are un singur buton Bine.

O întrebare poate specifica seturi diferite de opțiuni de răspuns ( Nu chiar, DaNuAnulează, Bine, OKAnulează, RepetAnulare, AbortRepeatSkip), care sunt specificate folosind parametrul.

Să afișăm niște avertismente folosind linia (de exemplu, într-un modul de aplicație gestionată):

Avertisment(„Baza va fi acum deschisă”);

Pentru a deschide un modul de aplicație gestionat, selectați obiectul din arborele de configurare Configurare, apel meniul contextualși selectați elementul Deschideți un modul de aplicație gestionat.

În acest caz, la lansarea aplicației, va fi afișată o fereastră care este modală. O fereastră modală se suprapune pe toate ferestrele care există în aplicație. Până când procesăm această fereastră, nu sunt posibile alte acțiuni.

Funcția funcționează într-un mod similar Întrebare.

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

Sunt necesari doar primii doi parametri. Pentru al doilea parametru, tipul de date este compus ( Modul de dialog Întrebare sau ListValues). Al treilea parametru ( <Таймаут> ) caracterizează intervalul de timp în secunde în care sistemul va aștepta răspunsul utilizatorului.

Când intervalul expiră, fereastra de întrebări va fi închisă. Parametru similar( <Таймаут> ) este disponibil și pentru această funcție Avertizare.

Ca exemplu de utilizare a funcției Întrebare Puteți utiliza următorul cod, scris într-un modul de aplicație gestionat:

Vă rugăm să rețineți că aceste metode ( AvertizareȘi Întrebare) nu sunt disponibile pe server. Și acest lucru este logic, deoarece metodele de interfață nu pot fi executate pe un Server unde nu există utilizator.

Caracteristici de utilizare ferestre modaleîn Platforma 8.3

În platforma 8.3, există moduri de operare cu și fără modalitate. Setarea implicită este Nu utilizați modul modality.

În acest caz, utilizarea mesajelor de reziliere este imposibilă. Dacă este necesar să folosiți mesaje de terminare (funcții AvertizareȘi Întrebare) ar trebui să modificați valoarea proprietății de configurare pe Utilizare.

Fereastra modală este afișată în partea de sus și blocurile funcționează cu alte ferestre până când acțiunile cu fereastra modală sunt finalizate. În plus, execuția codului programului se oprește în punctul în care este apelată această fereastră. Execuția codului va continua numai după ce fereastra modală este închisă.

În primul rând, apar probleme cu utilizarea ferestrelor modale pentru aplicatie de mobil. În al doilea rând, în browser, modalitatea ferestrelor este implementată folosind ferestre pop-up separate.

Ferestrele pop-up sunt adesea dezactivate prin setările implicite ale browserului. Utilizatorul trebuie să fie forțat să seteze permisiunea pentru aceste ferestre.

Browsere pentru tablete iar pentru telefoane în majoritatea cazurilor nu acceptă deloc ferestre pop-up.

Pentru a înlocui funcțiile ÎntrebareȘi Avertizare au fost dezvoltate noi metode: Afișează întrebarea, ShowWarning.

Aceste metode vă permit să apelați o fereastră, dar nu opresc execuția codului programului. Din punct de vedere tehnic, acest lucru se realizează prin formarea unei pseudo-fereastră în interiorul ferestrei părinte. Pseudo-fereastra nu se suprapune cu fereastra părinte. După deschiderea unei astfel de ferestre, codul continuă să se execute.

Primirea și procesarea valorilor introduse de utilizator se efectuează într-o procedură separată, care este numită atunci când caseta de dialog este închisă.

Sintaxa funcției ShowWarning:

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

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

Tip de date: DescriereAlerte.

Conține o descriere a procedurii care va fi apelată după închiderea ferestrei de avertizare.

Sintaxa funcției Afișează întrebarea:

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

Primii trei parametri sunt necesari.

Mai jos este un exemplu de utilizare a funcției.

Clasa MessageToUser

Comoditatea de bază a clasei de mesaje Mesaj pentru utilizator este că acesta este un mesaj contextual (spre deosebire de metode AvertizareȘi Întrebare).

Mesajele pot fi legate de un anumit element de ecran. Acest obiect este disponibil și pe Server.

Vă rugăm să rețineți că, în primul rând, acest obiect trebuie creat. De exemplu: Mesaj = New MessageToUser;

Astfel creăm o instanță a acestui obiect.

În al doilea rând, trebuie să specificați textul mesajului într-o proprietate separată.

În al treilea rând, în proprietate Camp Puteți specifica la ce element de formular trebuie atașat acest mesaj.

Atenţie! Pentru a vă lega la câmpul de formular dorit, acordați atenție inițializării proprietăților PathToDataȘi DataKey. Pentru un document, atunci când plasați cod într-un modul obiect, puteți scrie:

Message.DataPath = „Obiect”;
Message.DataKey = ThisObject.Link;

Pentru a deschide modulul document, în fereastra de editare a obiectului (documentului), accesați fila Alte apasa butonul Modul obiect.

Pentru experiment, vom plasa codul în modulul obiect al unui document.

Mai jos este rezultatul obținut în modul utilizator pentru Platforma 8.3.

Trebuie remarcat faptul că mesajele ies folosind noul obiect de sistem Mesaj pentru utilizatorîn cazul general nu încetează. Acestea. sistemul va permite utilizatorului să continue alte acțiuni fără a răspunde la mesajele afișate.

Dar, în primul rând, aceste mesaje sunt destul de vizibile. În al doilea rând, mesajele sunt de obicei afișate utilizatorului în momentul înregistrării elementelor directoarelor sau postării documentelor, adică atunci când se efectuează unele verificări. Și dacă au fost detectate erori, utilizatorul va vedea aceleași mesaje.

În consecință, atunci când sunt detectate erori, tranzacția este anulată, adică. scrierea unui element de director este interzisă sau postarea unui document este interzisă.

Astfel, apare un fel de emulare a mesajului de terminare. Deoarece acțiunea este anulată până când utilizatorul reacționează la mesajul introdus, va fi imposibil să finalizați acțiunea, de exemplu, postarea unui document.

Dar, pe de altă parte, este posibil să închideți documentul fără a-l conduce, fără a reacționa în vreun fel la mesaj. Prin urmare, aceste mesaje către utilizator nu se încheie.

Notificarea de stare proces

Există o funcție specială cu care puteți afișa progresul aproximativ al unui proces.

Sintaxă: Stat(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Opțiuni:<ТекстСообщения>Și<Пояснение>– optional, tip – Linia.
Textul este afișat pe o bară de stare specială.
<Прогресс>Parametrul este și el opțional, dar vizual.
Tip: Număr. Valoarea indicatorului de progres (de la 1 la 100).
<Картинка>de asemenea, un parametru opțional.
La procesarea oricărui eveniment, apelurile periodice ale unei funcții precum:

În acest caz, etichetele se pot schimba, iar valorile parametrului Progress se pot modifica.

O funcție poate fi apelată dintr-o procedură (funcție) sau din mai multe. În acest fel, puteți urmări starea de execuție a procesului.

Dacă doriți să aruncați o privire mai atentă asupra mecanismului de notificare, opriți-vă chiar acum și citiți noul nostru articol, Afișarea progresului operațiunilor de lungă durată în 8.3.10. Nu mai explică la nivel de începător toate subtilitățile și roci subacvatice funcționarea acestui mecanism.

Terminăm introducerea noastră cu privire la modalitățile de informare a utilizatorului. Sperăm că ați înțeles în ce situații ar trebui folosită una sau alta metodă.

Aș dori să vă atrag încă o dată atenția asupra faptului că, dacă configurația dvs. (versiunea 8.3.3+) implică lucrul cu un client web, atunci:

  • la nivelul de configurare, setarea modului modalității trebuie să fie setată la „Nu utilizați”
  • Codul trebuie să utilizeze metode ale modelului de interacțiune cu utilizatorul asincron. Astfel de metode încep cu cuvintele Spectacol sau ÎNCEPE.

Puteți citi mai multe despre refuzul de a utiliza ferestrele modale în platforma 1C:Enterprise 8.3 în articolul final al seriei. Și trecem mai departe și, în sfârșit, începem să studiem mult așteptata interfață Taxi, care a fost deja menționată de mai multe ori în materialele noastre.

Implementat în versiunea 8.3.10.2168.

Am îmbunătățit mecanismul de notificare a utilizatorilor. Acum este la fel de convenabil să le folosiți pe ambele client slab, și în clientul web. Am schimbat aspectul alertelor și le-am adăugat o serie de funcții noi.

Afișați mai multe alerte

În vechea implementare, pe ecran era afișată o singură alertă la un moment dat. Noua alertă s-a suprapus pe cea anterioară. Astfel, dacă s-ar afișa mai multe alerte la rând, exista o probabilitate mare ca utilizatorul să nu aibă timp să citească alerta anterioară, deoarece aceasta ar fi acoperită de următoarea.

Acum, în majoritatea cazurilor, pot fi afișate până la trei alerte simultan:

Acest lucru este valabil pentru clientul subțire, clientul gros și clientul web care rulează în browsere Internet Explorer Și Google Chrome . Browsere SafariȘi Mozilla Firefox vă permit să afișați un număr nelimitat de alerte și browser Microsoft Edge afișează o ultimă alertă, dar conține Centru de acțiune, în care toate alertele sunt duplicate.

Afișarea alertelor când fereastra aplicației este inactivă

Anterior, în clientul web, alertele erau afișate doar în fereastra activă a browserului. Dacă utilizatorul a trecut la o altă fereastră sau la altă aplicație, nu a văzut alerta. Acum, atunci când utilizați clientul web, notificările sunt afișate pe ecran chiar și atunci când fereastra aplicației este minimizată sau inactivă.

Când metoda este apelată pentru prima dată ShowUserAlert()în clientul web Google Chrome, Mozilla FirefoxȘi Safari Browserul va cere utilizatorului permisiunea de a utiliza notificări. Utilizatorul își poate permite ieșirea pentru aceasta aplicație, sau interzice.

Dacă utilizatorul dezactivează afișarea notificărilor, atunci va fi folosit noul tip de notificări, dar acestea vor fi redate în interiorul ferestrei browserului.

Centru de alertă

Pentru a preveni dispariția definitivă a notificărilor, am implementat centru de alertă. Și pentru alertele în sine, am implementat o nouă proprietate - Stare alertă utilizator. Poate avea două semnificații: informațieȘi Important.

Alerte cu stare informație sunt afișate pe ecran și dispar după 10 secunde (în browser Microsoft Edge– după 4 secunde). Alerte cu stare Important se comportă exact la fel, dar sunt salvate în centrul de alerte.

Centrul de alerte este accesibil din bara de instrumente. Faptul că există noi alerte importante este indicat de un punct portocaliu lângă pictograma acestuia.

Centrul de alerte afișează alerte importante la care utilizatorul nu a răspuns încă prin închiderea sau luând o acțiune legată de alertă. Alertele sunt listate în ordinea în care apar, cu cele mai noi în partea de sus. Astfel, chiar dacă utilizatorul părăsește computerul, nu va rata notificări importante.

O alertă poate fi eliminată din listă folosind butonul de ștergere. Dacă există o acțiune asociată cu alerta, atunci după ce faceți clic pe textul de alertă, aceasta va dispărea. Echipă Ștergeți alertele elimină toate alertele din listă. Cu toate acestea, dacă acțiunile au fost asociate cu alerte, acestea nu sunt executate.

Efectuați acțiuni atunci când apăsați

În vechea implementare, singura acțiune pe care o puteai efectua când făceai clic pe o alertă era să faci clic pe linkul de navigare. A fost trecut la metodă ca al doilea parametru.

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

Acum am extins capacitățile alertelor, iar în al doilea parametru puteți trece nu numai un șir cu un link de navigare, ci și o descriere a alertei.

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

Descrierea alertei indică procedura care trebuie efectuată atunci când se face clic pe alerta.

Aspect

În clientul subțire din opțiunea de interfață Taxi stilul de notificare va fi cât mai apropiat de stilul de notificare din browser Google Chrome folosind API de notificări.


Dacă se utilizează opțiunea de interfață Versiunea 8.2, atunci stilul de alertă și comportamentul rămân aceleași.

În clientul web, aspectul alertelor este determinat de browserul utilizat. În general, alertele vor arăta la fel ca în clientul subțire, dar fiecare browser are propriile sale caracteristici. De exemplu, puteți compara modul în care se vor afișa aceleași alerte Internet ExplorerȘi Mozilla Firefox.


Pe lângă aceasta, există și alte caracteristici. De exemplu, în browser Internet Explorer Sunt acceptate numai alertele afișate în fereastra aplicației. Și în browser Safari parametru Imagine nu este acceptat și alertele sunt afișate în partea de sus a ecranului.