1s 8.3 si t'u shfaqni një mesazh të gjithë përdoruesve. Kryeni veprime duke klikuar

Në programet e bazuara në platformën 1C: Enterprise, një mesazh mund t'i shfaqet përdoruesit në mënyra të ndryshme.

1. Metoda Shfaq Paralajmërim.

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

Kur përdorni këtë dizajn, një dritare paralajmëruese shfaqet në qendër të ndërfaqes së programit.

Opsione:

PërshkrimiNjoftimet e përfunduara(opsionale)
Lloji: PërshkrimiAlerts. Përmban një përshkrim të procedurës që do të thirret pas mbylljes së dritares paralajmëruese me parametrat e mëposhtëm: Parametrat shtesë - vlera që u specifikua gjatë krijimit të objektit AlertDescription. Nëse parametri nuk është i specifikuar, atëherë asnjë procedurë nuk do të thirret pas përfundimit.

Paralajmërime me tekst(kërkohet)
Lloji: String; FormattedString. Teksti i paralajmërimit.

Kohëzgjatja (opsionale)
Lloji: Numri. Intervali kohor në sekonda gjatë të cilit sistemi do të presë përgjigjen e përdoruesit. Kur skadon intervali, dritarja e paralajmërimit do të mbyllet. Nëse parametri nuk është i specifikuar, atëherë koha e skadimit është e pakufizuar. Nëse parametri është negativ, do të bëhet një përjashtim. Vlera e parazgjedhur: 0.

Titulli (opsionale)
Lloji: String. Përmban titullin e dritares së alarmit. Përshkrimi: Shfaq një dritare alarmi, por nuk pret që ajo të mbyllet.

Disponueshmëria: Klient i hollë, klient në internet, klient i trashë, aplikacion celular (klient).

Shënim: Nëse ndonjë kod duhet të ekzekutohet pasi përdoruesi të mbyllë dritaren e paralajmërimit, atëherë ai duhet të vendoset në një procedurë të veçantë të modulit dhe të përshkruhet në një parametër.

2. Metoda e paralajmërimit.

Një dritare paralajmëruese shfaqet në qendër të ndërfaqes së programit. Megjithatë, nëse vetia e konfigurimit ModeUseModalityështë vendosur në Mos përdor, atëherë metoda nuk funksionon.

Disponueshmëria: Klient i hollë, klient në internet, klient celular, klient i trashë, aplikacion celular (klient).

3. Metoda ShowAlertUser.

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

Kur përdorni këtë metodë, një mesazh shfaqet në këndin e poshtëm djathtas të ndërfaqes.

Disponueshmëria: Thin Client, Web Client, Thick Client.

4. Metoda e raportimit.

Për të raportuar(< ТекстСообщения> , < Статус> )

Disponueshmëria: Klient i hollë, klient në internet, klient celular, server, klient i trashë, lidhje e jashtme, aplikacion celular (klient), aplikacion celular (server).

5. Objekti MessageToUser.

Projektuar për të ruajtur parametrat e mesazheve që duhet t'i shfaqen përdoruesit. Nëse mesazhi nuk i është shfaqur ende përdoruesit (kjo mund të ndodhë kur ekzekutohet në anën e serverit, në një punë në sfond, një lidhje të jashtme ose shërbime ueb), ju mund të merrni mesazhet e grumbulluara duke përdorur metodën GetMessagesUser.

Vetitë: ID e destinacionit(TargetID); Çelësi i të dhënave (DataKey); Fusha (Fusha); Rruga e të dhënave (DataPath); Teksti.

Metodat: Raporti (Mesazhi); InstallData(SetData).

Mesazhi shfaqet në fund të ndërfaqes, në një rresht.

Mesazh = New MessageToUser(); Mesazh. Teksti = "Nuk ka nomenklaturë të mjaftueshme"; Mesazh. Fusha = "Nomenklatura. Sasia"; Mesazh. SetData (Objekti i të Dhënave) ; Mesazh. Për të raportuar() ;

Gjatë orës së mësimit ne: krijuam një bazë të dhënash, krijuam përpunim, krijuam një formular.

Tani do t'ju tregojmë 5 mënyra të mesazheve nga 1C "Përshëndetje botë!"

Jo të gjithë dinë për të paktën dy metoda 🙂

Si dhe ku të shkruhet teksti i programit?

Kaloni në skedën e dritares me formularin "Moduli". Do të siguroheni që tashmë keni një tekst atje ("Procedura...").

Nëse nuk ka tekst, atëherë:

  • Në klientin e trashë, e keni shtuar gabim formularin në përpunim, përsërisni nga fillimi
  • Në klientin e hollë, keni harruar të shtoni një buton, përsërisni nga fillimi.

Brenda tekstit ka një rresht:

// Fut përmbajtjen e mbajtësit

Detyra juaj është të fshini këtë rresht dhe të futni tekstin e programit. Pas kësaj, ruani përpunimin dhe hapeni në modalitetin e ndërmarrjes.

Kur klikoni Run, veprimet që keni futur tani do të kryhen.

Dhe tani le të kalojmë te vetë metodat!

Mesazhi në 1C, metoda 1 - më e lehta

Kështu që ju duhet në vend të tekstit "// Insert the content of handler." shkruani tekstin e programit.

alarm ("Përshëndetje botë!");

Në fakt, kjo është e gjitha 🙂

Mesazhi në modalitetin Enterprise në klientin e trashë do të jetë në fund në dritaren 1C, në klientin e hollë - në të djathtë në dritaren e përpunimit.

Kjo është mënyra më e thjeshtë dhe përdoret shumë gjerësisht nga programuesit.

