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élda beépülő moduloknak az a célja, hogy segítsenek az első lépésekben azáltal, hogy integrálják őket az alkalmazásokba. Meg fogja érteni, 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 aktiválhatnak Dataverse.

Fontos

  • Az azonnali, kevés kódolást igénylő beépülő modulok prioritása megszűnik, és nem szolgáltatásként jelennek meg. Az azonnali kevés kódolást igénylő beépülő modulokat funkciók váltják fel. További információ: Függvények in( Microsoft Dataverse előzetes verzió)
  • 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

Az adatesemény példabeépülő moduljainak egyikének használatához a Dataverse gyorsító alkalmazást telepíteni kell a környezetbe. További információ: Kevés kódolást igénylő beépülő modul létrehozásának előfeltételei

Feljegyzé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ék visszaadása

Ez a példa az Abs() függvényt használja az argumentum nem negatív értékének visszaadására. Ha egy szám negatív, akkor Abs a pozitív megfelelőt adja vissza.

  1. Játssza le a gyorsító alkalmazást Dataverse , és a parancssávon válassza az Új művelet azonnali beépülő modul> lehetőséget.

  2. Adjon meg egy megjelenítendő nevet, például a képlet nevét és leírását.

  3. Hozzon létre egy Out paramétert az ésszerű várt viselkedés érvényesítéséhez, például egy sztringet Igény szerint bemeneti paramétereket is használhat a tesztelés megkönnyítése érdekében, ami a képlettel logikus.

  4. A képletszerkesztőben tekerje be a paramétert Out göndör zárójelekbe:

    {Out: "" }
    
  5. Írjon be 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 olyan kifejezést, amely kimenetet biztosít az eredmény érvényesítéséhez.
    {Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 )  }
    
  6. Válassza a Tovább, majd a Mentés lehetőséget.

  7. Válassza a Teszt lehetőséget a képlet teszteléséhez. Az eredmény ellenőrzéséhez használja a kimeneti paramétert.

Bemeneti ellenőrzés és egyéni hibák

Duplikátumészlelés

Implementálja a kiszolgálóoldali bemeneti ellenőrzést, például az egyéni hibaüzenetet jelző duplikált hibaészlelést.

  1. Játssza le a gyorssegéd alkalmazást Dataverse , és a parancssávon válassza az Új művelet Automatizált beépülő modul> lehetőséget.
  2. A Név mezőbe írja be a Duplikált ellenőrzés kifejezést.
  3. A Tábla mezőben válassza a Kapcsolattartó lehetőséget .
  4. A beépülő modul futtatása a sor esetén beállításnálválassza a Létrehozva lehetőséget.
  5. 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")
)
  1. Válassza a Mentés parancsot.

A beépülő modul tesztelése

  1. A beépülő modul teszteléséhez hozzon létre egy vászonalapú alkalmazást a névjegyek táblázat használatával az alábbi lépéseket követve: Tábla megadása.
  2. Hozzon létre egy kapcsolattartói sort.
  3. Hozzon létre egy másik névjegyet az előző lépésben szereplő névvel.
  4. Megjelenik egy üzenet, amely jelzi a talált ismétlődő rekordokat. Válassza a Figyelmen kívül hagyás és mentés lehetőséget a hibaüzenetben.

Ez az egyéni hibaüzenet jelenik meg: Két névjegye van ugyanazzal a vezeték- és keresztnévvel.

Adatellenőrzés engedélyezése

Adott típusú hibák megjelenítése az ErrorKind enumerálással.

  1. Hozzon létre egy új automatikus beépülő modult.

  2. Adja meg a következő értékeket:

    • Név: Bemeneti ellenőrzés
    • Leírás:Ellenőrzi az érvényes dátumot, és hibát jelez, ha érvénytelen
    • Táblázat: Találkozó
    • Futtassa ezt a bővítményt, ha a sor a következő: Frissítve
  3. Í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" })
    );
    
  4. A Speciális beállítások csoportban állítsaa Mikor kell futni beállítást Művelet előtt; ezt a szabályt az adatok mentése előtt szeretné futtatni az érvénytelen adatok elkerülése érdekében.

  5. Válassza a Mentés parancsot.

Az egyéni hibákkal kapcsolatos további információkért lépjen az Error() függvénybe .

