1s 8.3 popup-melding til brukeren. Behandle statusvarsling

I programmer på 1C:Enterprise-plattformen kan en melding vises til brukeren på ulike måter.

1. Metode Vis Advarsel.

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

Når du bruker denne designen, vises et advarselsvindu i midten av programgrensesnittet.

Alternativer:

BeskrivelseFullstendige varsler(valgfri)
Type: BeskrivelseAlerts. Inneholder en beskrivelse av prosedyren som vil bli kalt etter lukking av varselvinduet med følgende parametere: Tilleggsparametere - verdien som ble spesifisert ved opprettelse av objektet Alert Description. Hvis parameteren ikke er spesifisert, vil ingen prosedyre kalles etter fullføring.

Tekstadvarsel(obligatorisk)
Type: String; Formatert streng. Advarselstekst.

Tidsavbrudd (valgfritt)
Type: Antall. Tidsintervallet i sekunder som systemet vil vente på brukersvar. Når intervallet utløper, lukkes advarselsvinduet. Hvis parameteren ikke er spesifisert, er ventetiden ubegrenset. Hvis parameteren er negativ, vil et unntak bli kastet. Standardverdi: 0.

Tittel (valgfritt)
Type: String. Inneholder tittelen på advarselsvinduet. Beskrivelse: Viser et advarselsvindu, men venter ikke på at det lukkes.

Tilgjengelighet: Tynnklient, nettklient, tykk klient, mobilapplikasjon (klient).

Merk: Hvis en kode må utføres etter at brukeren lukker advarselsvinduet, må den plasseres i en egen modulprosedyre og beskrives i en parameter.

2. Metode Advarsel.

Et advarselsvindu vises i midten av programgrensesnittet. Men hvis konfigurasjonsegenskapen BruksmåteModaliteter er satt til Ikke bruk, fungerer ikke metoden.

Tilgjengelighet: tynnklient, nettklient, mobil klient, tykk klient, mobilapplikasjon (klient).

3. Metode ShowUserAlert.

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

Når du bruker denne metoden, vises en melding i nedre høyre hjørne av grensesnittet.

Tilgjengelighet: Tynn klient, nettklient, tykk klient.

4. Rapporteringsmetode.

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

Tilgjengelighet: Tynnklient, webklient, mobilklient, server, tykk klient, ekstern tilkobling, mobilapplikasjon (klient), mobilapplikasjon (server).

5. Objekt Melding til bruker.

Designet for å lagre meldingsparametere som må vises til brukeren. Hvis meldingen ennå ikke er vist til brukeren (dette kan skje når du arbeider på serversiden, i bakgrunnsjobb, ekstern tilkobling eller webtjenester), kan du få de akkumulerte meldingene ved å bruke metoden Motta meldinger til brukeren.

Egenskaper: Destinasjons-ID(MålID); Datanøkkel; Felt; DataPath(DataPath); Tekst.

Metoder: Melding; SetData(SetData).

Meldingen vises nederst i grensesnittet, på en linje.

Message = New MessageToUser(); Beskjed. Tekst = "Ikke nok nomenklatur"; Beskjed. Felt = "Nomenklatur. Antall"; Beskjed. SetData(DataObject) ; Beskjed. Å melde() ;

Utviklingen er designet for å varsle brukere, både selektivt og alle, du kan også ganske enkelt skrive meldinger eller føre korrespondanse mellom brukere.

Utvikling er et register over informasjon og en endring i en modul i en administrert eller vanlig applikasjon.
For å utløse et varsel må du legge til en oppføring i informasjonsregisteret, brukere vil motta varsler i perioden spesifisert mellom begynnelsen og slutten av varslingstidspunktet.

ADMINISTRERT APPLIKASJON

VANLIG SØKNAD

Varslingsvindu vises i brukerprogrammet blokkerer hele grensesnittet og brukere som jobber i dette øyeblikket programmet vil ikke gå glipp av varselet og vil lese det deretter.

ADMINISTRERT APPLIKASJON

VANLIG SØKNAD

Registerliste

I listen over varsler kan du se hvem som mottok varselet og hvem som leste det.

ADMINISTRERT APPLIKASJON

VANLIG SØKNAD

For å implementere utviklingen i konfigurasjonen din, må du:

  1. Angi muligheten til å redigere konfigurasjonen.
  2. Sammenlign med konfigurasjonen som er gitt i denne publikasjonen. Et informasjonsregister "Brukervarsler" vil bli lagt til og en oppføring i den vanlige eller administrerte applikasjonsmodulen, avhengig av applikasjonens primære oppstartsmodus.

    Moduloppføringen til en vanlig eller administrert applikasjon er forskjellig:

    ADMINISTRERT APPLIKASJON