Mesazhi në 1C, metoda 2 - gjithashtu e thjeshtë

alarm ("Përshëndetje botë!");

Në fakt, kjo është e gjitha 🙂

Mesazhi në modalitetin Enterprise në të dy opsionet e klientit do të jetë në një dritare kërcyese.

Mesazhi në 1C, metoda 3 - u shfaq vetëm në versionin 8.2 1C

ShowUserAlert("Përshëndetje botë!","Përshëndetje vërtet!");

Kjo metodë u shfaq vetëm në versionin 1C 8.2. Kjo është një dritare kërcyese në këndin e poshtëm djathtas të ekranit që zbehet me kalimin e kohës.

Mesazh në 1C, metoda 4 - programues

Hidhe "Përshëndetje botë!"Përjashtim;

Gjatë ekzekutimit të ndonjë programi, mund të ketë një gabim. Ndonjëherë ky gabim mund të llogaritet paraprakisht (për shembull, duhet të llogaritni a = b/c dhe në kohën e ekzekutimit të programit u bë e ditur se c është e barabartë me 0).

Në këtë rast, ekziston një mënyrë për të raportuar gabimin në këtë mënyrë.

Mesazh në 1C, metoda 5 - teknologjike, vetëm për një konfigurim tipik

General Purpose.ReportError("Përshëndetje botë!");

Një programues 1C duhet të dijë jo vetëm ato metoda programimi që janë në platformën 1C, por edhe ato që janë në konfigurime tipike.

Fillestarët, kur përpiqen të shtojnë ndonjë konfigurim tipik, fillojnë të rishpikin timonin.

Këtu është një shembull i madh. Kjo veçori është e pranishme në shumë konfigurime tipike (vetëm për klientin e trashë!). Duket se rezultati është i barabartë me veprimin e metodës 1.
Megjithatë, jo - në disa konfigurime (p.sh. SCP) mesazhet e gabimit dublikohen në regjistër. Gjithashtu, me personalizim shtesë, mesazhi duket krejtësisht ndryshe.

Pra, tani mund të ndiheni si një programues i vërtetë!

Kjo është ajo që ka të bëjë me programimin 1C. Sigurisht, programimi real është shumë më i ndërlikuar dhe kërkon shumë njohuri, por tani keni një ide të përgjithshme.

Paç fat!

P.S. Pamjet e ekranit ofrohen në versionin pdf të tutorialit për ta bërë më të lehtë krijimin e përvojës tuaj.

P.P.S. Janë dhënë 5 video për mësimin me shembuj të krijimit të një baze për programim, krijimit të përpunimit, programimit në një klient të trashë dhe të hollë.

Zbatuar në versionin 8.3.10.2168.

Ne kemi përmirësuar mekanizmin e njoftimit të përdoruesit. Tani është po aq i përshtatshëm për t'u përdorur si në klientin e hollë ashtu edhe në klientin në internet. Ne kemi ridizajnuar pamjen e sinjalizimeve dhe kemi shtuar një sërë veçorish të reja në to.

Shfaq sinjalizime të shumta

Në zbatimin e vjetër, vetëm një njoftim shfaqej në ekran në të njëjtën kohë. Alarmi i ri mbivendoste atë të mëparshëm. Kështu, nëse do të shfaqeshin disa njoftime me radhë, atëherë ekzistonte një probabilitet i lartë që përdoruesi të mos kishte kohë të lexonte njoftimin e mëparshëm, pasi ai do të bllokohej nga tjetri.

Tani, në shumicën e rasteve, deri në tre sinjalizime mund të shfaqen njëkohësisht:

Kjo është e vërtetë për klientin e hollë, klientin e trashë dhe klientin në internet që funksionon në shfletues. Internet Explorer dhe Google Chrome. Shfletuesit safari dhe Mozilla Firefox ju lejon të shfaqni një numër të pakufizuar sinjalizimesh dhe shfletuesin Microsoft Edge tregon një alarm të fundit, por ka Qendra e Veprimit, ku të gjitha njoftimet janë të dyfishuara.

Shfaq sinjalizimet kur dritarja e aplikacionit është joaktive

Më parë, klienti i uebit shfaqte sinjalizime vetëm në dritaren aktive të shfletuesit. Nëse përdoruesi kalon në një dritare tjetër ose një aplikacion tjetër, ai nuk e pa sinjalizimin. Tani, kur përdorni klientin në internet, njoftimet shfaqen në ekran edhe kur dritarja e aplikacionit është e minimizuar ose joaktive.

Herën e parë që thirret metoda ShowUserAlert() në klientin e internetit Google Chrome, Mozilla Firefox dhe safari shfletuesi do t'i kërkojë përdoruesit leje për të përdorur sinjalizimet. Përdoruesi mund të lejojë daljen e tij për këtë aplikacion, ose të ndalojë.

Nëse përdoruesi çaktivizon njoftimet, atëherë do të përdoret lloji i ri i njoftimeve, por ato do të vizatohen brenda dritares së shfletuesit.

Qendra e alarmit

Për të parandaluar zhdukjen përgjithmonë të njoftimeve, ne e zbatuam qendër alarmi. Dhe për vetë njoftimet, ne zbatuam një pronë të re - StatusAlertUser. Mund të marrë dy vlera: Informacion dhe E rëndësishme.

Sinjalizimet e statusit Informacion shfaqen në ekran dhe zhduken pas 10 sekondash (në shfletues Microsoft Edge– pas 4 sekondash). Sinjalizimet e statusit E rëndësishme sillen saktësisht njësoj, por ato ruhen në qendrën e alarmit.

Qendra e alarmit është e disponueshme nga shiriti i veglave. Fakti që ka sinjalizime të reja të rëndësishme sinjalizohet nga një pikë portokalli pranë ikonës së saj.

