Felhasználók értesítése 1s. Figyelmeztetések megjelenítése, ha az alkalmazásablak inaktív

25.10.2019 Vélemények

Az 1C:Enterprise platform programjaiban az üzenet különböző módokon jeleníthető meg a felhasználó számára.

1. Módszer ShowWarning.

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

Ennek a kialakításnak a használatakor egy figyelmeztető ablak jelenik meg a programfelület közepén.

Lehetőségek:

LeírásTeljes figyelmeztetések(választható)
Típus: Leírás Figyelmeztetések. Tartalmazza annak az eljárásnak a leírását, amely a riasztási ablak bezárása után kerül meghívásra a következő paraméterekkel: További paraméterek – az Alert Description objektum létrehozásakor megadott érték. Ha a paraméter nincs megadva, akkor a befejezés után semmilyen eljárás nem kerül meghívásra.

Figyelmeztető szöveg(kívánt)
Típus: String; FormattedString. Figyelmeztető szöveg.

Időtúllépés (opcionális)
Típus: Szám. Az az időintervallum másodpercben, amely alatt a rendszer a felhasználói válaszra vár. Az intervallum lejártakor a figyelmeztető ablak bezárul. Ha a paraméter nincs megadva, akkor a várakozási idő korlátlan. Ha a paraméter negatív, a rendszer kivételt dob. Alapértelmezett érték: 0.

Cím (nem kötelező)
Típus: String. A figyelmeztető ablak címét tartalmazza. Leírás: Megjelenít egy figyelmeztető ablakot, de nem várja meg, amíg bezárul.

Elérhetőség: Vékony kliens, webkliens, vastag kliens, mobil alkalmazás (kliens).

Megjegyzés: Ha bármilyen kódot le kell hajtani, miután a felhasználó bezárta a figyelmeztető ablakot, akkor azt egy külön modul eljárásba kell helyezni, és paraméterben kell leírni.

2. Figyelmeztetés a módszerre.

A program felületének közepén egy figyelmeztető ablak jelenik meg. Ha azonban a konfigurációs tulajdonság Használati módModalitások a Ne használjon értékre van állítva, akkor a módszer nem működik.

Elérhetőség: Vékony kliens, webkliens, mobil kliens, vastag kliens, mobil alkalmazás (kliens).

3. Módszer ShowUserAlert.

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

Ennek a módszernek a használatakor egy üzenet jelenik meg a felület jobb alsó sarkában.

Elérhetőség: Vékony kliens, webkliens, vastag kliens.

4. Jelentés módja.

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

Elérhetőség: Vékony kliens, webkliens, mobil kliens, szerver, vastag kliens, külső kapcsolat, mobil alkalmazás (kliens), mobil alkalmazás (szerver).

5. Tárgy Üzenet a felhasználónak.

Úgy tervezték, hogy tárolja azokat az üzenetparamétereket, amelyeket meg kell jeleníteni a felhasználó számára. Ha az üzenet még nem jelent meg a felhasználónak (ez akkor fordulhat elő, ha a szerver oldalon dolgozik, háttérfeladatban, külső csatlakozás vagy webszolgáltatások), felhalmozott üzeneteket fogadhat a módszer segítségével Üzenetek fogadása a felhasználónak.

Tulajdonságok: Cél azonosítója(Célazonosító); DataKey; Terület; DataPath(DataPath); Szöveg.

Módszerek: Üzenet; SetData(SetData).

Az üzenet a felület alján, egy sorban jelenik meg.

Üzenet = New MessageToUser(); Üzenet. Szöveg = "nincs elég nómenklatúra"; Üzenet. Mező = "Nómenklatúra. Mennyiség"; Üzenet. SetData(DataObject) ; Üzenet. Jelenteni() ;

A fejlesztés célja, hogy értesítse a felhasználókat, mind szelektíven, mind pedig mindenről, egyszerűen üzeneteket írhat vagy levelezést folytathat a felhasználók között.

A fejlesztés egy menedzselt vagy rendszeres alkalmazás információinak és változásainak nyilvántartása.
A riasztás indításához bejegyzést kell felvennie az információs nyilvántartásba, a felhasználók az értesítési idő kezdete és vége közötti időszakban kapnak értesítést.

KEZELTETT ALKALMAZÁS

RENDSZERES ALKALMAZÁS

Figyelmeztető ablak látható a felhasználói programban blokkolja a teljes felületet és a benne dolgozó felhasználók Ebben a pillanatban a program nem hagyja ki az értesítést, és ennek megfelelően elolvassa.

KEZELTETT ALKALMAZÁS

RENDSZERES ALKALMAZÁS

Regisztrációs lista

