Megosztás a következőn keresztül:


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.

  1. 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.

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

  3. 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.

  4. A képletszerkesztőben csomagolja a Out paramétert kapcsos zárójelbe:

    {Out: "" }
    
  5. 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 )  }
    
  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 é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.

  1. 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.
  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, ha a sor van, vá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 kapcsolattartók tábla használatával az alábbi lépéseket követve: Tábla megadása
  2. Hozzon létre egy kapcsolattartó sort.
  3. Hozzon létre egy másik névjegyet ugyanazzal a névvel, mint az előző lépésben.
  4. 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 .

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

  2. 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
  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 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.

  5. 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:

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

  1. 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.
  2. 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]
      )
      
  3. Válassza a Speciális művelet utáni > lehetőséget.
  4. 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

  1. 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.
  2. 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.
  3. A Definíciók lapon hozzon létre bemeneti paramétereket a következő adattípusokkal:
    • OrderID: Karakterlánc
    • technikusEmail: 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 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'
             )
         ]
     )
    
  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és azonnali műveletének 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 Text Notify technikus segítségével.
  4. 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);
    
    
    Adjon hozzá egy képletet tartalmazó Power Fx gombot, hogy értesítést küldjön a technikusnak
  5. 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.

Értesítés küldése a technikusnak, aki megkapja az alkalmazásban

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:

  1. Kapcsolathivatkozás létrehozása az MSN Weather alkalmazáshoz, ha még nem érhető el a környezetben: Kapcsolathivatkozás létrehozása az alkalmazásban a jobb oldali kapcsolathivatkozások ablaktáblából

  2. Másolja kódrészlet: A művelet másolása kódrészlet 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: A beépülő modul definíciójának befejezése a szerkesztőben

  4. Mentés

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

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. "Problémás képlet az automatizált bővítményekben"

Ajánlott minta: Használja inkább a Set() képletet a probléma elkerülése érdekében. "Ajánlott formula az automatizált bővítményekben"

Kapcsolódó információk

Kevés kódolást igénylő beépülő modulok Power Fx (előzetes verzió)