Qendra e alarmit shfaq sinjalizime të rëndësishme të cilave përdoruesi nuk u është përgjigjur ende duke mbyllur ose ndërmarrë veprimet e lidhura me sinjalizimin. Alarmet renditen sipas radhës në të cilën shfaqen, më të rejat në krye. Kështu, edhe nëse përdoruesi largohet nga kompjuteri, ai nuk do të humbasë sinjalizimet e rëndësishme.

Njoftimi mund të hiqet nga lista me butonin e pastrimit. Nëse ndonjë veprim shoqërohet me njoftimin, atëherë pasi të klikoni në tekstin e njoftimit, ai gjithashtu do të zhduket. Ekipi Pastro sinjalizimet heq të gjitha sinjalizimet nga lista. Në të njëjtën kohë, nëse veprimet shoqërohen me njoftime, ato nuk kryhen.

Kryeni veprime duke klikuar

Në zbatimin e vjetër, i vetmi veprim që mund të kryhej kur klikohej një sinjalizim ishte ndjekja e lidhjes së navigimit. Ajo iu kalua metodës si parametër i dytë.

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

Tani ne kemi zgjeruar aftësitë e njoftimeve, dhe në parametrin e dytë mund të kaloni jo vetëm një varg me një lidhje lundrimi, por edhe një përshkrim të njoftimit.

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

Përshkrimi i një sinjalizimi tregon procedurën që duhet të kryhet kur klikohet sinjalizimi.

Pamja e jashtme

Në klientin e hollë në variantin e ndërfaqes Taksi stili i njoftimeve do të jetë sa më afër stilit të njoftimeve të shfletuesit Google Chrome duke përdorur API-ja e njoftimeve.


Nëse përdoret opsioni i ndërfaqes Versioni 8.2, stili dhe sjellja e sinjalizimeve mbeten të njëjta.

Në klientin në internet, pamja e sinjalizimeve përcaktohet nga shfletuesi që po përdorni. Në përgjithësi, sinjalizimet do të duken njësoj si në klientin e hollë, por secili shfletues ka karakteristikat e veta. Për shembull, mund të krahasoni se si do të shfaqen të njëjtat sinjalizime Internet Explorer dhe Mozilla Firefox.


Përveç kësaj, ka veçori të tjera. Për shembull, në një shfletues Internet Explorer mbështeten vetëm sinjalizimet e shfaqura brenda dritares së aplikacionit. Dhe në shfletuesin safari parametri Foto nuk mbështetet dhe sinjalizimet shfaqen në krye të ekranit.

Zhvillimi është krijuar për të njoftuar përdoruesit në mënyrë selektive dhe të gjithë, ju gjithashtu mund të shkruani mesazhe ose të korrespondoni midis përdoruesve.

Zhvillimi është një regjistër informacioni dhe një ndryshim në një modul aplikimi të menaxhuar ose të rregullt.
Për të aktivizuar një alarm, duhet të shtoni një hyrje në regjistrin e informacionit, përdoruesit do të marrin njoftime në periudhën e specifikuar midis fillimit dhe përfundimit të kohës së njoftimit.

APLIKACIONI I MENAXHUAR

APLIKACION I RREGULLT

Dritarja e sinjalizimit është shfaqur në programin e përdoruesit bllokon të gjithë ndërfaqen dhe përdoruesit që punojnë aktualisht në program nuk do ta humbasin njoftimin dhe do ta lexojnë atë në përputhje me rrethanat.

APLIKACIONI I MENAXHUAR

APLIKACION I RREGULLT

Lista e regjistrimit

Në listën e njoftimeve, mund të shikoni se kush e ka marrë njoftimin dhe kush e ka lexuar atë.

APLIKACIONI I MENAXHUAR

APLIKACION I RREGULLT

Për të zbatuar zhvillimin në konfigurimin tuaj, duhet:

  1. Vendosni aftësinë për të modifikuar konfigurimin.
  2. Krahasoni me konfigurimin e dhënë në këtë botim. Kjo do të shtojë një regjistër informacioni për "Alarmet e përdoruesit" dhe një hyrje në një modul aplikacioni të rregullt ose të menaxhuar, në varësi të mënyrës kryesore të nisjes së aplikacionit.

    Hyrja e modulit të një aplikacioni të rregullt ose të menaxhuar është i ndryshëm:

    APLIKACIONI I MENAXHUAR

SystemStartup Procedure() //Modifikimi i konfigurimit tipik për njoftimin e përdoruesve të programit (dërgimi i një mesazhi te çdo përdorues) //I përshtatshëm për të gjitha konfigurimet ConnectWaitingHandler("modNotificationProcessingHandler", 60); EndProcedure // AtSystemStart() //Modifikimi i konfigurimit tipik për njoftimin e përdoruesve të programit (dërgimi i një mesazhi çdo përdoruesi) //I përshtatshëm për të gjitha konfigurimet //Thirrja e mbajtësit të pritjes vazhdon derisa formulari të mbyllet //ose deri në metodën e formularit quhet Mod procedureAlertProcessHandler( ) Export MessageToUser = GetForm("InformationRegister.UserAlerts.Form.SendFormControl").GetNotificationProcessingMessages(); Nëse Jo MessageToUser = E padefinuar Atëherë Forma = GetForm("InformationRegister.UserAlerts.Form.AlertControl"); Nëse Jo Form.Open() Pastaj FillPropertyValues(Form,MessageToUser,"ViewOnly"); Forma.Open(); Përndryshe Form.Aktivizo(); FundNëse; FundNëse; Fundi i procedurës APLIKIMI STANDARD SystemStartProcedure() //Modifiko konfigurimin e paracaktuar për të njoftuar përdoruesit e programit (dërgoni një mesazh për çdo përdorues) //I përshtatshëm për të gjitha konfigurimet ConnectWaitingHandler("modAlertProcessingHandler", 60); EndProcedure // AtSystemStart() //Modifikimi i konfigurimit tipik për njoftimin e përdoruesve të programit (dërgimi i një mesazhi çdo përdoruesi) //I përshtatshëm për të gjitha konfigurimet //Thirrja e mbajtësit të pritjes vazhdon derisa formulari të mbyllet //ose deri në metodën e formularit quhet Mod procedureAlertProcessHandler( ) Export MessageToUser = RegistersInformation.AlertUser.GetMessageProcessingNotification(); Nëse Jo MessageToUser = I Padefinuar Atëherë Forma = GetForm("InformationRegister.UserAlerts.Form.AlertUsual"); Nëse Jo Form.Open() Pastaj FillPropertyValues(Form,MessageToUser,"ViewOnly"); Forma.OpenModal(); Përndryshe Form.Aktivizo(); FundNëse; FundNëse; Procedura e Fundit