Az értesítések listájában megtekintheti, hogy ki kapta az értesítést, és ki olvasta el.

KEZELTETT ALKALMAZÁS

RENDSZERES ALKALMAZÁS

A fejlesztés megvalósításához a konfigurációban a következőket kell tennie:

  1. Állítsa be a konfiguráció szerkesztésének lehetőségét.
  2. Hasonlítsa össze a kiadványban található konfigurációval. A rendszer hozzáad egy „Felhasználói figyelmeztetések” információs nyilvántartást, és egy bejegyzést a normál vagy felügyelt alkalmazásmodulban, az alkalmazás elsődleges indítási módjától függően.

    A szokásos vagy felügyelt alkalmazásmodul bejegyzések különböznek:

    KEZELTETT ALKALMAZÁS

Eljárás a rendszer indításakor () //A programfelhasználók értesítésének szabványos konfigurációjának módosítása (üzenet küldése bármely felhasználónak) //Minden konfigurációhoz megfelelő ConnectWaitingHandler("modNotificationProcessingHandler", 60); Az eljárás vége // Amikor a rendszer elindul () // A szabványos konfiguráció módosítása a program felhasználóinak értesítése érdekében (üzenet küldése bármely felhasználónak) // Minden konfigurációhoz megfelelő // A várakozási kezelő hívása az űrlap bezárásáig folytatódik // vagy amíg az űrlapmetódus neve Procedure modNotificationProcessingHandler( ) Export Message to User = GetForm("Information Register.User Alerts.Form.ControlSubmissionForm").GetNotificationProcessingMessages(); Ha nem MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertControl"); Ha nem Form.Open() akkor FillPropertyValues(Form,MessageToUser,"Csak megtekintés"); Form.Open(); Else Form.Activate(); endIf; endIf; Az eljárás vége REGULÁRIS ALKALMAZÁSI eljárás Amikor a rendszer elindul() //A programfelhasználók értesítésének szabványos konfigurációjának módosítása (üzenet küldése bármely felhasználónak) //Minden konfigurációhoz megfelelő ConnectWaitingHandler("modNotificationProcessingHandler", 60); Az eljárás vége // Amikor a rendszer elindul () // A szabványos konfiguráció módosítása a program felhasználóinak értesítése érdekében (üzenet küldése bármely felhasználónak) // Minden konfigurációhoz megfelelő // A várakozási kezelő hívása az űrlap bezárásáig folytatódik // vagy amíg az űrlapmetódus el nem kerül Procedure modNotificationProcessingHandler( ) Export Message to User = Information Registers.User Alerts.GetNotificationProcessingMessages(); Ha nem MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertUsual"); Ha nem Form.Open() akkor FillPropertyValues(Form,MessageToUser,"Csak megtekintés"); Form.OpenModal(); Else Form.Activate(); endIf; endIf; Az eljárás vége

A fejlesztés megvalósítása ingyenes és 10 percen belül elkészül.

Ingyenes technikai támogatás 30 napig.
BAN BEN

A fejlesztést a 8.3-as platformra, különböző szabványos és nem szabványos konfigurációkra szánják, vékony, vastag kliens és webkliens módban.

Önálló módosítás lehetséges, a kód szerkesztésre nyitva áll.

Vásárlási okok

Nagyon kényelmes lehetőség az 1C felhasználók riasztására, értesítésére műszaki munka, konfigurációk módosításai, frissítések, az 1. program keretében 1C felhasználók közötti levelezés lehetősége.

Előnyök

1) Az analógokkal ellentétben a riasztások 100%-a minden felhasználó számára elérhető.
2) Képes küldeni képeket.
3) Tekintse meg a felhasználói tevékenységet az üzenetek listájában (ki kézbesítette, ki olvasta).
4) Lehetőség arra, hogy választ írjon az értesítést küldő személynek.
5) Nem érinti a többi objektumot, amikor a konfigurációkat frissíti a szerkesztési opcióval.

Pénzvisszafizetési garancia

Az Infostart LLC 100%-os visszatérítést garantál, ha a program nem felel meg a leírásban feltüntetett funkcionalitásnak. A pénz teljes egészében visszautalható, ha ezt a pénz számlánkra érkezésétől számított 14 napon belül kéri.

A program olyannyira bevált, hogy teljes bizalommal tudunk ilyen garanciát adni. Szeretnénk, ha minden vásárlónk elégedett lenne a vásárlásával.

A cikk folytatja „A fejlesztés első lépései az 1C-n” cikksorozatot.

