Példa Dataverse kevés kódolást igénylő beépülő modulokra (előzetes verzió)
[Ez a témakör kiadás előtti dokumentáció, amely a későbbiekben változhat.]
Ezeknek a példabeépülő moduloknak az a célja, hogy segítséget nyújtsanak az első lépésekhez az alkalmazásokba való integrálásukkal. Tisztában lesz azzal, hogy a szerzői élmény magában foglalja a kifejezésekkel támogatott Microsoft Dataverse egyéni API-k létrehozását Power Fx , amelyek belső vagy külső műveleteket indíthatnak el Dataverse.
Fontos
- Ez egy előnézeti funkció.
- Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, hogy az ügyfelek korán megismerkedhessenek velük, és visszajelzést adhassanak róluk.
Előfeltétel
Ahhoz, hogy az adateseményhez a példa beépülő modulok egyikét használhassa, a Dataverse gyorssegéd alkalmazást telepíteni kell a környezetben. További információ: A kevés kódolást igénylő beépülő modulok létrehozásának előfeltételei
Megjegyzés
Az e-mail sablonok csak bizonyos táblákhoz érhetők el. További információ: Sablonok létrehozása e-mailhez
Nem negatív értéket ad eredményül.
Ez a példa az Abs() függvénnyel adja vissza argumentumának nem negatív értékét. Ha egy szám negatív, Abs
akkor a pozitív ekvivalenst adja eredményül.
Játssza le a Dataverse gyorssegéd alkalmazást, és a parancssávon válassza az Új művelet azonnali beépülő modul > lehetőséget.
Adjon meg egy megjelenítendő név, például a képlet nevét és leírását.
Hozzon létre egy paramétert a
Out
várt viselkedés érvényesítéséhez, amely értelmes, például egy sztringet Igény szerint bemeneti paramétereket is használhat a tesztelés megkönnyítése érdekében, ami logikus a képlettel.A képletszerkesztőben csomagolja a
Out
paramétert kapcsos zárójelbe:{Out: "" }
Adjon meg egy kifejezést, amely teszteli a képletet:
- Ellenőrizze, hogy az intellisense elfogadja-e a képletet (a szöveg világoskékre vált).
- Implementáljon például egy kifejezést, amely kimenetet biztosít az eredmény érvényesítéséhez.
{Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 ) }
Válassza a Tovább, majd a Mentés lehetőséget .
Válassza a Teszt lehetőséget a képlet teszteléséhez. Az eredmény érvényesítéséhez használja a kimeneti paramétert.
Bemeneti érvényesítés és egyéni hibák
Duplikált elemek észlelése
Implementálja a kiszolgálóoldali bemeneti ellenőrzést, például az egyéni hibaüzenetet megjelenítő duplikált hibák észlelését.
- Játssza le a Dataverse gyorssegéd alkalmazást, és a parancssávon válassza az Új művelet automatikus beépülő modul > lehetőséget.
- A Név mezőbe írja be a Duplikált ellenőrzés kifejezést.
- A Tábla mezőben válassza a Kapcsolattartó lehetőséget.
- A beépülő modul futtatása, ha a sor van, válassza a Létrehozva lehetőséget.
- A Képlet mezőbe írja be a következő képletet:
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")
)
- Válassza a Mentés parancsot.
A beépülő modul tesztelése
- A beépülő modul teszteléséhez hozzon létre egy vászonalapú alkalmazást a kapcsolattartók tábla használatával az alábbi lépéseket követve: Tábla megadása
- Hozzon létre egy kapcsolattartó sort.
- Hozzon létre egy másik névjegyet ugyanazzal a névvel, mint az előző lépésben.
- Megjelenik egy üzenet, amely jelzi a talált ismétlődő rekordokat. Válassza a Kihagyás lehetőséget , és mentse a hibaüzenet üzenetét.
Ez az egyéni hibaüzenet jelenik meg:Két névjegye van, amelyek közül az első és a vezetéknév.
Adatellenőrzés engedélyezése
Adott típusú hibák megjelenítése az ErrorKind enumerálással .
Hozzon létre egy új automatikus beépülő modult.
Adja meg a következő értékeket:
- Név: Bemeneti érvényesítés
- Leírás: Ellenőrzi az érvényes dátumot, és hibát jelez, ha érvénytelen
- Táblázat: Kinevezés
- Futtassa ezt a beépülő modult, ha a sor: Frissítve
Írja be az alábbi képletet:
If(ThisRecord.'Due Date' < Now(), Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" }) );
A Speciális beállítások területen állítsa a Mikor fusson ez a futtatás beállítást Művelet előtt; az érvénytelen adatok elkerülése érdekében az adatok mentése előtt szeretné futtatni ezt a szabályt.
Válassza a Mentés parancsot.
Az egyéni hibákkal kapcsolatos további információkért nyissa meg az Error() függvényt .
E-mail küldése adatesemény alapján
Előfeltételek:
- A kiszolgálóoldali szinkronizálás be van állítva a környezethez. További információ: E-mailek, találkozók, névjegyek és feladatok kiszolgálóoldali szinkronizálásának beállítása
- Egy e-mail sablon.
Példa e-mail sablonra
Íme egy példa e-mail sablonra, amelyet a SenMail alapú adateseményhez hozhat létre:
- Sablon típusa: Globális
- Név: Rendelés Köszönöm
- Leírás: Ezzel a sablonnal megköszönheted az ügyfélnek, hogy rendelést adott le neked.
- Tárgy:
Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
- Törzs: Használja ezt a kódot.
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
Az automatizált beépülő modul létrehozása
- Játssza le a gyorssegéd alkalmazást, majd válassza az Dataverse +Új beépülő modul lehetőséget az Automatikus beépülő modulok alatt.
- Adja meg a következő információkat:
Név: SendEmailUponCreate
Tábla: Válassza ki az értékesítési rendelések logikai táblájának nevét, amely SalesOrder. Ez az esemény az Értékesítési rendelések táblán alapul.
Futtassa ezt a beépülő modult a is: Created sorral
Képlet: Illessze be az alábbi kódot a Képlet doboz. További információért használja a SendEmailFromTemplate függvényt a SendEmailFromTemplate műveletre.
XSendEmailFromTemplate( LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template', ThisRecord, LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email] )
- Válassza a Speciális művelet utáni > lehetőséget.
- Válassza a Mentés parancsot.
Megjelenik a megerősítő üzenet, amelyet a bővítmény sikeresen mentett .
Alkalmazáson belüli értesítések küldése azonnali művelet alapján
Az alkalmazáson belüli értesítések lehetővé teszik a készítők számára, hogy környezetfüggő, végrehajtható értesítéseket konfiguráljanak a felhasználók számára a modellvezérelt alkalmazásokban.
Hozza létre az alkalmazáson belüli értesítést küldő kevés kódolást igénylő beépülő modult
- Játszd le a gyorssegéd alkalmazást, majd válaszd az Dataverse +Új beépülő modul lehetőséget az Azonnali beépülő modulok alatt.
- Adja meg a következő adatokat, majd válassza a Tovább lehetőséget:
- Név: NotifyTechnican1
- Leírás: Ez az azonnali beépülő modul értesíti az alkalmazás felhasználóját.
- A Definíciók lapon hozzon létre bemeneti paramétereket a következő adattípusokkal:
- OrderID: Karakterlánc
- technikusEmail: karakterlánc
- Képlet. Illessze be a következő kódot a Képlet mezőbe. További információ erről a függvényről: 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' ) ] )
- Válassza a Következő lehetőséget.
- Az Összefoglalás lapon válassza a Mentés lehetőséget.
Az alkalmazáson belüli értesítés azonnali műveletének meghívása
- Válasszon ki egy vászonalapú alkalmazást, majd válassza a Szerkesztés lehetőséget a parancssávon (vagy hozzon létre egy újat ).
- Válassza ki a képernyőt a bal oldali navigációs panelen, vagy hozzon létre egy újat.
- A Beszúrás menüben adjon hozzá egy gombot az oldalhoz a Text Notify technikus segítségével.
- Válassza ki a gombot, és írja be a következőt az fx szerkesztőlécre, ahol a DataCardValue17 a rendelésazonosítót tartalmazó oszlop, a DataCardValue15 pedig a technikus e-mail-címét tartalmazó oszlop. Ebben a példában egy Service Order App nevű vászonalapú alkalmazást használunk.
Environment.cr8b8_Notifytechnician1({ OrderID: DataCardValue17.Text, TechnicianEmail: DataCardValue15.Text }); Notify("The technician was notified!", NotificationType.Success, 2000);
- Mentse és tegye közzé a módosításokat.
Ha az alkalmazásban a technikus értesítése művelet van kiválasztva, a rendszer alkalmazáson belüli értesítést küld a szervizrendeléshez rendelt technikusnak. Az értesítésen végzett művelet megnyitja a szervizrendelés részleteit egy oldalsó ablaktáblán.
Minta azonnali beépülő modul MSN Weather csatlakozóval
Ez a beépülő modul egy adott hely aktuális időjárását adja vissza az MSN Weather összekötő használatával.
Előfeltételek:
- A kevés kódolást igénylő beépülő modulok létrehozásának előfeltételei
- Az MSN Weather összekötő engedélyezett a környezetben
Kapcsolathivatkozás létrehozása az MSN Weather alkalmazáshoz, ha még nem érhető el a környezetben:
Másolja kódrészlet:
Fejezze be a képlet szerkesztését az intellisense használatával, és szükség szerint használja fel az összekötő választulajdonságait:
Mentés
Tipp
A With() függvénnyel rögzítheti egy művelet teljes válaszát, ha a válasz különböző tulajdonságait szeretné elérni. Az alábbi példában van egy bemeneti paraméter Location
(sztring) és egy kimeneti paraméter Out
(sztring).
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."
})
Ajánlott eljárások
Végtelen hurokhibák kezelése automatizált kevés kódolást igénylő bővítményekben
Ne írjon javítási utasítást egy automatikus beépülő modulra "Update" esemény esetén, ahol a javítás ugyanazon a táblán történik, mint a bővítmény. Ez végtelen hurkokhoz és beépülő modulok végrehajtási hibáihoz vezet.
Problémás minta: A képlet használata Patch()
újabb frissítést vált ki.
Ajánlott minta: Használja inkább a Set()
képletet a probléma elkerülése érdekében.
Kapcsolódó információk
Kevés kódolást igénylő beépülő modulok Power Fx (előzetes verzió)