Zbatimi i zhvillimit është pa pagesë, kryhet brenda 10 minutave.

Mbështetje teknike falas për 30 ditë.
AT

Zhvillimi është menduar për platformën 8.3, konfigurime të ndryshme standarde dhe jo standarde, në modalitete të hollë, të trashë të klientit dhe klientit në ueb.

Vetë-përmirësimi është i mundur, kodi është i hapur për redaktim.

Arsyet për të blerë

Një opsion shumë i përshtatshëm për njoftimin, njoftimin e përdoruesve 1C për punën teknike, përmirësimet e konfigurimit, përditësimet, aftësinë për të korresponduar midis përdoruesve 1C brenda programit të parë.

Përparësitë

1) Dorëzimi 100% i sinjalizimeve për të gjithë përdoruesit, ndryshe nga analogët.
2) Aftësia për të dërguar fotografi.
3) Shikoni aktivitetin e përdoruesit në listën e mesazheve (të cilit i është dorëzuar, kush e ka lexuar).
4) Aftësia për t'i shkruar një përgjigje dërguesit të njoftimit.
5) Nuk ndikon në objekte të tjera, kur përditësohen konfigurimet, me aftësinë për të redaktuar të instaluar.

Garancia për kthimin e parave

Infostart LLC ju garanton një rimbursim 100% nëse programi nuk korrespondon me funksionalitetin e deklaruar nga përshkrimi. Paratë mund të kthehen të plota nëse i deklaroni brenda 14 ditëve nga data e marrjes së parave në llogarinë tonë.

Programi është aq i testuar në punë saqë ne mund të japim një garanci të tillë me besim të plotë. Ne dëshirojmë që të gjithë klientët tanë të jenë të kënaqur me blerjen e tyre.

Artikulli vazhdon serinë e artikujve "Hapat e parë në zhvillim në 1C".

Në të, ne do të shqyrtojmë mënyrat për të informuar përdoruesin që janë të pranishëm në platformën 1C:Enterprise 8, dhe gjithashtu do të përqendrojmë vëmendjen tuaj në disa veçori të funksionimit të këtyre mekanizmave, këto karakteristika shoqërohen me mënyrën e përdorimit të modalitetit.

Zbatueshmëria

Artikulli diskuton funksionalitetin:

  • Ndërfaqja në versionin "Versioni 8.2" për konfigurimin e zhvilluar në platformën "1C:Enterprise" 8.2.19.130
  • Ndërfaqe taksi për një konfigurim të zhvilluar në platformën 1C:Enterprise 8.3.4.496 deri në 8.3.9+
  • Ndërfaqja e taksive për një konfigurim të zhvilluar në platformën 1C:Enterprise 8.3.10-8.3.11

Si t'i shfaqni një mesazh përdoruesit në 1C

Shfaqja e mesazheve në modalitetin e përdoruesit zgjidh një sërë problemesh:

  • pasqyrimi i ecurisë së procesit aktual (duke treguar fazën e procesit; shfaqja e vlerave të llogaritura të marra gjatë funksionimit të algoritmit);
  • lëshimin e gabimeve te përdoruesi për korrigjimin e tyre të mundshëm;
  • nxjerrja e rekomandimeve;

Llojet e mesazheve:

  • terminatorë që ndalojnë ekzekutimin e programit dhe e pengojnë atë të vazhdojë derisa përdoruesi të lexojë këtë mesazh dhe të kryejë veprime të caktuara. Për shembull, përdoruesit do t'i jepet një pyetje në ekran, së cilës do t'i duhet të përgjigjet me Po ose Jo. Derisa përdoruesi të përgjigjet, programi nuk kryen veprime të mëtejshme;
  • mesazhet hyrëse, të cilat thjesht i shfaqen përdoruesit dhe i lejojnë ata të punojnë më tej (d.m.th. përdoren në modalitetin e alarmit).

Mesazhet e përfundimit duhet të jenë mesazhe gabimi, dhe mesazhe hyrëse: rekomandime, mesazhe në lidhje me fazën aktuale të procesit dhe shfaqja e vlerave të llogaritura (printimi i korrigjimit).

Mesazhet hyrëse synojnë t'i japin përdoruesit disa informacione.

Është e nevojshme që përdoruesi ta lexojë atë dhe, ndoshta, të ndërmarrë disa veprime që përshkruhen në këtë mesazh.

Është shumë e rëndësishme që përdoruesi t'i lexojë këto mesazhe, kështu që ato duhet të përmbajnë vetëm informacione të rëndësishme.