Ebben megvizsgáljuk a felhasználó tájékoztatásának módjait, amelyek az 1C:Enterprise 8 platformon jelen vannak, és a figyelmet ezen mechanizmusok működésének néhány jellemzőjére összpontosítjuk; ezek a funkciók a modalitás használati módjához kapcsolódnak. .

Alkalmazhatóság

A cikk a funkciókat tárgyalja:

  • Interfész a „Version 8.2” verzióban az 1C:Enterprise platformon kifejlesztett konfigurációhoz 8.2.19.130
  • Taxi interfész az 1C:Enterprise platformon 8.3.4.496-8.3.9+ fejlesztett konfigurációhoz
  • Taxi interfész az 1C:Enterprise platformon 8.3.10-8.3.11 fejlesztett konfigurációhoz

Hogyan jelenítsünk meg egy üzenetet a felhasználónak az 1C-ben

Az üzenetek felhasználói módban történő megjelenítése számos problémát megold:

  • az aktuális folyamat előrehaladásának tükrözése (a folyamat végrehajtási szakaszának bemutatása; az algoritmus működése során kapott számított értékek megjelenítése);
  • hibák megjelenítése a felhasználó számára esetleges javítás céljából;
  • ajánlások kiadása;

Üzenet típusok:

  • Terminátorok, amelyek leállítják a program végrehajtását, és nem engedik meg annak folytatását, amíg a felhasználó el nem olvassa ezt az üzenetet és nem hajt végre bizonyos műveleteket. Például a felhasználónak megjelenik egy kérdés a képernyőn, amelyre igennel vagy nemmel kell válaszolni. Amíg a felhasználó nem válaszol, a program nem fut le további akciók;
  • bevezető üzenetek, amelyek egyszerűen megjelennek a felhasználó számára, és lehetővé teszik a további munkát (azaz figyelmeztető módban használva).

A befejező üzeneteknek hibaüzeneteknek és bevezető üzeneteknek kell lenniük: ajánlások, üzenetek a folyamat aktuális szakaszáról és a számított értékek megjelenítése (debug print).

A bevezető üzenetek célja, hogy a felhasználó számára bizonyos információkat nyújtsanak.

A felhasználónak meg kell ismerkednie vele, és adott esetben meg kell tennie néhány, ebben az üzenetben leírt műveletet.

Nagyon fontos, hogy a felhasználó valóban elolvassa ezeket az üzeneteket, ezért csak fontos információkat tartalmazhatnak.

Teszt- és hibakeresési üzeneteket nem szabad kiadni a felhasználónak, mert előbb-utóbb figyelmen kívül hagyja az összes üzenetet.

A felügyelt interfész koncepciójában az üzenet kiadásának megközelítése némileg megváltozott. Ma már ahhoz a formához kötődik, amelyben keletkezett. Már nem lehet úgy bezárni, hogy a szöveg teljesen láthatatlan legyen.

Az üzenetdoboz rögzítését nem lehet feloldani az űrlapról.

Függvény szintaxis:

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

Azok. az első paraméter maga a szöveg.

A második paraméter (az üzenet állapota) nem kötelező. Megadhatja az állapot értékeit: Normál, Fontos, Nagyon fontos stb.

Tól től adott értéket attól függ, hogy melyik ikon lesz az üzenet mellett. Ez azonban csak a normál felületen működik.

A kezelt felület koncepciójában az ikon mindig felkiáltójel, és nem bírálható felül.

A helyzet az, hogy ha egy címtárelem írásakor üzenet jön létre, akkor a következő helyzet fordulhat elő.

A felhasználó rákattint egy gombra Mentés és bezárás, ebben az esetben az üzenet megjelenik a megfelelő ablakban (az űrlap jobb oldalán).

De az űrlap azonnal bezárul, és a felhasználó nem fogja látni, hogy semmilyen információ jelent meg számára.

Ezért a menedzselt alkalmazás koncepciójában javasolt a bevezető üzenetek megjelenítése úgynevezett riasztások segítségével. Példa egy függvény helytelen használatára Jelenteniábrán mutatjuk be.

Azonban a funkció Jelenteni bizonyos hibákkal kapcsolatos információk megjelenítésére használható, például a dokumentum feladásakor.

Ebben az esetben a rendszer tájékoztatást kaphat arról, hogy az űrlapot nem kell bezárni, és megmutatja a felhasználónak, hogy a bizonylat feladása során milyen hibák fordulnak elő.

Funkció Jelenteni teljes mértékben támogatott a 8.3-as platformon. Használható, és működni fog (fájl verzióban és kliens-szerver verzióban is).

De azt is meg kell jegyezni, hogy a funkció Jelenteni Van egy további fejlesztés - ez egy üzenetosztály a felhasználó számára, amely lehetővé teszi az üzenet megjelenítése mellett, hogy kontextuálisan hozzákösse azt bármilyen űrlapelemhez.