Prosedyre Når systemet starter() //Endring av standardkonfigurasjonen for å varsle programbrukere (sende en melding til enhver bruker) //Passer for alle konfigurasjoner ConnectWaitingHandler("modNotificationProcessingHandler", 60); Slutt på prosedyre // Når systemet starter () // Endring av standardkonfigurasjonen for å varsle brukere om programmet (sende en melding til enhver bruker) // Passer for alle konfigurasjoner // Å ringe ventebehandleren fortsetter til skjemaet er lukket // eller til skjemametoden heter Procedure modNotificationProcessingHandler( ) Eksporter melding til bruker = GetForm("Information Register.User Alerts.Form.ControlSubmissionForm").GetNotificationProcessingMessages(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertControl"); Hvis ikke Form.Open() Then FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.Open(); Else Form.Activate(); slutt om;

slutt om; Slutt på prosedyre VANLIG APPLIKASJON Prosedyre når systemet starter() //Endring av standardkonfigurasjonen for å varsle programbrukere (sende en melding til enhver bruker) //Passer for alle konfigurasjoner ConnectWaitingHandler("modNotificationProcessingHandler", 60); Slutt på prosedyre // Når systemet starter () // Endring av standardkonfigurasjonen for å varsle brukere om programmet (sende en melding til enhver bruker) // Passer for alle konfigurasjoner // Å ringe ventebehandleren fortsetter til skjemaet er lukket // eller til skjemametoden heter Procedure modNotificationProcessingHandler( ) Eksporter melding til bruker = Informasjonsregistre.User Alerts.GetNotificationProcessingMessages(); If Not MessageToUser = Undefined Then Form = GetForm("InformationRegister.User Alerts.Form.AlertUsual"); Hvis ikke Form.Open() Then FillPropertyValues(Form,MessageToUser,"ViewOnly"); Form.OpenModal(); Else Form.Activate(); slutt om;

slutt om; Sluttprosedyre
Implementering av utviklingen er gratis og fullført innen 10 minutter.

Gratis teknisk støtte i 30 dager.

I

Utviklingen er ment for plattform 8.3, ulike standard og ikke-standard konfigurasjoner, i tynne, tykke klient- og webklientmoduser.

Et veldig praktisk alternativ for å varsle, varsle 1C-brukere om teknisk arbeid, endringer i konfigurasjoner, oppdateringer, muligheten til å korrespondere mellom 1C-brukere innenfor rammen av det første programmet.

Fordeler

1) 100 % levering av varsler til alle brukere, i motsetning til analoger.
2) Evne til å sende bilder.
3) Se brukeraktivitet i listen over meldinger (hvem som ble levert, hvem som leste).
4) Evnen til å skrive et svar til den som har sendt varselet.
5) Påvirker ikke andre objekter ved oppdatering av konfigurasjoner med redigeringsalternativet installert.

Pengene tilbake-garanti

Infostart LLC garanterer deg 100 % refusjon dersom programmet ikke samsvarer med den deklarerte funksjonaliteten fra beskrivelsen. Pengene kan returneres i sin helhet dersom du ber om dette innen 14 dager fra datoen pengene er mottatt på vår konto.

Programmet er så bevist å fungere at vi kan gi en slik garanti med full tillit. Vi ønsker at alle våre kunder skal være fornøyde med kjøpet.

I løpet av leksjonen: laget vi en base, laget prosessering, laget et skjema.

Nå vil vi fortelle deg 5 metoder for meldinger fra 1C "Hei, verden!"

Ikke alle vet om minst to metoder :)

Hvordan og hvor skrive programtekst?

Bytt til fanen i vinduet med "Modul"-skjemaet. Du vil sørge for at du allerede har litt tekst der ("Prosedyre ...").

Hvis det ikke er noen tekst, så:

  • I den tykke klienten la du skjemaet til feilbehandling, gjenta fra begynnelsen
  • I tynn klient Du glemte å legge til en knapp, prøv igjen fra begynnelsen.

Inne i teksten er det en linje:

// Sett inn innholdet i behandleren

Din oppgave er å slette denne linjen og skrive inn programteksten i stedet. Deretter lagrer du behandlingen og åpner den i bedriftsmodus.

Når du klikker på Utfør, vil handlingene du skrev inn nå bli utført.

La oss nå gå videre til selve metodene!

Melding i 1C, metode 1 - den enkleste

Så du bør i stedet for teksten "// Sette inn innholdet til behandleren." skrive programteksten.

Report("Hei verden!");

Det er faktisk alt :)

