Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
[Ova tema spada u dokumentaciju predizdanja i podložna je promjenama.]
Cilj je ovih primjera dodataka pomoći vam da započnete tako da ih integrirate u svoje aplikacije. Razumjet ćete da iskustvo autorstva uključuje stvaranje Microsoft Dataverse prilagođenih API-ja potkrijepljenih izrazima Power Fx , koji mogu pokrenuti interne ili eksterne radnje Dataverse.
Važno
- Trenutni dodaci s niskim kodom nemaju prioritet i ne isporučuju se kao značajka. Trenutni dodaci s niskim kodom zamijenjeni su funkcijama. Dodatne informacije: Funkcije u Microsoft Dataverse (pretpregled)
- To je značajka pretpregleda.
- Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.
Preduvjet
Da biste koristili jedan od primjera dodataka za podatkovni događaj, Dataverse aplikacija ubrzivača mora biti instalirana u okruženju. Dodatne informacije: Preduvjeti za stvaranje dodatka s niskim kodom
Napomena
Predlošci e-pošte dostupni su samo za određene tablice. Dodatne informacije: Stvaranje predložaka za e-poštu
Vraćanje nenegativne vrijednosti
U ovom primjeru funkcija Abs() vraća nenegativnu vrijednost argumenta. Ako je broj negativan,vraća Abs pozitivan ekvivalent.
Reproducirajte aplikaciju Dataverse Accelerator, na naredbenoj traci odaberite Nova akcija>Instant dodatak.
Navedite zaslonski naziv, kao što su naziv formule i opis.
Stvaranje parametra za provjeru očekivanog
Outponašanja koje ima smisla, kao što je niz Po želji koristite ulazne parametre da biste olakšali testiranje, što ima smisla s formulom.U uređivaču formula omotajte
Outparametar u vitičaste zagrade:{Out: "" }Unesite izraz koji testira formulu:
- Provjerite prihvaća li IntelliSense formulu (tekst postaje svijetloplav).
- Implementirajte izraz koji pruža izlaz koji će vam pomoći u provjeri valjanosti rezultata, na primjer.
{Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 ) }Odaberite Dalje, a zatim odaberite Spremi.
Odaberite Test da biste testirali formulu. Upotrijebite izlazni parametar za provjeru valjanosti rezultata.
Provjera valjanosti unosa i prilagođene pogreške
Otkrivanje duplikata
Implementirajte provjeru valjanosti unosa na strani poslužitelja, kao što je otkrivanje dupliciranih pogrešaka koje izbacuje prilagođenu poruku o pogrešci.
- Reproducirajte aplikaciju Dataverse Accelerator, na naredbenoj traci odaberite Nova radnja>Automatizirani dodatak.
- U okvir Naziv unesite Dupliciraj provjeru.
- Za Tablica odaberite Kontakt.
- Za Pokreni ovaj dodatak kada je redak odaberite Stvoreno.
- U okvir Formula unesite ovu formulu:
If( !IsBlank(LookUp([@Contacts],'Last Name'=ThisRecord.'Last Name' && 'First Name'=ThisRecord.'First Name')),
Error("You have existing contacts with the same first name and last name")
)
- Odaberite Spremi.
Testiranje dodatka
- Da biste testirali dodatak, stvorite aplikaciju radnog područja pomoću tablice kontakata slijedeći korake ovdje: Navedite tablicu.
- Stvorite redak kontakta.
- Stvorite drugi kontakt s istim imenom kao u prethodnom koraku.
- Prikazuje se poruka koja pokazuje da su pronađeni duplicirani zapisi. Odaberite Zanemari i spremi na upit za poruku o pogrešci.
Prikazuje se ova prilagođena poruka o pogrešci: Imate dva kontakta s istim imenom i prezimenom.
Provjera podataka
Prikažite određene vrste pogrešaka pomoću nabrajanja ErrorKind .
Izradite novi automatizirani dodatak.
Navedite sljedeće vrijednosti:
- Naziv: Provjera valjanosti unosa
- Opis: provjerava valjani datum i prikazuje pogrešku ako nije valjan
- Tablica: Sastanak
- Pokrenite ovaj dodatak kada je redak: Ažurirano
Unesite formulu u nastavku:
If(ThisRecord.'Due Date' < Now(), Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" }) );U odjeljku Dodatne mogućnosti postavite Kada se to treba pokrenuti na Predoperacija ; želite pokrenuti ovo pravilo prije spremanja podataka da biste spriječili nevažeće podatke.
Odaberite Spremi.
Idite na funkciju Error() da biste saznali više o prilagođenim pogreškama.
Slanje e-pošte na temelju podatkovnog događaja
Preduvjeti:
- Sinkronizacija sa strane poslužitelja postavljena je za vaše okruženje. Dodatne informacije: Postavljanje sinkronizacije e-pošte, obveza, kontakata i zadataka sa strane poslužitelja
- Predložak e-pošte.
Primjer predloška e-pošte
Evo primjera predloška e-pošte koji možete stvoriti za podatkovni događaj temeljen na SenMailu:
- Vrsta predloška: Globalno
- Ime: Naruči hvala
- Opis: Pomoću ovog predloška zahvalite kupcu što je poslao narudžbu kod vas.
-
Predmet:
Thank you for your order <orderconfirmation-{!salesorder:Order Number; }> - Tijelo: Koristite ovaj kod.
Hello {!Sales Order:First Name;},
Order Type: {! Sales Order: Order Type;},
Location Type: {! Sales Order: Location Type;},
Address1: {! Sales Order: Address 1;},
Address2: {! Sales Order: Address 2;},
Preferred Service Start Date 1: {! Sales Order: Preferred Service Start Date;},
Next Step- We take upto 48 hrs to schedule an in-person and will notify you as soon as we have a In-person Technician allocated at your site. For any questions, please contact us at 1-800-CON-SOLAR
Yours Sincerely,
Contoso Sales
Izrada automatiziranog dodatka
- Reproducirajte aplikaciju Dataverse Accelerator, a zatim odaberite +Novi dodatak u odjeljku Automatizirani dodaci.
- Unesite sljedeće podatke:
Naziv: SendEmailUponCreate
Tablica: Odaberite naziv logičke tablice prodajnih naloga, a to je SalesOrder. Ovaj se događaj temelji na tablici Prodajne narudžbe.
Pokrenite ovaj dodatak s redom is: Created
Formula: Zalijepite donji kod u okvir Formula . Dodatne informacije potražite u funkciji SendEmailFromTemplate u akciji SendEmailFromTemplate.
XSendEmailFromTemplate( LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template', ThisRecord, LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email] )
- Odaberite Napredna>naknadna operacija.
- Odaberite Spremi.
Pojavljuje se poruka potvrde Dodatak je uspješno spremljen .
Slanje obavijesti u aplikaciji na temelju trenutne radnje
Obavijesti u aplikaciji omogućuju proizvođačima da konfiguriraju kontekstualne obavijesti s mogućnošću djelovanja za korisnike u aplikacijama utemeljenim na modelu.
Izradite dodatak s niskim kodom koji šalje obavijest u aplikaciji
- Reproducirajte aplikaciju Dataverse akceleratora, a zatim odaberite +Novi dodatak u odjeljku Instant dodaci.
- Unesite sljedeće podatke, odaberite Dalje:
- Naziv: NotifyTechnican1
- Opis: Ovaj trenutni dodatak obavještava korisnika aplikacije.
- Na stranici Definicije stvorite ulazne parametre sa sljedećim vrstama podataka:
- OrderID:niz
- TehničarE-pošta: Niz
-
Formula. Zalijepite sljedeći kod u okvir Formula . Dodatne informacije o ovoj funkciji potražite u odjeljku Akcija SendAppNotification.
XSendAppNotification( "New service", LookUp(Users,'Primary Email'=TechnicianEmail), "You have a new solar panel installation scheduled on "& LookUp('Scheduling Results','OrderId'=OrderID).'ServiceDate'&" in "& LookUp('Service Orders','Order Number'=OrderID).City &". Contact the coordinator with any questions.", [ XCreateSidePaneActionForEntity( "View order", OrderID, "Sales Order", "cr8b8_serviceorder1", LookUp('Service Orders','Order Number'=OrderID).'Service Order' ) ] ) - Odaberite Dalje.
- Na stranici Sažetak odaberite Spremi.
Pozivanje trenutne radnje obavijesti u aplikaciji
- Odaberite aplikaciju radnog područja, a zatim odaberite Uredi na naredbenoj traci (ili stvorite novu).
- Odaberite zaslon u lijevom navigacijskom oknu ili stvorite novi.
- Na izborniku Umetanje dodajte gumb na stranicu pomoću tehničara za obavijesti o tekstu .
- Odaberite gumb i unesite sljedeće u fx traku formule, gdje je DataCardValue17 stupac koji sadrži ID narudžbe, a DataCardValue15 stupac koji sadrži adresu e-pošte tehničara. U ovom primjeru koristi se aplikacija radnog područja pod nazivom Aplikacija za narudžbu usluga.
Environment.cr8b8_Notifytechnician1({ OrderID: DataCardValue17.Text, TechnicianEmail: DataCardValue15.Text }); Notify("The technician was notified!", NotificationType.Success, 2000);
- Spremite i objavite promjene.
Kada je u aplikaciji odabrana radnja obavijesti tehničara, obavijest u aplikaciji šalje se tehničaru koji je dodijeljen servisnom nalogu. Akcija na obavijesti otvara pojedinosti o servisnom nalogu u bočnom oknu.
Uzorak trenutnog dodatka s MSN vremenskim priključkom
Ovaj dodatak vraća trenutnu vremensku prognozu za određenu lokaciju pomoću MSN vremenskog poveznika.
Preduvjeti:
- Preduvjeti za stvaranje dodatka s niskim kodom
- MSN vremenska veza dopuštena je u okruženju
Stvorite referencu veze za MSN Weather ako još nije dostupna u okruženju:
Kopiraj isječak:
Dovršite uređivanje formule pomoću IntelliSensea i po potrebi iskoristite svojstva odgovora poveznika:
Spremi
Savjet
Upotrijebite funkciju With() da biste zabilježili cijeli odgovor iz jedne akcije ako želite pristupiti različitim svojstvima koja odgovor može imati. U primjeru u nastavku postoji ulazni parametar Location (niz) i izlazni parametar Out (niz).
With({ /* Capture current weather response from connector */
c: new_MsnWeather.CurrentWeather( Location, "Imperial" ).responses.weather.current
},{ /* Return concatenated weather details */
Out: "Current temp: " & c.temp & " degrees. Feels like " & c.feels & " degrees. Wind speed is " & c.windSpd & " mph."
})
Najbolje prakse
Rukovanje beskonačnim pogreškama petlje u automatiziranim dodacima s niskim kodom
Nemojte pisati izjavu o zakrpi na automatiziranom dodatku nakon događaja 'Update', gdje se zakrpa događa na istoj tablici kao i dodatak. To dovodi do beskonačnih petlji i neuspjeha u izvršavanju dodataka.
Problematičan obrazac: Korištenje Patch() formule pokreće još jedno ažuriranje.
Preporučeni uzorak: umjesto toga upotrijebite formulu Set() da biste izbjegli taj problem.