Például egy hibaüzenet egy űrlapelemhez köthető, ami nagyon egyértelmű a felhasználó számára. Egy kicsit később visszatérünk ennek a kérdésnek a megvitatására. Funkció Jelenteni van egy érdekes funkció.

Így a 8.3-as platform programkódja mind a kliens, mind a szerver oldalon végrehajtható.

Ebben az esetben a kliens programkód felelős a felhasználóval való interakcióért, azaz. Az ügyféloldalon megnyílnak az űrlapok, és megjelennek a jelentések.

Különféle párbeszéd-dokumentumok is csak az ügyfélen jelennek meg. Nem hajthatók végre a szerveren, mert a szerver nem tud interakciót folytatni a felhasználókkal.

De a funkció Jelenteni kliens és szerver oldalon is végrehajtható. Ebben az esetben a módszer alkalmazása Jelenteni a szerveren egyáltalán nem jelenti azt, hogy az üzenet megjelenik a Szerveren, egyszerűen nincs hol megjeleníteni őket.

Ez azt jelenti, hogy ha ezzel a módszerrel jelenítünk meg egy üzenetet a szerver eljárásban, azok felhalmozódnak valamilyen pufferben, és csak akkor jelennek meg a képernyőn, amikor a szerver eljárás befejeződik és visszatér a klienshez.

Ekkor a rendszer adatokat kér a pufferből, és megjeleníti a képernyőn.

Ugyanez a tulajdonság érvényes az osztályra is Üzenet a felhasználónak. Az ábra egy példát mutat a módszer használatára Jelenteni a Szerver oldalon.

A módszer használatának eredményeként Jelenteni a Szerver oldalon üzenetek jelentek meg a képernyőn a kliens oldalon.

Szükség van egy riasztási mechanizmusra, amely tájékoztatja a felhasználót, hogy „valami” történt a rendszerben, és hogy „valami” a felhasználó figyelmét igényli. A riasztásokat két forgatókönyv generálja:

  1. Maga a platform, amikor interaktív rögzítést vagy objektumot módosít
  2. A fejlesztő a kódban szereplő metódus meghívásakor .

Maga az értesítés egy kis ablak, amely általában a jobb alsó sarokban jelenik meg, és tájékoztat a befejezett műveletről. Néhány másodpercen belül fokozatosan elhalványul és eltűnik. Ugyanakkor, ha az egérmutatót az értesítés fölé viszi, az nem tűnik el, és figyelmesen elolvashatja.

Ezenkívül a riasztások az információs panel megfelelő területén érhetők el (az „Előzmények” gomb a jelentkezési űrlap bal alsó részén a „8.2-es verzió” felület opcióban).

Saját riasztások létrehozásához a globális kontextus módszert kell használnia ShowUserAlert(). A 8.3.10-es verzió előtti szintaxis az alábbiakban látható:

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

Az első paraméter az értesítésben megjelenő szöveget tartalmazza.

Ezután második paraméterként egy bizonyos navigációs hivatkozást adhat át egy elemhez információs bázis(az üzenetünk szövegének megfelelő elem). Amikor a felhasználó rákattint egy figyelmeztetésre, a link követi.

A harmadik paraméter segítségével magyarázatot adhatunk át az üzenethez, pl. némi kibővített leírás.

Az értesítés állapotát megjelenítő képet is hozzárendelhet.

Meg kell jegyezni, hogy ezek a paraméterek nem kötelezőek. Az alábbiakban egy használati példa látható ez a módszer(a konfigurátorban és felhasználói módban a „Version 8.2” interfész opcióban).

A platform 8.3.10.216-os verziójában a „Taxi” felülethez jelentősen továbbfejlesztették az értesítési mechanizmust a vékony és webes kliensek használhatóságának javítása érdekében. Emiatt a metódusnak átadott paraméterek is megváltoztak ShowUserAlert(). Most így néz ki a szintaxis:

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

Látható, hogy a második, korábban ún Navigációs hivatkozás, új nevet kapott ActionWhenClicked. Ez annak köszönhető, hogy mostantól nem csak egy karakterláncot lehet küldeni a navigációs hivatkozással, hanem a riasztás leírását is. Ezt az alábbi képernyőkép szemlélteti:

Amint a példából látható, most már lehetőségünk van programozottan feldolgozni egy értesítési ablakra leadott kattintást, a szükséges logika szerint.

Következő paraméter Felhasználói riasztás állapota először jelent meg. Ez jelzi a riasztás állapotát (Információ vagy Fontos).