Mesazhet e testimit dhe korrigjimit nuk duhet t'i lëshohen përdoruesit, sepse herët a vonë ai do të fillojë të injorojë absolutisht të gjitha mesazhet.

Në konceptin e një ndërfaqeje të menaxhuar, qasja për lëshimin e një mesazhi ka ndryshuar disi. Tani është e lidhur me formën në të cilën e ka origjinën. Nuk mund të mbyllet më në mënyrë që teksti të jetë plotësisht i padukshëm.

Ju nuk mund të zhgozhdoni një kuti mesazhi nga një formular.

Sintaksa e funksionit:

Për të raportuar (<Текст сообщения>, <Статус>)

ato. parametri i parë është vetë teksti.

Parametri i dytë (statusi i mesazhit) është opsional. Ju mund të specifikoni vlerat për statusin: Normale, E rëndësishme, Shume e rendesishme etj.

Kjo vlerë përcakton se cila ikonë do të vendoset pranë mesazhit. Sidoqoftë, kjo funksionon vetëm në ndërfaqen normale.

Në konceptin e një ndërfaqeje të menaxhuar, ikona është gjithmonë një pikëçuditëse dhe nuk mund të anashkalohet.

Fakti është se nëse mesazhi krijohet në kohën e shkrimit të një elementi fjalori, mund të ndodhë situata e mëposhtme.

Përdoruesi klikon në një buton Shkruani dhe mbyllni, në këtë rast mesazhi shfaqet në dritaren përkatëse (në të djathtë të formularit).

Por forma mbyllet menjëherë dhe përdoruesi nuk do të shohë që disa informacione janë shfaqur për të.

Prandaj, në konceptin e një aplikacioni të menaxhuar, rekomandohet të shfaqen mesazhe informative duke përdorur të ashtuquajturat njoftime. Një shembull i përdorimit të gabuar të një funksioni Për të raportuar treguar në figurë.

Megjithatë, funksioni Për të raportuar mund të përdoret për të shfaqur informacione rreth disa gabimeve, për shembull, në kohën e postimit të dokumentit.

Në këtë rast, sistemi mund t'i tregojë sistemit se formulari nuk ka nevojë të mbyllet dhe t'i tregojë përdoruesit se çfarë gabimesh ndodhin gjatë postimit të dokumentit.

Funksioni Për të raportuar i mbështetur plotësisht në Platformën 8.3. Mund të përdoret dhe do të funksionojë (si në versionin e skedarit ashtu edhe në versionin klient-server).

Por duhet theksuar gjithashtu se funksioni Për të raportuar ka një zhvillim të mëtejshëm - kjo është një klasë mesazhi për përdoruesit, e cila lejon, përveç shfaqjes së një mesazhi, ta lidh atë në mënyrë kontekstuale me çdo element të formës.

Për shembull, një mesazh gabimi mund t'i bashkëngjitet një elementi formulari, i cili është shumë i dukshëm për përdoruesin. Ne do t'i kthehemi kësaj çështjeje pak më vonë. Funksioni Për të raportuar ka një veçori interesante.

Kështu, kodi i programit në Platformën 8.3 mund të ekzekutohet si në anën e klientit ashtu edhe në anën e serverit.

Në këtë rast, kodi i programit të klientit është përgjegjës për ndërveprimin me përdoruesin, d.m.th. hapen formularët në anën e klientit, shfaqen raportet.

Dokumentet e ndryshme të dialogut shfaqen gjithashtu vetëm te klienti. Në server, ato nuk mund të ekzekutohen sepse serveri nuk ka aftësinë të ndërveprojë me përdoruesit.

Por funksioni Për të raportuar mund të ekzekutohet si në anën e klientit ashtu edhe në anën e serverit. Megjithatë, duke përdorur metodën Për të raportuar në Server nuk do të thotë fare se mesazhi do të shfaqet në Server, thjesht nuk ka ku t'i shfaqë ato.

Kjo do të thotë që nëse shfaqim një mesazh në procedurën e serverit duke përdorur këtë metodë, ato do të grumbullohen në një bufer dhe do të shfaqen në ekran vetëm kur procedura e serverit të përfundojë dhe të kthehet te Klienti.

Në këtë pikë, sistemi do të kërkojë të dhëna nga buferi dhe do t'i shfaqë ato në ekran.

E njëjta veçori vlen edhe për klasën MessageToUser. Figura tregon një shembull të përdorimit të metodës Për të raportuar në anën e serverit.

Si rezultat i përdorimit të metodës Për të raportuar në anën e serverit, mesazhet u shfaqën në ekranin në anën e klientit.

Mekanizmi i njoftimit nevojitet për të informuar përdoruesin se "diçka" ka ndodhur në sistem dhe kjo "diçka" kërkon vëmendjen e përdoruesit. Alarmet krijohen nga dy skenarë:

  1. Nga vetë platforma kur shkruani ose modifikoni një objekt në mënyrë interaktive
  2. Zhvilluesi kur thërret kodin e metodës .

Vetë njoftimi është një dritare e vogël që shfaqet, si rregull, në këndin e poshtëm të djathtë dhe raporton veprimin e ndërmarrë. Brenda pak sekondash, gradualisht del jashtë dhe zhduket. Në të njëjtën kohë, nëse lëvizni kursorin e miut mbi njoftim, ai nuk fiket dhe mund ta lexoni me kujdes.

Për më tepër, njoftimet mund të aksesohen në zonën përkatëse të panelit të informacionit (butoni "Historia" në fund të majtë të formularit të aplikimit në opsionin e ndërfaqes "Versioni 8.2").