Meldingen i Enterprise-modus i den tykke klienten vil være nederst i 1C-vinduet, i den tynne klienten - til høyre i behandlingsvinduet.

Dette er den enkleste metoden, veldig mye brukt av programmerere.

Melding i 1C, metode 2 - også enkelt

Alert("Hei verden!");

Det er faktisk alt :)

Meldingen i Enterprise-modus i begge klientalternativene vil være i et popup-vindu.

Melding i 1C, metode 3 - dukket bare opp i 1C versjon 8.2

ShowUserAlert("Hei, verden!","Hei virkelig!");

Denne metoden dukket bare opp i 1C versjon 8.2. Dette er et popup-vindu i nedre høyre hjørne av skjermen som forsvinner over tid.

Melding i 1C, metode 4 - programmerer

Kast unntak "Hei, verden!";

Det kan oppstå en feil når du kjører et hvilket som helst program. Noen ganger kan denne feilen beregnes på forhånd (for eksempel må du beregne a = b/c og på tidspunktet for programkjøring blir det kjent at c er lik 0).

I dette tilfellet er det en måte å rapportere feilen ved å bruke denne metoden.

Melding i 1C, metode 5 - teknologisk avansert, kun for standardkonfigurasjon

General Purpose.ReportError("Hei, verden!");

En 1C-programmerer må ikke bare kjenne til de programmeringsmetodene som er i 1C-plattformen, men også de som er i typiske konfigurasjoner.

Nybegynnere, når de prøver å legge til en standardkonfigurasjon, begynner å finne opp hjulet på nytt.

Her er et perfekt eksempel. Denne funksjonen finnes i mange standardkonfigurasjoner (bare tykk klient!). Det ser ut til at resultatet er lik handlingen til metode 1.
Men nei - i noen konfigurasjoner (for eksempel mykstarter) dupliseres feilmeldinger i loggen. Også når tilleggsinnstillinger budskapet ser helt annerledes ut.

Så nå kan du føle deg som en ekte programmerer!

Dette er akkurat hva 1C-programmering er. Selvfølgelig er ekte programmering mye mer kompleks og krever mye kunnskap, men du har nå en generell idé.

Lykke til!

P.S. I pdf-versjoner Leksjonen inneholder skjermbilder for å gjøre det enklere å lage din egen opplevelse.

P.P.S. Leksjonen inneholder 5 videoer med eksempler på å lage en base for programmering, lage prosessering, programmering i en tykk og tynn klient.

Implementert i versjon 8.3.10.2168.

Vi har forbedret brukervarslingsmekanismen. Nå er det like praktisk å bruke både i tynnklienten og i nettklienten. Vi forandret oss utseende varsler og lagt til en rekke nye funksjoner til dem.

Vis flere varsler

I den gamle implementeringen ble bare ett varsel vist på skjermen om gangen. Det nye varselet overlappet det forrige. Hvis flere varsler ble vist på rad, var det således stor sannsynlighet for at brukeren ikke ville ha tid til å lese det forrige varselet, siden det ville bli dekket av det neste.

Nå, i de fleste tilfeller, kan opptil tre varsler vises samtidig:

Dette gjelder for den tynne klienten, den tykke klienten og nettklienten som kjører i nettlesere Internet Explorer Og Google Chrome . Nettlesere Safari Og Mozilla Firefox lar deg vise et ubegrenset antall varsler og nettleseren Microsoft Edge viser et siste varsel, men det inneholder Handlingssenter, der alle varsler dupliseres.

Viser varsler når programvinduet er inaktivt

Tidligere, i nettklienten, ble varsler bare vist i det aktive nettleservinduet. Hvis brukeren byttet til et annet vindu eller en annen applikasjon, så han ikke varselet. Nå, når du bruker nettklienten, vises varsler på skjermen selv når programvinduet er minimert eller inaktivt.

Når metoden kalles for første gang ShowUserAlert() i webklienten Google Chrome, Mozilla Firefox Og Safari Nettleseren vil be brukeren om tillatelse til å bruke varsler. Brukeren kan tillate sin utgang for denne søknaden, eller forby.

Hvis brukeren deaktiverer visningen av varsler, vil den nye typen varsler bli brukt, men de vil bli gjengitt i nettleservinduet.

Varslingssenter

For å forhindre at varsler forsvinner for alltid, har vi implementert varslingssenter. Og for selve varslene har vi implementert en ny egenskap - Brukervarselstatus. Det kan ha to betydninger: Informasjon Og Viktig.

Varsler med status Informasjon vises på skjermen og forsvinner etter 10 sekunder (i nettleseren Microsoft Edge– etter 4 sekunder). Varsler med status Viktig oppfører seg nøyaktig likt, men de lagres i varslingssenteret.