A Fontos opció esetén, ha a felhasználó nem válaszolt az üzenetre, akkor a képernyőről elrejtve az Értesítési Központon keresztül olvasható (erről bővebben lentebb). Az Információ opció esetén az értesítés törlődik anélkül, hogy ebben a központban tárolná. Írjuk át a példánkból származó kódot az alábbiak szerint:

A parancs végrehajtása után megközelítőleg ezt a nézetet kapjuk az alkalmazásablakról:

Az eszköztárban megjelent egy csengő ikonnal ellátott gomb, amely a fent említett Értesítési Központot hívja elő. Új fontos figyelmeztetéseket halmoz fel, amelyekre a felhasználó még nem válaszolt.

Ha vannak figyelmeztetések a központban, egy kis narancssárga pont jelenik meg mellette, hogy felhívja a felhasználó figyelmét. A felhasználó megnyithatja az Értesítési központot, elolvashatja a szöveget, és szükség esetén megtehet néhány műveletet.

A Központból a törlés gomb megnyomásával törlődik a riasztás, de ha a riasztáshoz valamilyen művelet kapcsolódik, akkor amint a felhasználó rákattint az üzenet szövegére, az is eltűnik.

És végül az utolsó hozzáadott paraméter az volt Az egyediség kulcsa. Segítségével megkeresheti a képernyőn megjelenő figyelmeztetést, és módosíthatja azt. Ha ezzel a paraméterrel nincs riasztás, akkor új riasztás jelenik meg.

Mint látható, a megfelelő módszer adta lehetőségek még nagyobbak lettek! De ez nem minden változás az értesítési mechanizmusban.

Amint azt már észrevette, az övék kinézet. A figyelmeztetések most modernebbnek és ergonomikusabbnak tűnnek, de nem mozgathatók a képernyőn vagy nem méretezhetők át. Kérjük, vegye figyelembe, hogy példánkban az értesítés szövege egyszerűen nem fért be teljesen magába az ablakba, és a felhasználó csak az Értesítési központ megnyitásával tudja azt teljes egészében elolvasni. Ezért ne írjon nagy mennyiségű szöveget az értesítési szövegbe.

Az új funkciók közé tartozik az akár három figyelmeztetés egyidejű megjelenítése a képernyőn.

Ezzel véget is értünk a riasztások szoftveres generálásával. Ne feledje azonban, hogy a riasztásokat nem csak a fejlesztő generálja programozottan, hanem maga a platform is interaktív rögzítés vagy objektum megváltoztatásakor. És gyakran ez a tény elsősorban a kezdő felhasználók körében okoz félreértést: miért van szükség ezekre a szolgáltatási riasztásokra, amelyeket egyébként nem lehet kikapcsolni?

Képzeljük el ezt egyszerű helyzet: A felhasználó a kényelem kedvéért beállított egy szűrőt egy listában. Tegyük fel, hogy ezt egy lista formájában tette a Nomenclature könyvtárban. Aztán egy idő után úgy döntöttem, bemutatom új elem„Szék” névvel, amely nem egyezik a korábban telepített szűrővel. Beírja, leírja és...? És nem látja a listán. Mit fog tenni egy átlagos felhasználó? Természetesen másodszor is belép, de többé nem látja. Ezt követheti harmadik, negyedik, ötödik alkalom. Amikor elege lesz abból, hogy újra és újra beírja ugyanazt, végre megkérdezi: hová megy minden?

Pontosan ezért jeleníti meg a platform ezeket a szolgáltatási figyelmeztetéseket, tájékoztatva a felhasználót, hogy művelete befejeződött. Példánkban az interaktív rögzítéskor a felhasználó a következő értesítést fogja látni:

Felmondási üzenetek

A felmondási üzenetek azok az üzenetek, amelyek addig nem engedik a munkát, amíg a felhasználó nem hajt végre bizonyos műveleteket, pl. amíg fel nem dolgozza az üzenetet.

A lezáró üzenetek használatának lehetőségéről a 8.3-as platformon egy kicsit később lesz szó (az utóbbi időben igyekeztek nem használni, így a figyelembe vett példa inkább a 8.2-es platformra vonatkozik).

A befejező üzenetek kiadásának két módja van FigyelemÉs Kérdés. Figyelem eltér Kérdés mert egyetlen gombja van rendben.

Egy kérdés különböző válaszlehetőségeket határozhat meg ( Nem igazán, IgenNemMégse, rendben, OK Mégse, IsmétlésMégse, AbortRepeatSkip), amelyeket a paraméter segítségével adunk meg.

Jelenítsen meg néhány figyelmeztetést a sor használatával (például egy felügyelt alkalmazásmodulban):