Për të krijuar sinjalizimet tuaja, duhet të përdorni metodën e kontekstit global ShowUserAlert(). Sintaksa e tij përpara rishikimit 8.3.10 është si më poshtë:

Shfaq alarmin e përdoruesit (<Текст>, <НавигационнаяССылка>, <Пояснение>, <Картинка>)

Parametri i parë është teksti që do të shfaqet në alarm.

Më tej, si parametër i dytë, ju mund të kaloni një lidhje lundrimi në çdo element të infobazës (elementi që korrespondon me tekstin e mesazhit tonë). Kur një përdorues klikon në një sinjalizim, ai do të çohet në atë lidhje.

Me ndihmën e parametrit të tretë, ju mund të kaloni një shpjegim për mesazhin, d.m.th. disa përshkrime të zgjeruara.

Mund të caktoni gjithashtu një foto që shfaq statusin e njoftimit.

Ju lutemi vini re se të gjithë këta parametra janë opsionalë. Më poshtë është një shembull i përdorimit të kësaj metode (në konfigurues dhe në modalitetin e përdoruesit në opsionin e ndërfaqes "Versioni 8.2").

Në versionin 8.3.10.216 të platformës për ndërfaqen në versionin "Taxi", mekanizmi i njoftimit është përmirësuar ndjeshëm për të përmirësuar përdorshmërinë si të klientëve të hollë ashtu edhe në ueb. Për këtë arsye, parametrat e kaluar në metodë kanë ndryshuar gjithashtu. ShowUserAlert(). Tani sintaksa duket si kjo:

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

Mund të shihet se parametri i dytë, i quajtur më parë Lidhja e navigimit, mori një emër të ri ActionOnPress. Kjo për faktin se tani është bërë e mundur t'i kalohet jo vetëm një varg me një lidhje lundrimi, por edhe një përshkrim i alarmit. Kjo ilustrohet në pamjen e mëposhtme të ekranit:

Siç mund ta shihni nga shembulli, ne tani kemi mundësinë për të trajtuar në mënyrë programore klikimin në dritaren e njoftimit, sipas logjikës që nevojitet.

Parametri tjetër StatusAlertUser u shfaq për herë të parë. Ai tregon statusin e alarmit (Informacion ose i rëndësishëm).

Në rastin e opsionit I rëndësishëm, nëse përdoruesi nuk i është përgjigjur mesazhit, atëherë pasi të jetë fshehur nga ekrani, ai mund të lexohet përmes Qendrës së Njoftimeve (më shumë për këtë më poshtë). Në rastin e opsionit Informacioni, njoftimi fshihet pa u ruajtur në këtë qendër. Le të rishkruajmë kodin nga shembulli ynë siç tregohet më poshtë:

Pas ekzekutimit të komandës, marrim afërsisht pamjen e mëposhtme të dritares së aplikacionit:

Një buton me një ikonë zile u shfaq në shiritin e veglave, i cili thërret qendrën e alarmit të lartpërmendur. Ai grumbullon sinjalizime të reja të rëndësishme të cilave përdoruesi nuk është përgjigjur ende.

Nëse ka ndonjë sinjalizim në Qendër, atëherë pranë tij shfaqet një pikë e vogël portokalli për të tërhequr vëmendjen e përdoruesit. Përdoruesi mund të hapë Qendrën e Paralajmërimeve, të lexojë tekstin dhe, nëse është e nevojshme, të kryejë disa veprime.

Njoftimi hiqet nga Qendra duke klikuar në butonin e fshirjes, megjithatë, nëse ndonjë veprim shoqërohet me njoftimin, atëherë sapo përdoruesi të klikojë në tekstin e mesazhit, ai gjithashtu do të zhduket.

Dhe së fundi, parametri i fundit i shtuar ishte KeyUnikiteti. Mund ta përdorni për të gjetur alarmin e shfaqur në ekran dhe për ta ndryshuar atë. Nëse nuk ka njoftim me këtë parametër, do të shfaqet një njoftim i ri.

Siç mund ta shihni, mundësitë e ofruara nga metoda përkatëse janë bërë edhe më të mëdha! Por këto nuk janë të gjitha ndryshimet në mekanizmin e njoftimit.

Siç e keni vënë re tashmë, pamja e tyre ka ndryshuar. Alarmet tani duken më moderne dhe ergonomike, por ato nuk mund të zhvendosen nëpër ekran ose të ndryshohen përmasat. Ju lutemi vini re se në shembullin tonë, teksti i njoftimit thjesht nuk përshtatej plotësisht në vetë dritaren dhe përdoruesi mund ta lexojë plotësisht vetëm duke hapur Qendrën e Njoftimeve. Prandaj, nuk është e nevojshme të shkruani një sasi të madhe teksti në tekstin e njoftimit.

Gjithashtu veçoritë e reja përfshijnë shfaqjen e njëkohshme të deri në tre sinjalizime në ekran.

Kjo përfundon njohjen tonë me gjenerimin programatik të sinjalizimeve. Sidoqoftë, mbani mend se njoftimet gjenerohen jo vetëm nga zhvilluesi në mënyrë programore, por edhe nga vetë platforma në kohën e shkrimit interaktiv ose ndryshimit të një objekti. Dhe shpesh ky fakt shkakton keqkuptim, para së gjithash, midis përdoruesve fillestarë: pse na duhen këto alarme shërbimi, të cilat, nga rruga, nuk mund të fiken?