E-mail küldése adatesemény alapján

Előfeltételek:

Példa e-mail sablonra

Íme egy példa az 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 köszönetet mondhat az ügyfélnek, hogy megrendelést adott le Önnek.
  • Tárgy: Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
  • Body: 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 automatikus beépülő modul létrehozása

  1. Játssza le a gyorssegéd alkalmazást Dataverse , majd válassza az +Új beépülő modul lehetőséget az Automatizált beépülő modulok alatt.
  2. Adja meg a következő adatokat:
    • Név: SendEmailUponCreate

    • Tábla: Válassza ki az értékesítési rendelések logikai táblanevét, amely SalesOrder . Ez az esemény az Értékesítési rendelések táblán alapul.

    • Futtassa ezt a bővítményt a következő sorral: Created

    • Képlet: Illessze be az alábbi kódot a Képlet doboz. További információért tekintse meg a SendEmailFromTemplate függvényt a SendEmailFromTemplate művelethez.

      XSendEmailFromTemplate(
          LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template',
      ThisRecord,
      LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email]
      )
      
  3. Válassza a Speciális utólagos lehetőséget>.
  4. Válassza a Mentés parancsot.

Megjelenik a Plugin sikeresen mentve megerősítő üzenet .

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 modellvezérelt alkalmazások felhasználói számára.

Az alkalmazáson belüli értesítést küldő kevés kódolást igénylő beépülő modul létrehozása

  1. Játssza le a gyorsító alkalmazást Dataverse , majd válassza az +Új bővítmény lehetőséget az Azonnali bővítmények alatt.
  2. Adja meg a következő adatokat, majd válassza a Tovább gombot:
    • Név: NotifyTechnican1
    • Leírás: Ez az azonnali beépülő modul értesíti az alkalmazás felhasználóját.
  3. A Definíciók lapon hozzon létre bemeneti paramétereket a következő adattípusokkal:
    • Rendelési azonosító: Karakterlánc
    • TechnikusE-mail: Karakterlánc
  4. 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 művelet.
     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'
         	)
     	]
     )
    
  5. Válassza a Következő lehetőséget.
  6. Az Összefoglalás lapon válassza a Mentés lehetőséget .

Az alkalmazáson belüli értesítési azonnali művelet meghívása

  1. 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 ).
  2. Válassza ki a képernyőt a bal oldali navigációs panelen, vagy hozzon létre egy újat.
  3. A Beszúrás menüben adjon hozzá egy gombot az oldalhoz a Szövegesértesítés technikus segítségével.
  4. Válassza ki a gombot, és írja be a következőket az fx szerkesztősávba, 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);
    
    
    Adjon hozzá egy gombot képlettel Power Fx , hogy értesítést küldjön a technikusnak
  5. Mentse és tegye közzé a módosításokat.

Ha a technikus értesítése művelet van kiválasztva az alkalmazásban, a rendszer alkalmazáson belüli értesítést küld a szervizrendeléshez rendelt technikusnak. Az értesítéssel kapcsolatos művelet megnyitja a szolgáltatásrendelés részleteit egy oldalsó panelen.

Értesítés küldése az alkalmazásban fogadó technikusnak

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ő segítségével.

Előfeltételek:

  1. Hozzon létre egy kapcsolati referenciát az MSN Weather számára, ha még nem érhető el a környezetben: Kapcsolati hivatkozás létrehozása az alkalmazásban a jobb oldali kapcsolathivatkozások panelen

  2. Kivonat másolása: Másolja ki a műveletkódrészletet a kapcsolatok ablaktábláról

  3. 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: Töltse ki a bővítmény definícióját a szerkesztőben

  4. Mentés

  5. A beépülő modul tesztelése

Tipp.

A With() függvénnyel rögzítheti a teljes választ egy műveletből, ha a válasz különböző tulajdonságaihoz szeretne hozzáfé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 bővítményre az "Update" esemény során, ahol a javítás ugyanabban a táblában történik, mint a bővítmény. Ez végtelen hurkokhoz és bővítmény-végrehajtási hibákhoz vezet.

Problémás minta: A képlet használata Patch() egy másik frissítést indít el.

Ajánlott minta: Használja a képletet Set() 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ó)