Figyelmeztetés ("A bázis most nyitva lesz");

Felügyelt alkalmazásmodul megnyitásához válassza ki az objektumot a konfigurációs fában Konfiguráció, hívás helyi menüés válassza ki az elemet Nyisson meg egy felügyelt alkalmazásmodult.

Ebben az esetben az alkalmazás indításakor egy modális ablak jelenik meg. A modális ablak átfedi az alkalmazásban létező összes ablakot. Amíg nem dolgozzuk fel ezt az ablakot, további műveletekre nincs lehetőség.

A funkció hasonló módon működik Kérdés.

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

Csak az első két paramétert kell megadni. A második paraméter adattípusa összetett ( Dialógus módKérdés vagy ListValues). Harmadik paraméter ( <Таймаут> ) azt az időtartamot írja le másodpercben, amely alatt a rendszer a felhasználói válaszra vár.

Amikor az intervallum lejár, a kérdésablak bezárul. Hasonló paraméter( <Таймаут> ) is elérhető a funkcióhoz Figyelem.

Példaként a függvény használatára Kérdés A következő kódot használhatja egy felügyelt alkalmazásmodulban:

Felhívjuk figyelmét, hogy ezek a módszerek ( FigyelemÉs Kérdés) nem érhetők el a szerveren. És ez logikus, mert az interfész metódusokat nem lehet végrehajtani olyan Szerveren, ahol nincs felhasználó.

Használati jellemzők modális ablakok a 8.3-as platformon

A 8.3-as platformon vannak modalitásos és anélküli üzemmódok. Az alapértelmezett beállítás a Ne használjon modalitás módot.

Ebben az esetben a befejező üzenetek használata lehetetlen. Ha szükség van befejező üzenetek használatára (függvények FigyelemÉs Kérdés) módosítania kell a konfigurációs tulajdonság értékét tovább Használat.

A modális ablak a legfelül jelenik meg, és a blokkok más ablakokkal működnek, amíg a modális ablakkal végzett műveletek be nem fejeződnek. Ezenkívül a programkód végrehajtása leáll azon a ponton, ahol ezt az ablakot meghívják. A kódvégrehajtás csak a modális ablak bezárása után folytatódik.

Először is a modális ablakok használatával kapcsolatos problémák merülnek fel mobilos alkalmazás. Másodszor, a böngészőben az ablakmódosítás külön felugró ablakok segítségével valósul meg.

Az előugró ablakok gyakran le vannak tiltva az alapértelmezett böngészőbeállítások szerint. A felhasználót rá kell kényszeríteni, hogy állítsa be az engedélyt ezekhez az ablakokhoz.

Böngészők a táblagépek a telefonok esetében pedig a legtöbb esetben egyáltalán nem támogatják a felugró ablakokat.

Funkciók cseréjéhez KérdésÉs Figyelemúj módszereket fejlesztettek ki: ShowQuestion, ShowWarning.

Ezek a módszerek lehetővé teszik egy ablak meghívását, de nem állítják le a programkód végrehajtását. Technikailag ezt úgy érik el, hogy a szülőablakon belül egy pszeudo-ablakot alakítanak ki. A pszeudoablak nem fedi át a szülőablakot. Egy ilyen ablak megnyitása után a kód végrehajtása folytatódik.

A felhasználó által megadott értékek fogadása és feldolgozása külön eljárásban történik, amelyet a párbeszédpanel bezárásakor hívunk meg.

Függvény szintaxis ShowWarning:

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

Paraméter <ОписаниеОповещенияОЗавершении> (választható)

Adattípus: LeírásFigyelmeztetések.

A figyelmeztető ablak bezárása után meghívott eljárás leírását tartalmazza.

Függvény szintaxis ShowQuestion:

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

Az első három paraméter kötelező.

Az alábbiakban egy példa látható a függvény használatára.

Osztály MessageToUser

Az üzenetosztály alapvető kényelme Üzenet a felhasználónak az, hogy ez egy kontextuális üzenet (a módszerektől eltérően FigyelemÉs Kérdés).

Az üzenetek egy adott képernyőelemhez köthetők. Ez az objektum a szerveren is elérhető.

Kérjük, vegye figyelembe, hogy először ezt az objektumot kell létrehozni. Például: Üzenet = New MessageToUser;

Így létrehozzuk ennek az objektumnak a példányát.

Másodszor, meg kell adnia az üzenet szövegét egy külön tulajdonságban.

Harmadszor, az ingatlanban Terület Megadhatja, hogy ezt az üzenetet melyik űrlapelemhez kell csatolni.