Varslingssenteret er tilgjengelig fra verktøylinjen. Det faktum at det er nye viktige varsler indikeres med en oransje prikk ved siden av ikonet.

Varslingssenteret viser viktige varsler som brukeren ennå ikke har svart på ved å lukke eller utføre en handling relatert til varselet. Varsler er oppført i den rekkefølgen de vises, med det nyeste øverst. På denne måten, selv om brukeren forlater datamaskinen, vil han ikke gå glipp av viktige varsler.

Et varsel kan fjernes fra listen ved å bruke sletteknappen. Hvis det er en handling knyttet til varselet, vil den også forsvinne etter at du har klikket på varselteksten. Team Fjern varsler fjerner alle varsler fra listen. Men hvis handlinger var knyttet til varsler, blir de ikke utført.

Utfør handlinger når du trykker

I den gamle implementeringen var den eneste handlingen du kunne utføre når du klikket på et varsel å klikke på navigasjonslenken. Den ble overført til metoden som den andre parameteren.

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

Nå har vi utvidet mulighetene til varsler, og i den andre parameteren kan du sende ikke bare en streng med en navigasjonslenke, men også en beskrivelse av varselet.

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

Varslingsbeskrivelsen angir prosedyren som skal utføres når varselet klikkes.

Utseende

I den tynne klienten i grensesnittet alternativet Taxi varslingsstilen vil være så nær nettleserens varslingsstil som mulig Google Chrome ved hjelp av Notifications API.


Hvis grensesnittalternativet brukes Versjon 8.2, da forblir varslingsstilen og oppførselen den samme.

I nettklienten bestemmes utseendet på varsler av nettleseren som brukes. Stort sett vil varslene se ut som i tynnklienten, men hver nettleser har sine egne egenskaper. Du kan for eksempel sammenligne hvordan de samme varslene vises Internet Explorer Og Mozilla Firefox.


Utenom dette er det andre funksjoner. For eksempel i nettleseren Internet Explorer Bare varsler som vises inne i programvinduet støttes. Og i nettleseren Safari parameter Bilde støttes ikke, og varsler vises øverst på skjermen.

Artikkelen fortsetter artikkelserien «Første trinn i utvikling på 1C».

I den vil vi se på metodene for å informere brukeren som er til stede i 1C:Enterprise-plattformen 8, og også fokusere oppmerksomheten din på noen funksjoner ved driften av disse mekanismene .

Anvendbarhet

Artikkelen diskuterer funksjonaliteten:

  • Grensesnitt i "Versjon 8.2"-versjonen for konfigurasjonen utviklet på 1C:Enterprise-plattformen 8.2.19.130
  • Taxigrensesnitt for konfigurasjon utviklet på 1C:Enterprise-plattformen 8.3.4.496 til 8.3.9+
  • Taxigrensesnitt for en konfigurasjon utviklet på 1C:Enterprise-plattformen 8.3.10-8.3.11

Hvordan vise en melding til brukeren i 1C

Å vise meldinger i brukermodus løser en rekke problemer:

  • refleksjon av fremdriften til den nåværende prosessen (viser stadiet for utførelse av prosessen; viser de beregnede verdiene oppnådd under driften av algoritmen);
  • vise feil til brukeren for mulig korrigering;
  • utstede anbefalinger;

Meldingstyper:

  • Terminatorer, som stopper kjøringen av programmet og ikke lar det fortsette før brukeren leser denne meldingen og utfører visse handlinger. For eksempel vil brukeren bli presentert med et spørsmål på skjermen som de må svare Ja eller Nei på. Før brukeren svarer, kjøres ikke programmet ytterligere handlinger;
  • introduksjonsmeldinger som enkelt vises for brukeren og tillater videre arbeid (dvs. brukt i varslingsmodus).

Avslutningsmeldinger skal være feilmeldinger og introduksjonsmeldinger: anbefalinger, meldinger om det nåværende stadiet av prosessen og visning av beregnede verdier (feilsøkingsutskrift).

Innledende meldinger er ment å gi brukeren noe informasjon.

Det er nødvendig at brukeren gjør seg kjent med det og eventuelt tar noen handlinger som er beskrevet i denne meldingen.

Det er svært viktig at brukeren faktisk leser disse meldingene, så de skal kun inneholde viktig informasjon.

Test- og feilsøkingsmeldinger skal ikke sendes til brukeren, fordi før eller siden vil han begynne å ignorere absolutt alle meldinger.