Le të imagjinojmë një situatë kaq të thjeshtë: përdoruesi ka vendosur një filtër në një listë për lehtësi. Le të themi se ai e bëri këtë në formën e një liste referimi të Nomenklaturës. Pastaj, pas ca kohësh, vendosa të prezantoj një element të ri të quajtur "Karrige", i cili nuk përputhet me filtrin e vendosur më parë. Ai futet në të, e shkruan dhe ...? Dhe nuk e sheh atë në listë. Çfarë do të bëjë përdoruesi mesatar? Sigurisht që do të hyjë për herë të dytë, por nuk do ta shohë më. Mund të pasojë një herë e tretë, e katërt, e pestë. Kur të lodhet duke hyrë në të njëjtën gjë, më në fund do t'ju pyesë: ku zhduket gjithçka?

Kjo është arsyeja pse platforma shfaq këto sinjalizime shërbimi, duke informuar përdoruesin se veprimi i tij ka përfunduar. Në shembullin tonë, në kohën e regjistrimit interaktiv, përdoruesi do të shohë njoftimin e mëposhtëm:

Mesazhet e përfundimit

Mesazhet e përfundimit janë ato mesazhe që nuk do t'ju lejojnë të punoni derisa përdoruesi të kryejë veprime të caktuara, d.m.th. derisa të përpunojë mesazhin.

Ne do të flasim për mundësinë e përdorimit të mesazheve të përfundimit në Platformën 8.3 pak më vonë (ata po përpiqen të mos i përdorin ato kohët e fundit, kështu që shembulli i marrë ka të bëjë më shumë me Platformën 8.2).

Ekzistojnë dy mënyra për lëshimin e mesazheve të përfundimit Nje paralajmerim dhe Pyetje. Nje paralajmerim ndryshon nga pyetje sepse ka një buton të vetëm Ne rregull.

Një pyetje mund të ketë grupe të ndryshme opsionesh përgjigjesh ( Jo ne te vertete, Po Jo Anulo, Ne rregull, OKAnulo, Riprovo Anulo, AbortRetrySkip), të cilat vendosen duke përdorur parametrin.

Le të shfaqim një lloj paralajmërimi duke përdorur një varg (për shembull, në një modul aplikacioni të menaxhuar):

Alert ("Baza do të hapet tani");

Për të hapur një modul aplikacioni të menaxhuar, zgjidhni objektin në pemën e konfigurimit Konfigurimi, thirrni menunë e kontekstit dhe zgjidhni artikullin Hapni modulin e aplikacionit të menaxhuar.

Në këtë rast, kur të fillojë aplikacioni, do të shfaqet një dritare që është modale. Dritarja modale mbivendos të gjitha dritaret që ekzistojnë në aplikacion. Derisa të përpunojmë këtë dritare, asnjë veprim i mëtejshëm nuk është i mundur.

Funksioni funksionon në të njëjtën mënyrë. Pyetje.

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

Kërkohen vetëm dy parametrat e parë. Për parametrin e dytë, lloji i të dhënave është i përbërë ( Mode dialogu Pyetje ose Lista e vlerave). Parametri i tretë ( <Таймаут> ) karakterizon intervalin kohor në sekonda gjatë të cilit sistemi do të presë përgjigjen e përdoruesit.

Kur skadon intervali, dritarja e pyetjeve do të mbyllet. Parametër i ngjashëm ( <Таймаут> ) funksioni gjithashtu ka Nje paralajmerim.

Si shembull i përdorimit të funksionit Pyetje Ju mund të përdorni kodin e mëposhtëm, të shkruar në një modul aplikacioni të menaxhuar:

Ju lutemi vini re se këto metoda Nje paralajmerim dhe Pyetje) nuk janë të disponueshme në server. Dhe kjo është logjike, sepse metodat e ndërfaqes nuk mund të ekzekutohen në Server, ku nuk ka përdorues.

Karakteristikat e përdorimit të dritareve modale në Platformën 8.3

Në platformën 8.3, ka mënyra funksionimi me dhe pa përdorimin e modalitetit. Cilësimi i parazgjedhur është Mos përdor modalitetin.

Në këtë rast, mesazhet e përfundimit nuk mund të përdoren. Nëse është e nevojshme të përdoren mesazhet e përfundimit (funksionet Nje paralajmerim dhe Pyetje) duhet të ndryshoni vlerën e vetive të konfigurimit Përdorni.

Dritarja modale shfaqet në krye dhe bllokon punën me dritaret e tjera derisa të përfundojë dritarja modale. Përveç kësaj, ekzekutimi i kodit të programit ndalet në vendin ku thirret kjo dritare. Ekzekutimi i kodit do të vazhdojë vetëm pasi të mbyllet dritarja modale.

Së pari, problemet e përdorimit të dritareve modale lindin për një aplikacion celular. Së dyti, në shfletues, modaliteti i dritares zbatohet duke përdorur dritare të veçanta pop-up.

Dritaret kërcyese shpesh çaktivizohen në cilësimet e paracaktuar të shfletuesit. Përdoruesi duhet të detyrohet të vendosë lejet në këto dritare.

Shfletuesit për tableta dhe telefona në shumicën e rasteve nuk mbështesin fare dritaret kërcyese.

Për të zëvendësuar funksionet Pyetje dhe Nje paralajmerim janë zhvilluar metoda të reja: Trego Pyetje, Shfaq Paralajmërim.

Këto metoda ju lejojnë të telefononi dritaren, por jo të ndaloni ekzekutimin e kodit të programit. Teknikisht, kjo zbatohet duke formuar një pseudo-dritare brenda dritares mëmë. Pseudodritarja nuk mbivendoset me dritaren mëmë. Pas hapjes së një dritareje të tillë, kodi vazhdon të ekzekutohet.

Marrja dhe përpunimi i vlerave të futura nga përdoruesi kryhet në një procedurë të veçantë, e cila thirret kur mbyllet kutia e dialogut.