Figyelem! A kívánt űrlapmezőhöz való kötéshez ügyeljen a tulajdonságok inicializálására PathToDataÉs DataKey. Egy dokumentum esetében, amikor kódot helyez el egy objektummodulban, a következőket írhatja:

Message.DataPath = "Objektum";
Message.DataKey = ThisObject.Link;

A dokumentum modul megnyitásához az objektum (dokumentum) szerkesztő ablakban lépjen a fülre Egyéb nyomja meg a gombot Objektum modul.

A kísérlethez a kódot egy dokumentum objektum moduljába helyezzük.

Az alábbiakban a 8.3-as platform felhasználói módban elért eredménye látható.

Megjegyzendő, hogy az üzenetek az új rendszerobjektum használatával jelennek meg Üzenet a felhasználónakáltalános esetben nem megszűnnek. Azok. a rendszer lehetővé teszi a felhasználó számára a további műveletek folytatását anélkül, hogy válaszolna a megjelenített üzenetekre.

De először is, ezek az üzenetek nagyon észrevehetők. Másodszor, az üzenetek általában a címtárak elemeinek rögzítésekor vagy dokumentumok feladásakor jelennek meg a felhasználó számára, azaz amikor bizonyos ellenőrzéseket végeznek. És ha hibákat észlel, a felhasználó ugyanazokat az üzeneteket fogja látni.

Ennek megfelelően a hibák észlelésekor a tranzakció törlésre kerül, pl. címtárelem írása tilos, vagy dokumentum feladása tilos.

Így a befejező üzenet egyfajta emulációja következik be. Mivel a művelet megszakad mindaddig, amíg a felhasználó nem reagál a beírt üzenetre, lehetetlen lesz a művelet befejezése, például egy dokumentum feladása.

Másrészt azonban lehetséges a dokumentum lezárása anélkül, hogy azt lebonyolítanánk, anélkül, hogy bármilyen módon reagálnánk az üzenetre. Ezért ezek az üzenetek a felhasználónak nem szűnnek meg.

Állapotértesítés feldolgozása

Van egy speciális funkció, amellyel egy folyamat hozzávetőleges előrehaladását jelenítheti meg.