I konseptet med et administrert grensesnitt har tilnærmingen til å sende ut en melding endret seg noe. Den er nå knyttet til formen den oppsto i. Den kan ikke lenger lukkes slik at teksten er helt usynlig.

Du kan ikke løsne en meldingsboks fra et skjema.

Funksjonssyntaks:

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

De. den første parameteren er selve teksten.

Den andre parameteren (meldingsstatus) er valgfri. Du kan spesifisere verdier for statusen: Normal, Viktig, Veldig viktig etc.

Fra gitt verdi avhenger av hvilket ikon som vil være plassert ved siden av meldingen. Dette fungerer imidlertid bare i det vanlige grensesnittet.

I konseptet med administrert grensesnitt er ikonet alltid i skjemaet utropstegn, kan den ikke omdefineres.

Faktum er at hvis en melding genereres på tidspunktet for skriving av et katalogelement, kan følgende situasjon oppstå.

Bruker klikker på en knapp Lagre og lukk, i dette tilfellet vises meldingen i det tilsvarende vinduet (til høyre i skjemaet).

Men skjemaet lukkes umiddelbart, og brukeren vil ikke se at noen informasjon ble vist for ham.

Derfor, i konseptet med en administrert applikasjon, anbefales det å vise introduksjonsmeldinger ved hjelp av såkalte varsler. Et eksempel på feil bruk av en funksjon Å melde presentert i figuren.

Men funksjonen Å melde kan brukes til å vise informasjon om visse feil, for eksempel ved dokumentpostering.

I dette tilfellet kan systemet informeres om at skjemaet ikke trenger å lukkes og vise brukeren hvilke feil som oppstår ved bokføring av dokumentet.

Funksjon Å melde fullt støttet i plattform 8.3. Den kan brukes, og den vil fungere (både i filversjonen og i klient-serverversjonen).

Men det bør også bemerkes at funksjonen Å melde Det er en videreutvikling - dette er en meldingsklasse for brukeren, som gjør det mulig, i tillegg til å vise en melding, å binde den kontekstuelt til alle skjemaelementer.

For eksempel kan en feilmelding knyttes til et skjemaelement, som er veldig tydelig for brukeren. Vi kommer tilbake for å vurdere dette problemet litt senere. Funksjon Å melde det er en interessant funksjon.

Dermed kan programkoden i plattform 8.3 kjøres både på klientsiden og på serversiden.

I dette tilfellet er klientprogramkoden ansvarlig for interaksjon med brukeren, dvs. På klientsiden åpnes skjemaer og rapporter vises.

Ulike dialogdokumenter vises også kun på klienten. De kan ikke kjøres på serveren fordi serveren ikke har mulighet til å samhandle med brukere.

Men funksjonen Å melde kan utføres både på klientsiden og på serversiden. I dette tilfellet, bruken av metoden Å melde på serveren betyr ikke i det hele tatt at meldingen vil vises på serveren, det er rett og slett ingen steder å vise dem.

Dette betyr at hvis vi viser en melding i serverprosedyren ved hjelp av denne metoden, vil de samle seg i en eller annen buffer og de vil vises på skjermen først når serverprosedyren avsluttes og returnerer til klienten.

På dette tidspunktet vil systemet be om data fra bufferen og vise dem på skjermen.

Den samme funksjonen gjelder for klassen Melding til bruker. Figuren viser et eksempel på bruk av metoden Å melde på serversiden.

Som et resultat av å bruke metoden Å melde på serversiden ble meldinger vist på skjermen på klientsiden.

En varslingsmekanisme er nødvendig for å informere brukeren om at "noe" har skjedd i systemet og at "noe" krever brukerens oppmerksomhet. Varsler genereres av to scenarier:

  1. Av selve plattformen når du interaktivt tar opp eller endrer et objekt
  2. Av utvikleren når han kaller en metode i koden .

Selve varselet er et lite vindu som som regel vises i nedre høyre hjørne og informerer om den fullførte handlingen. I løpet av noen få sekunder blekner den gradvis og forsvinner. Samtidig, hvis du holder musepekeren over varslingen, forsvinner den ikke, og du kan lese den nøye.

I tillegg kan du få tilgang til varslinger i det tilsvarende området i informasjonspanelet («Historikk»-knappen nederst til venstre i søknadsskjemaet i «Versjon 8.2»-grensesnittalternativet).

For å lage dine egne varsler må du bruke den globale kontekstmetoden ShowUserAlert(). Syntaksen før versjon 8.3.10 er presentert nedenfor:

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

Den første parameteren inneholder teksten som vil vises i varselet.

Deretter, som den andre parameteren, kan du sende en viss navigasjonslenke til et element informasjonsgrunnlag(elementet som tilsvarer teksten i meldingen vår). Når en bruker klikker på et varsel, vil lenken bli fulgt.

