Pavyzdys Dataverse bazinės programavimo žinios papildiniai (peržiūros versija)
[Ši tema yra negalutinio leidimo dokumentacija ir gali keistis.]
Šių papildinių pavyzdžių tikslas – padėti jums pradėti integruoti juos į savo programas. Suprasite, kad kūrimo patirtis apima pasirinktinių Microsoft Dataverse API, paremtų Power Fx išraiškomis, kurios gali suaktyvinti vidinius arba išorinius veiksmus, kūrimą Dataverse.
Svarbu
- Tai yra peržiūros versijos funkcija.
- Peržiūros funkcijos nėra skirtos naudoti gamybai ir gali būti apribotas jų funkcionalumas. Šias funkcijas galima naudoti prieš oficialų išleidimą, kad klientai galėtų gauti ankstyvą prieigą ir pateikti atsiliepimų.
Būtinoji sąlyga
Norint duomenų įvykiui naudoti vieną iš papildinių pavyzdžių, Dataverse aplinkoje turi būti įdiegta spartintuvo programėlė. Daugiau informacijos: Būtinosios sąlygos norint sukurti bazinės programavimo žinios priedą
Pastaba
El. laiškų šablonai galimi tik tam tikroms lentelėms. Daugiau informacijos: El. laiškų šablonų kūrimas
Neneigiamos reikšmės grąžinimas
Šiame pavyzdyje funkcija Abs() naudojama norint pateikti negatyvią argumento reikšmę. Jei skaičius neigiamas, Abs
grąžina teigiamą ekvivalentą.
Dataverse Paleiskite programą "Accelerator", komandų juostoje pasirinkite Naujas veiksmas > Momentinis papildinys.
Pateikite rodomą pavadinimą, pvz., formulės pavadinimą ir aprašą.
Sukurkite parametrą
Out
, kad patikrintumėte numatomą prasmingą veikimą, pvz., eilutę Pasirinktinai naudokite įvesties parametrus, kad būtų lengviau atlikti testavimą, o tai prasminga naudojant formulę.Formulės redaktoriuje Pakavimas parametrą
Out
garbanotuose skliausteliuose:{Out: "" }
Įveskite išraišką, kuri tikrina formulę:
- Patikrinkite, ar "Intellisense" priima formulę (tekstas tampa šviesiai mėlynas).
- Pavyzdžiui, įdiekite išraišką, kuri pateikia išvestį, padedančią patikrinti rezultatą.
{Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 ) }
Pasirinkite Pirmyn, tada pasirinkite Įrašyti.
Pasirinkite Tikrinti, kad patikrintumėte formulę. Norėdami patvirtinti rezultatą, naudokite išvesties parametrą.
Įvesties tikrinimas ir pasirinktinės klaidos
Dublikatų aptikimas
Įdiekite serverio įvesties tikrinimą, pvz., pasikartojančių klaidų aptikimą, kuris pateikia pasirinktinį klaidos pranešimą.
- Dataverse Paleiskite programą "Accelerator", komandų juostoje pasirinkite Naujas veiksmas > Automatinis papildinys.
- Lauke Pavadinimas įveskite Dublikatas.
- Dalyje Lentelė pasirinkite Kontaktas.
- Už Vykdyti šį papildinį, kai eilutė yra, pasirinkite Sukurta.
- Lauke Formulė įveskite šią formulę:
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")
)
- Pasirinkite Įrašyti.
Patikrinkite priedą
- Norėdami patikrinti priedą, sukurkite drobės programą naudodami kontaktų lentelę atlikdami čia nurodytus veiksmus: Nurodykite lentelę
- Sukurkite kontakto eilutę.
- Sukurkite kitą kontaktą tuo pačiu vardu, kaip ir ankstesniame veiksme.
- Rodomas pranešimas, nurodantis rastus besidubliuojančius įrašus. Pasirinkite Nepaisyti ir įrašyti klaidos pranešimo raginime.
Rodomas šis pasirinktinis klaidos pranešimas: Turite du kontaktus su tuo pačiu pirmuoju ir pavardė.
Duomenų tikrinimas
Rodyti konkrečius klaidų tipus naudojant ErrorKind išvardijimą.
Sukurkite naują automatinį priedą.
Pateikite šias reikšmes:
- Pavadinimas: Įvesties tikrinimas
- Aprašas: tikrina, ar yra galiojanti data, ir pateikia klaidą, jei ji neteisinga
- Lentelė: Paskyrimas
- Paleiskite šį papildinį, kai eilutė yra: Atnaujinta
Įveskite toliau pateiktą formulę:
If(ThisRecord.'Due Date' < Now(), Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" }) );
Dalyje Išplėstinės parinktys nustatykite Kada tai turėtų būti vykdoma kaip Išankstinė operacija; Norite paleisti šią taisyklę prieš įrašydami duomenis, kad išvengtumėte neleistinų duomenų.
Pasirinkite Įrašyti.
Eikite į funkciją Error(), kad sužinotumėte daugiau apie pasirinktines klaidas.
El. laiško siuntimas pagal duomenų įvykį
Būtinosios sąlygos:
- Sinchronizavimas serveryje nustatytas jūsų aplinkai. Daugiau informacijos: El. laiškų, paskyrų, kontaktų ir užduočių sinchronizavimo serveryje nustatymas
- El. laiško šablonas.
El. laiško šablono pavyzdys
Štai el. laiško šablono pavyzdys, kurį galite sukurti "SenMail" pagrįstų duomenų įvykiui:
- Šablono tipas: Visuotinis
- Pavadinimas: Užsakyti ačiū
- Aprašas: naudokite šį šabloną norėdami padėkoti klientui už tai, kad jis pateikė jums užsakymą.
- Tema:
Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
- Kūnas: naudokite šį 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
Automatinio priedo kūrimas
- Dataverse Paleiskite programą "Accelerator", tada skiltyje Automatiniai papildiniai pasirinkite + Naujas papildinys.
- Įveskite šią informaciją:
Pavadinimas: SendEmailUponCreate
Lentelė: pasirinkite loginį pardavimo užsakymų lentelės pavadinimą, kuris yra SalesOrder. Šis įvykis pagrįstas ne pardavimo užsakymų lentele.
Paleiskite šį papildinį su eilute is: Sukurta
Formulė: įklijuokite toliau pateiktą kodą į lauką Formulė. Norėdami gauti daugiau informacijos, eikite į funkciją SendEmailFromTemplate, į veiksmą SendEmailFromTemplate.
XSendEmailFromTemplate( LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template', ThisRecord, LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email] )
- Pasirinkite Išplėstinė > po operacijos.
- Pasirinkite Įrašyti.
Pasirodo patvirtinimo pranešimas Papildinys sėkmingai išsaugotas .
Siųskite pranešimus programoje pagal momentinį veiksmą
Pranešimai programoje leidžia kūrėjams konfigūruoti kontekstinius, įgyvendinamus pranešimus naudotojams modeliu pagrįstose programose.
Sukurkite bazinės programavimo žinios papildinį, kuris siunčia pranešimą programoje
- Dataverse Paleiskite akceleratoriaus programą, tada skiltyje Momentiniai papildiniai pasirinkite + Naujas papildinys.
- Įveskite šią informaciją, pasirinkite Pirmyn:
- Pavadinimas: NotifyTechnican1
- Aprašas: šis momentinis papildinys praneša programos naudotojui.
- Puslapyje Apibrėžimai sukurkite įvesties parametrus su šiais duomenų tipais:
- OrderID: Eilutė
- TechnikasEl. paštas: eilutė
- Formulė. Įklijuokite šį kodą į lauką Formulė . Norėdami gauti daugiau informacijos apie šią funkciją, eikite į "SendAppNotification Action".
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' ) ] )
- Pasirinkite Toliau.
- Puslapyje Suvestinė pasirinkite Įrašyti.
Iškvieskite momentinį pranešimo programoje veiksmą
- Pasirinkite drobės programą, tada komandų juostoje pasirinkite Redaguoti (arba sukurkite naują).
- Pasirinkite ekraną kairiojoje naršymo srityje arba sukurkite naują.
- Meniu Įterpimas įtraukite mygtuką į puslapį naudodami techniką Tekstas Pranešti.
- Pasirinkite mygtuką ir fx formulės juostoje įveskite toliau nurodytą informaciją, kur DataCardValue17 yra stulpelis, kuriame yra užsakymo ID, o DataCardValue15 yra stulpelis, kuriame yra techniko el. pašto adresas. Šiame pavyzdyje naudojama drobės programa, pavadinta Paslaugų užsakymo programa .
Environment.cr8b8_Notifytechnician1({ OrderID: DataCardValue17.Text, TechnicianEmail: DataCardValue15.Text }); Notify("The technician was notified!", NotificationType.Success, 2000);
- Įrašykite ir publikuokite pakeitimus.
Kai programoje pasirenkamas veiksmas pranešti technikui, pranešimas programoje siunčiamas technikui, kuris buvo priskirtas aptarnavimo užsakymui. Pranešimo veiksmas atidaro aptarnavimo užsakymo informaciją šoninėje srityje.
Momentinio priedo su MSN orų jungtimi pavyzdys
Šis papildinys grąžina dabartinį orą konkrečioje vietoje naudojant MSN orų jungtį.
Būtinosios sąlygos:
- Būtinosios sąlygos norint sukurti bazinės programavimo žinios papildinį
- MSN orų jungtis leidžiama aplinkoje
"MSN Weather" ryšio nuoroda kūrimas, jei dar nėra aplinkoje:
Kopijuoti fragmentas:
Užbaikite redaguoti formulę naudodami "intellisense" ir, jei reikia, sunaudokite jungties atsakymas ypatybes:
Įrašyti
Patarimas
Naudokite funkciją Su() , kad užfiksuotumėte visą atsakymas iš vieno veiksmo, jei norite pasiekti skirtingas atsakymas ypatybes. Toliau pateiktame pavyzdyje yra įvesties parametras Location
(eilutė) ir išvesties parametras Out
(eilutė).
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."
})
Geriausia praktika
Begalinės kilpos klaidų tvarkymas automatiniuose bazinės programavimo žinios papildiniuose
Nerašykite pataisos teiginio ant automatinio papildinio įvykus įvykiui "Atnaujinti", kai pataisa vyksta toje pačioje lentelėje kaip ir papildinys. Tai lemia begalines kilpas ir papildinių vykdymo nesėkmes.
Probleminis modelis: naudojant Patch()
formulę suaktyvinamas kitas naujinimas.
Rekomenduojamas modelis: vietoj to naudokite formulę, Set()
kad išvengtumėte šios problemos.
Taip pat žr.
bazinės programavimo žinios papildiniai Power Fx (peržiūros versija)