Szintaxis: Állapot(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Lehetőségek:<ТекстСообщения>És<Пояснение>– nem kötelező, típus – Vonal.
A szöveg egy speciális állapotsoron jelenik meg.
<Прогресс>A paraméter szintén nem kötelező, de vizuális.
Típus: Szám. A folyamatjelző értéke (1-től 100-ig).
<Картинка>opcionális paraméter is.
Bármely esemény feldolgozása során egy függvény periodikus hívása, például:

Ebben az esetben a címkék változhatnak, és a Progress paraméter értékei is módosulhatnak.

Egy függvény hívható egy eljárásból (függvényből) vagy többből is. Így nyomon követheti a folyamat végrehajtási állapotát.

Ha közelebbről is meg szeretné tekinteni az értesítési mechanizmust, álljon meg most, és olvassa el új cikkünket: A hosszú távú műveletek előrehaladásának megjelenítése a 8.3.10-ben. Már nem magyaráz el kezdő szinten minden finomságot és víz alatti sziklák ennek a mechanizmusnak a működését.

Befejezzük a felhasználó tájékoztatásának módjait ismertető bemutatkozásunkat. Reméljük, hogy megérti, milyen helyzetekben érdemes egyik vagy másik módszert alkalmazni.

Ismételten szeretném felhívni a figyelmet arra, hogy ha az Ön konfigurációja (8.3.3+ verzió) webes kliens használatával történik, akkor:

  • a konfigurációs szinten a modalitási mód beállítását „Ne használja” értékre kell állítani.
  • A kódnak az aszinkron felhasználói interakciós modell módszereit kell használnia. Az ilyen módszerek a szavakkal kezdődnek Előadás vagy Kezdődik.

A sorozat utolsó cikkében olvashat bővebben a modális ablakok használatának megtagadásáról az 1C:Enterprise 8.3 platformon. És továbbmegyünk, és végül elkezdjük tanulmányozni a régóta várt Taxi felületet, amelyet már többször említettünk anyagainkban.

8.3.10.2168 verzióban implementálva.

Továbbfejlesztettük a felhasználói értesítési mechanizmust. Most egyformán kényelmes mindkettőt használni vékony kliensés a webes kliensben. Megváltoztattuk a figyelmeztetések megjelenését, és számos új funkciót adtunk hozzájuk.

Több figyelmeztetés megjelenítése

A régi megvalósításban egyszerre csak egy riasztás jelent meg a képernyőn. Az új riasztás átfedésben volt az előzővel. Így ha több riasztás is megjelent egymás után, nagy a valószínűsége annak, hogy a felhasználónak nem lesz ideje elolvasni az előző riasztást, mivel azt a következő lefedi.

Most a legtöbb esetben akár három riasztás is megjeleníthető egyszerre:

Ez igaz a böngészőkben futó vékony kliensekre, vastag kliensekre és webes kliensekre internet böngésző És Google Chrome . Böngészők SzafariÉs Mozilla Firefox lehetővé teszi korlátlan számú figyelmeztetés megjelenítését és a böngészőt Microsoft Edge egy utolsó figyelmeztetést mutat, de az tartalmazza Műveletközpont, amelybe az összes figyelmeztetés duplikálva van.

Figyelmeztetések megjelenítése, ha az alkalmazásablak inaktív

Korábban a webkliensben a figyelmeztetések csak az aktív böngészőablakban jelentek meg. Ha a felhasználó másik ablakra vagy másik alkalmazásra váltott, nem látta a figyelmeztetést. Mostantól a webes kliens használatakor az értesítések akkor is megjelennek a képernyőn, ha az alkalmazás ablaka kicsinyített vagy inaktív.

Amikor a módszert először hívják meg ShowUserAlert() a webes kliensben Google Chrome, Mozilla FirefoxÉs Szafari A böngésző engedélyt kér a felhasználótól az értesítések használatához. A felhasználó engedélyezheti a kimenetét ez az alkalmazás, vagy tiltani.

Ha a felhasználó letiltja az értesítések megjelenítését, akkor a rendszer az új típusú értesítéseket használja, de azok a böngészőablakon belül jelennek meg.

Riasztási Központ

Annak érdekében, hogy az értesítések ne tűnjenek el örökre, bevezettük riasztási központ. Maguk a figyelmeztetésekhez pedig egy új tulajdonságot vezettünk be - Felhasználói riasztás állapota. Két jelentése lehet: InformációÉs Fontos.

Figyelmeztetések állapottal Információ megjelennek a képernyőn, és 10 másodperc múlva eltűnnek (a böngészőben Microsoft Edge– 4 másodperc múlva). Figyelmeztetések állapottal Fontos pontosan ugyanúgy viselkednek, de a riasztási központban vannak elmentve.

A Riasztási központ az eszköztárról érhető el. Azt, hogy új fontos figyelmeztetések vannak, egy narancssárga pont jelzi az ikonja mellett.

A Riasztási központ olyan fontos figyelmeztetéseket jelenít meg, amelyekre a felhasználó még nem reagált bezárással vagy a riasztáshoz kapcsolódó művelettel. A figyelmeztetések a megjelenésük sorrendjében jelennek meg, a legújabbat felül. Így még ha a felhasználó elhagyja is a számítógépet, nem marad le a fontos értesítésekről.

A riasztás a törlés gombbal törölhető a listából. Ha a riasztáshoz valamilyen művelet kapcsolódik, akkor a figyelmeztető szövegre kattintás után az is eltűnik. Csapat Figyelmeztetések törlése eltávolítja az összes figyelmeztetést a listáról. Ha azonban a műveletek riasztásokhoz voltak társítva, akkor nem hajtódnak végre.

Nyomja meg a műveleteket

A régi megvalósításban az egyetlen művelet, amelyet egy figyelmeztetésre kattintott, a navigációs hivatkozásra kattintott. Második paraméterként átadtuk a metódusnak.

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

Most kibővítettük a riasztások lehetőségeit, és a második paraméterben nem csak egy karakterláncot adhatunk át navigációs hivatkozással, hanem a riasztás leírását is.

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

A riasztás leírása azt az eljárást jelzi, amelyet a riasztásra kattintva kell végrehajtani.

Kinézet

A vékony kliensben az interfész opcióban Taxi az értesítési stílus a lehető legközelebb áll a böngésző értesítési stílusához Google Chrome segítségével Értesítések API.


Ha az interfész opciót használjuk 8.2-es verzió, akkor a riasztási stílus és viselkedés változatlan marad.

A webkliensben a riasztások megjelenését a használt böngésző határozza meg. A riasztások nagyjából ugyanúgy fognak kinézni, mint a vékony kliensben, de minden böngészőnek megvannak a maga sajátosságai. Például összehasonlíthatja, hogyan jelennek meg ugyanazok a figyelmeztetések internet böngészőÉs Mozilla Firefox.


Ezen kívül vannak más funkciók is. Például a böngészőben internet böngésző Csak az alkalmazás ablakában megjelenő figyelmeztetések támogatottak. És a böngészőben Szafari paraméter Kép nem támogatott, és a figyelmeztetések a képernyő tetején jelennek meg.