Ved å bruke den tredje parameteren kan du sende en forklaring på meldingen, dvs. noe utvidet beskrivelse.

Du kan også tilordne et bilde som viser varslingsstatusen.

Det skal bemerkes at alle disse parameterne er valgfrie. Nedenfor er et eksempel på bruk denne metoden(i konfiguratoren og i brukermodus i grensesnittalternativet "Versjon 8.2").

I versjonen av plattformen 8.3.10.216 for "Taxi"-grensesnittet, ble varslingsmekanismen betydelig forbedret for å forbedre brukervennligheten til både tynne klienter og nettklienter. Av denne grunn har også parameterne som er sendt til metoden endret seg ShowUserAlert(). Nå ser syntaksen slik ut:

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

Det kan sees at den andre parameteren, tidligere kalt Navigasjonslenke, fikk et nytt navn HandlingNårKlikket. Dette skyldes det faktum at det nå er mulig å sende ikke bare en streng med en navigasjonslenke, men også en beskrivelse av varselet. Dette er illustrert i skjermbildet nedenfor:

Som det fremgår av eksempelet, har vi nå muligheten til å programmatisk behandle et klikk på et varslingsvindu, i henhold til logikken som er nødvendig.

Neste parameter Brukervarselstatus dukket opp for første gang. Den indikerer statusen til varselet (Informasjon eller Viktig).

Når det gjelder alternativet Viktig, hvis brukeren ikke har svart på meldingen, kan den leses gjennom varslingssenteret etter at den er skjult fra skjermen (mer om det nedenfor). Ved informasjonsalternativet slettes varselet uten å lagres i dette senteret. La oss omskrive koden fra vårt eksempel som nedenfor:

Etter å ha utført kommandoen, får vi omtrent denne visningen av programvinduet:

En knapp med et bjelleikon har dukket opp i verktøylinjen, som kaller opp det ovennevnte varslingssenteret. Den akkumulerer nye viktige varsler som brukeren ennå ikke har svart på.

Hvis det er noen varsler i senteret, vises en liten oransje prikk ved siden av den for å tiltrekke brukerens oppmerksomhet. Brukeren kan åpne varslingssenteret, lese teksten og om nødvendig iverksette noen handlinger.

Fra senteret fjernes varselet ved å klikke på fjernknappen, men hvis det er en handling knyttet til varselet, så forsvinner den også så snart brukeren klikker på teksten i meldingen.

Og til slutt var den siste parameteren som ble lagt til Nøkkelen til unikhet. Du kan bruke den til å finne varselet som vises på skjermen og endre det. Hvis det ikke er noe varsel med denne parameteren, vises et nytt varsel.

Som du kan se, har mulighetene gitt av den tilsvarende metoden blitt enda større! Men dette er ikke alle endringene i varslingsmekanismen.

Som du kanskje allerede har lagt merke til, har utseendet deres endret seg. Varsler ser nå mer moderne og ergonomiske ut, men de kan ikke flyttes rundt på skjermen eller endre størrelse. Vær oppmerksom på at i vårt eksempel passet ikke varslingsteksten helt inn i selve vinduet, og brukeren vil kun kunne lese den i sin helhet ved å åpne varslingssenteret. Derfor bør du ikke skrive mye tekst i varslingsteksten.

Nye funksjoner inkluderer også samtidig visning av opptil tre varsler på skjermen.

Dette avslutter vårt bekjentskap med programvaregenerering av varsler. Husk imidlertid at varsler ikke bare genereres av utvikleren programmatisk, men også av plattformen selv på tidspunktet for interaktiv opptak eller endring av et objekt. Og ofte forårsaker dette faktum misforståelser først og fremst blant nybegynnere: hvorfor trengs disse tjenestevarslene, som forresten ikke kan slås av?

La oss forestille oss denne enkle situasjonen: brukeren har satt et filter i en liste for enkelhets skyld. La oss si at han gjorde dette i form av en liste i nomenklaturkatalogen. Så, etter en stund, bestemte jeg meg for å introdusere nytt element med navnet "Stol", som ikke samsvarer med det tidligere installerte filteret. Går inn i det, skriver det ned og...? Og han ser det ikke på listen. Hva vil den gjennomsnittlige brukeren gjøre? Selvfølgelig vil han gå inn i den en gang til, men vil ikke se den igjen. Dette kan bli fulgt av en tredje, fjerde, femte gang. Når han blir lei av å gå inn i det samme om og om igjen, vil han til slutt spørre deg: hvor blir alt av?