Sintaksa e funksionit Shfaq Paralajmërim:

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

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

Lloji i të dhënave: PërshkrimiAlarmet.

Përmban një përshkrim të procedurës që do të thirret pas mbylljes së dritares së paralajmërimit.

Sintaksa e funksionit Trego Pyetje:

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

Kërkohen tre parametrat e parë.

Më poshtë është një shembull i përdorimit të funksionit.

Klasa MessageToUser

Komoditeti kryesor i klasës së mesazhit MessageToUserështë se ky është një mesazh kontekstual (ndryshe nga metodat Nje paralajmerim dhe Pyetje).

Mesazhet mund të lidhen me një element specifik të ekranit. Ky objekt është gjithashtu i disponueshëm në Server.

Duhet të theksohet se, së pari, ky objekt duhet të krijohet. Për shembull: Message = New MessageToUser;

Kështu, ne krijojmë një shembull të këtij objekti.

Së dyti, duhet të shkruani tekstin e mesazhit në një pronë të veçantë.

Së treti, në pronë Fusha Ju mund të specifikoni se cilit element forme duhet t'i bashkëngjitet mesazhi i dhënë.

Kujdes! Për t'u lidhur me fushën e formës së dëshiruar, kushtojini vëmendje inicializimit të vetive PathToData dhe Çelësi i të Dhënave. Për një dokument, kur vendosni kodin në një modul objekti, mund të shkruani:

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

Për të hapur modulin e dokumentit, në dritaren e redaktimit të objektit (dokumentit), në skedën Të tjera klikoni në butonin Moduli i objektit.

Për eksperimentin, le të vendosim kodin në modulin e objektit të çdo dokumenti.

Më poshtë është rezultati i marrë në modalitetin e përdoruesit për Platformën 8.3.

Duhet të theksohet se mesazhet shfaqen duke përdorur objektin e ri të sistemit MessageToUser në përgjithësi, ato nuk mbarojnë. ato. sistemi do të lejojë përdoruesin të vazhdojë veprimet e mëtejshme pa iu përgjigjur mesazheve të shfaqura.

Por, së pari, këto mesazhe janë mjaft të dukshme. Së dyti, mesazhet zakonisht i shfaqen përdoruesit në momentin e shkrimit të elementeve të drejtorive ose postimit të dokumenteve, d.m.th. kur kryhen disa kontrolle. Dhe nëse janë gjetur gabime, përdoruesi do të shohë të njëjtat mesazhe.

Prandaj, në kohën e zbulimit të gabimeve, transaksioni anulohet, d.m.th. është e ndaluar të regjistrohet një element i drejtorisë, ose është e ndaluar të postohet një dokument.

Kështu, ndodh një lloj emulimi i mesazhit të përfundimit. Për shkak se veprimi anulohet derisa përdoruesi t'i përgjigjet mesazhit të hyrjes, nuk do të jetë e mundur të kryhet veprimi, si p.sh. rrëshqitja e një dokumenti.

Por, nga ana tjetër, është e mundur mbyllja e dokumentit pa e mbajtur atë, pa reaguar në asnjë mënyrë ndaj mesazhit. Prandaj, këto mesazhe për përdoruesin nuk po përfundojnë.

Njoftimi i statusit të procesit

Ekziston një funksion i veçantë me të cilin mund të shfaqni ecurinë e përafërt të një procesi.

Sintaksë: Shteti (<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Opsione:<ТекстСообщения>dhe<Пояснение>- opsionale, lloji - Linjë.
Teksti shfaqet në një shirit të veçantë statusi.
<Прогресс>parametri është gjithashtu opsional, por përshkrues.
Lloji: Numri. Vlera e shiritit të progresit (nga 1 në 100).
<Картинка>gjithashtu një parametër opsional.
Gjatë përpunimit të ndonjë ngjarjeje, mund të përdoren thirrje periodike funksionesh të tipit:

Në këtë rast, mbishkrimet mund të ndryshojnë dhe vlerat e parametrit Progress mund të ndryshojnë.

Një funksion mund të thirret si nga një procedurë (funksion) ashtu edhe nga disa. Në këtë mënyrë, ju mund të monitoroni statusin e ekzekutimit të procesit.

Nëse dëshironi të mësoni më shumë rreth mekanizmit të njoftimit, bëni një pushim tani dhe lexoni artikullin tonë të ri Duke treguar përparimin e operacioneve afatgjatë në 8.3.10. Ai nuk shpjegon më në nivelin fillestar të gjitha hollësitë dhe kurthet e funksionimit të këtij mekanizmi.

Po përfundojmë njohjen tonë me mënyrat e informimit të përdoruesit. Shpresojmë që të keni kuptuar se në cilat situata duhet të përdoret një ose një metodë tjetër.

Unë do të doja të përqendroja edhe një herë vëmendjen tuaj në faktin se nëse konfigurimi juaj (versioni 8.3.3+) përfshin punën duke përdorur një klient në internet, atëherë:

  • në nivelin e konfigurimit, duhet të vendoset cilësimi i modalitetit "Mos përdor".
  • kodi duhet të përdorë metodat e modelit të ndërveprimit asinkron të përdoruesit. Metoda të tilla fillojnë me fjalët Shfaqje ose Te filloj.

Më shumë detaje rreth refuzimit të përdorimit të dritareve modale në platformën 1C: Enterprise 8.3 mund të gjenden në artikullin përfundimtar të ciklit. Dhe ne vazhdojmë dhe, më në fund, vazhdojmë të studiojmë ndërfaqen e shumëpritur Taxi, e cila tashmë është përmendur më shumë se një herë në materialet tona.