Det er nettopp derfor plattformen viser disse tjenestevarslene, og informerer brukeren om at handlingen deres er fullført. I vårt eksempel, på tidspunktet for interaktivt opptak, vil brukeren se følgende varsel:

Oppsigelsesmeldinger

Oppsigelsesmeldinger er de meldingene som ikke vil tillate arbeid før brukeren utfører bestemte handlinger, dvs. til den behandler meldingen.

Vi vil snakke om muligheten for å bruke oppsigelsesmeldinger i plattform 8.3 litt senere (i I det siste De prøver å ikke bruke dem, så eksemplet som vurderes er mer relevant for plattform 8.2).

Det er to metoder for å utstede oppsigelsesmeldinger Advarsel Og Spørsmål. Advarsel skiller seg fra Spørsmål fordi den har en enkelt knapp OK.

Et spørsmål kan spesifisere forskjellige sett med svaralternativer ( Ikke egentlig, JaNeiAvbryt, OK, OKAvbryt, Gjenta Avbryt, AbortRepeatSkip), som er spesifisert ved hjelp av parameteren.

La oss vise en advarsel ved å bruke linjen (for eksempel i en administrert applikasjonsmodul):

Advarsel(“Basen vil nå være åpen”);

For å åpne en administrert applikasjonsmodul, velg objektet i konfigurasjonstreet Konfigurasjon, ring opp kontekstmenyen og velg elementet Åpne en administrert applikasjonsmodul.

I dette tilfellet, når applikasjonen startes, vil et vindu vises som er modalt. Et modalt vindu overlapper alle vinduer som finnes i applikasjonen. Inntil vi behandler dette vinduet, er ingen ytterligere handlinger mulig.

Funksjonen fungerer på samme måte Spørsmål.

Syntaks:
Spørsmål(<ТекстВопроса>,<Кнопки>,<Таймаут>,<КнопкаПоУмолчанию>,<Заголовок>,
<КнопкаТаймаута>);

Bare de to første parameterne er nødvendige. For den andre parameteren er datatypen sammensatt ( DialogmodusSpørsmål eller Listeverdier). Tredje parameter ( <Таймаут> ) karakteriserer tidsintervallet i sekunder som systemet vil vente på brukersvar.

Når intervallet utløper, lukkes spørsmålsvinduet. Lignende parameter( <Таймаут> ) er også til stede i funksjonen Advarsel.

Som et eksempel på bruk av funksjonen Spørsmål Du kan bruke følgende kode, skrevet i en administrert applikasjonsmodul:

Vær oppmerksom på at disse metodene ( Advarsel Og Spørsmål) er ikke tilgjengelig på serveren. Og dette er logisk, fordi grensesnittmetoder ikke kan kjøres på en server der det ikke er noen bruker.

Funksjoner ved bruk modale vinduer i plattform 8.3

I plattform 8.3 er det driftsmoduser med og uten modalitet. Standardinnstillingen er Ikke bruk modalitetsmodus.

I dette tilfellet er bruk av oppsigelsesmeldinger umulig. Hvis det er nødvendig å bruke oppsigelsesmeldinger (funksjoner Advarsel Og Spørsmål) bør du endre verdien på konfigurasjonsegenskapen Bruk.

Modalvinduet vises helt øverst og blokker fungerer med andre vinduer til handlingene med modalvinduet er fullført. I tillegg stopper utførelsen programkode på stedet hvor dette vinduet kalles. Kodekjøring vil fortsette først etter at det modale vinduet er lukket.

For det første oppstår det problemer med bruk av modale vinduer for mobil applikasjon. For det andre, i nettleseren, implementeres vindusmodalitet ved hjelp av separate popup-vinduer.

Popup-vinduer er ofte deaktivert av standard nettleserinnstillinger. Brukeren må tvinges til å angi tillatelsen for disse vinduene.

Nettlesere for nettbrett og for telefoner støtter de i de fleste tilfeller ikke popup-vinduer i det hele tatt.

For å erstatte funksjoner Spørsmål Og Advarsel nye metoder er utviklet: Vis spørsmål, Vis Advarsel.

Disse metodene lar deg kalle et vindu, men stopper ikke kjøringen av programkoden. Teknisk oppnås dette ved å danne et pseudo-vindu inne i det overordnede vinduet. Pseudovinduet overlapper ikke det overordnede vinduet. Etter å ha åpnet et slikt vindu, fortsetter koden å kjøre.

Mottak og behandling av brukerangitte verdier utføres i en egen prosedyre, som kalles når dialogboksen lukkes.

Funksjonssyntaks Vis Advarsel:

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

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

Data-type: Beskrivelse Varsler.

Inneholder en beskrivelse av prosedyren som vil bli kalt etter at advarselsvinduet er lukket.

Funksjonssyntaks Vis spørsmål:

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

De tre første parameterne er nødvendige.

Nedenfor er et eksempel på bruk av funksjonen.

Class MessageToUser

Grunnleggende bekvemmelighet for meldingsklassen Melding til bruker er at dette er en kontekstuell melding (i motsetning til metoder Advarsel Og Spørsmål).

Meldinger kan knyttes til et spesifikt skjermelement. Dette objektet er også tilgjengelig på serveren.

Det skal bemerkes at for det første, dette objektet må opprettes. For eksempel: Message = New MessageToUser;

Dermed lager vi en forekomst av dette objektet.

For det andre må du spesifisere meldingsteksten i en egen egenskap.

For det tredje, i eiendommen Felt du kan spesifisere hvilket skjemaelement Denne meldingen må knyttes.

Merk følgende! For å binde til ønsket skjemafelt, vær oppmerksom på initialiseringen av egenskaper PathToData Og Datanøkkel. For et dokument, når du plasserer kode i en objektmodul, kan du skrive:

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

For å åpne dokumentmodulen går du til fanen i redigeringsvinduet for objekt (dokument). Annen trykk på knappen Objektmodul.

For eksperimentet vil vi plassere koden i objektmodulen til et dokument.

Nedenfor er resultatet oppnådd i brukermodus for plattform 8.3.

Det skal bemerkes at meldinger sendes ut ved hjelp av det nye systemobjektet Melding til bruker i det generelle tilfellet avsluttes de ikke. De. systemet vil tillate brukeren å fortsette ytterligere handlinger uten å svare på de viste meldingene.

Men for det første er disse meldingene ganske merkbare. For det andre vises meldinger vanligvis til brukeren på tidspunktet for registrering av elementer i kataloger eller behandling av dokumenter, dvs. når noen kontroller utføres. Og hvis det ble oppdaget feil, vil brukeren se de samme meldingene.

Følgelig, når feil oppdages, kanselleres transaksjonen, dvs. skriving av et katalogelement er forbudt, eller posting av et dokument er forbudt.

Dermed oppstår en slags emulering av oppsigelsesmeldingen. Fordi handlingen avbrytes inntil brukeren reagerer på den angitte meldingen, vil det være umulig å fullføre handlingen, for eksempel å legge ut et dokument.

Men på den annen side er det mulig å lukke dokumentet uten å gjennomføre det, uten å reagere på meldingen på noen måte. Derfor avsluttes ikke disse meldingene til brukeren.

Behandle statusvarsling

Det er en spesiell funksjon som du kan bruke til å vise den omtrentlige fremdriften av en prosess.

Syntaks: Stat(<ТекстСообщения>, <Прогресс>, <Пояснение>, <Картинка>)
Alternativer:<ТекстСообщения>Og<Пояснение>– valgfritt, skriv – Linje.
Teksten vises på en spesiell statuslinje.
<Прогресс>Parameteren er også valgfri, men visuell.
Type: Antall. Fremdriftsindikatorverdi (fra 1 til 100).
<Картинка>også en valgfri parameter.
Når du behandler en hendelse, kalles periodiske funksjoner som:

I dette tilfellet kan etikettene endres, og verdiene til fremdriftsparameteren kan endres.

En funksjon kan kalles fra én prosedyre (funksjon) eller fra flere. På denne måten kan du spore utførelsesstatusen til prosessen.

Hvis du vil se nærmere på varslingsmekanismen, stopp nå og les vår nye artikkel, Viser fremdriften til langvarige operasjoner i 8.3.10. Det forklarer, ikke lenger på nivået til en nybegynner, alle finessene og fallgruvene ved driften av denne mekanismen.

Vi avslutter vår introduksjon til måter å informere brukeren på. Vi håper du har forståelse for i hvilke situasjoner en eller annen metode bør brukes.

Jeg vil nok en gang gjøre deg oppmerksom på det faktum at hvis konfigurasjonen din (versjon 8.3.3+) innebærer bruk av en nettklient, så:

  • på konfigurasjonsnivået må modalitetsmodusinnstillingen settes til "Ikke bruk"
  • Koden må bruke metodene til den asynkrone brukerinteraksjonsmodellen. Slike metoder begynner med ordene Forestilling eller Begynne.

Du kan lese mer om å nekte å bruke modale vinduer i 1C:Enterprise 8.3-plattformen i den siste artikkelen i serien. Og vi går videre og begynner til slutt å studere det etterlengtede Taxi-grensesnittet, som allerede har blitt nevnt mer enn en gang i materialene våre.