Dela via


Exempel Dataverse plugin-program med lågkod (förhandsversion)

[Det här ämnet är en förhandsversion av dokumentationen och kan ändras.]

Målet med dessa exempel på plugin-program är att hjälpa dig att komma igång genom att dra in dem i dina appar. Du kommer att förstå att redigeringsupplevelsen inkluderar redigering av Microsoft Dataverse anpassade API:er som backas upp av Power Fx uttryck som kan utlösa åtgärder internt eller externt till Dataverse.

Viktigt

  • Detta är en förhandsversion.
  • Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.

Förutsättningar

För att kunna använda ett exempel på plugin-program för datahändelsen måste Dataverse Accelerator-appen installeras i miljön. Mer information: Krav för att skapa ett plugin-program med låg kod

Anteckning

E-postmallar är endast tillgängliga för vissa tabeller. Mer information: Skapa mallar för e-post

Returnera ett icke-negativt värde

Detta exempel använder Abs()-funktionen för att returnera dess arguments icke-negativa värde. Om ett tal är negativt returnerar Abs motsvarande positiva tal.

  1. Spela upp Dataverse Accelerator-appen i kommandofältet, välj Ny åtgärd > Direkt plugin-program.

  2. Ange en visningsnamn, till exempel formelns namn och beskrivning.

  3. Skapa en Out parameter för att verifiera förväntat beteende som är meningsfullt, till exempel en sträng. Om du vill använda indataparametrar för att göra testningen enklare, så att den är meningsfull med formeln.

  4. I formelredigeraren sveper du in Out parametern i klammerparenteser:

    {Out: "" }
    
  5. Ange ett uttryck som testar formeln:

    • Verifiera att intellisense accepterar formeln (texten blir ljusblå).
    • Implementera exempelvis ett uttryck som tillhandahåller utdata för att verifiera resultatet.
    {Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 )  }
    
  6. Välj Nästaoch välj sedan Spara.

  7. Välj Testa om du vill testa formeln. Verifiera resultatet med hjälp av utdataparametern.

Indataverifiering och anpassade fel

Dubblettidentifiering

Implementera serverbaserade indatavalidering, till exempel dubblettfelidentifiering, som ger ett anpassat felmeddelande.

  1. Spela upp Dataverse Accelerator-appen i kommandofältet, välj Ny åtgärd > Automatiska plugin-program.
  2. I rutan Namn anger du Dubblettkontroll.
  3. För Tabell, välj Kontakt.
  4. För Kör denna plugin-programmet när raden är, välj Skapad.
  5. I rutan Formel, ange denna formel:
 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älj Spara.

Testa plugin-programmet

  1. Testa plugin-programmet genom att skapa en app med hjälp av kontakttabellen genom att följa stegen här: Ange en tabell
  2. Skapa en kontaktrad.
  3. Skapa ytterligare en kontakt med samma namn som i föregående steg.
  4. Ett meddelande visas som anger att dubblettposter har hittats. Välj Ignorera och spara i felmeddelandet.

Det här anpassade felmeddelandet visas: Du har två kontakter med samma för- och efternamn.

Datavalidering

Visa specifika typer av fel med hjälp av uppräkningen ErrorKind.

  1. Skapa ett nytt automatiskt plugin-program.

  2. Ange följande värden:

    • Namn: validering av indata
    • Beskrivning: Söker efter giltigt datum och ger ett felmeddelande om ogiltigt
    • Table: Appointment
    • Kör detta plugin-program när raden är: Uppdaterad
  3. Ange formeln nedan:

    If(ThisRecord.'Due Date' < Now(), 
     Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" })
    );
    
  4. Under Avancerade alternativ anger du När ska den köras till Före åtgärd. Du vill köra regeln innan data sparas för att förhindra ogiltiga data.

  5. Välj Spara.

Gå till Error() funktion för att lära dig mer om anpassade fel.

Skicka e-post baserat på en datahändelse

Förutsättningar:

Exempel på en e-postmall

Här är ett exempel på en e-postmall som du kan skapa för SenMail-baserade datahändelsen:

  • Malltyp: Global
  • Namn: Tack för din beställning
  • Beskrivning: Använd den här mallen om du vill tacka en kund för att han har lagt en order hos dig.
  • Ämne: Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
  • Brödtext: Använd den här koden.
   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 

Skapa ett automatiskt plugin-program

  1. Spela Dataverse Accelerator-app och välj sedan +Nytt plugin-program under Automatiska plugin-program.
  2. Ange följande information:
    • Namn: SendEmailUponCreate

    • Tabell: Välj det logiska tabellnamnet för försäljningsorderna, som är SalesOrder. Händelsen baseras på tabellen Försäljningsorder.

    • Kör detta plugin med raden är: Skapad

    • Formel: Klistra in koden nedan i rutan Formel. För mer information abut på SendEmailFromTemplate-funktion, till SendEmailFromTemplate-åtgärd.

      XSendEmailFromTemplate(
          LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template',
      ThisRecord,
      LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email]
      )
      
  3. Välj Avancerad > Efter åtgärd.
  4. Välj Spara.

Bekräftelsemeddelandet om Plugin-programmet har sparats visas.

Skicka avisering via app baserat på en snabbåtgärd

Med avisering i app kan utvecklare konfigurera kontextuella och användbara meddelanden för användare i modellbaserad appar.

Skapa det plugin-program för låg kod som skickar en avisering via app

  1. Spela Dataverse Accelerator-app och välj sedan +Nytt plugin-program under Direkta plugin-program.
  2. Ange följande information , väljNästa:
    • Namn: NotifyTechnican1
    • Beskrivning: Appanvändaren meddelas med det här snabbprogrammet.
  3. På sidan Definitioner, skapa indataparametrar med dessa datatyper:
    • OrderID: Sträng
    • TechnicianEmail: Sträng
  4. Formel. Klistra in följande kod i rutan Formel. Mer information om denna funktion finns i SendAppNotification åtgärden.
     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älj Nästa.
  6. På sidan Sammanfattning, välj Spara.

Aktivera snabbåtgärden för avisering i appen

  1. Välj en arbetsyteapp och välj Redigera i kommandofältet (eller skapa en ny).
  2. Välj skärm i det vänstra navigeringsfönstret eller skapa en ny.
  3. I menyn Infoga, lägg till en Knapp på sidan med Text Meddela tekniker.
  4. Markera knappen och ange följande i formelfältet där fx formelfält DataCardValue17 är kolumnen som innehåller order-ID och DataCardValue15 är kolumnen som innehåller teknikerns e-postadress. I det här exemplet används en app med namnet App för servicebeställning.
    Environment.cr8b8_Notifytechnician1({
           OrderID: DataCardValue17.Text,
       TechnicianEmail: DataCardValue15.Text 
    });
    
        Notify("The technician was notified!", NotificationType.Success, 2000);
    
    
    Lägg till en knapp med Power Fx formel för att skicka meddelanden till tekniker
  5. Spara och Publicera ändringarna.

När du väljer åtgärden meddela tekniker i appen skickas en avisering via appen till den tekniker som har tilldelats serviceordern. En åtgärd i meddelandet öppnar serviceorderinformationen i ett sidofönster.

Meddelande skickas till tekniker som tar emot i app

Prova direkt plugin-program med MSN Weather-anslutningsprogrammet

Det här plugin-programmet returnerar aktuell information om en specifik plats med hjälp av MSN Weather-anslutningsprogrammet.

Förutsättningar:

  1. Skapa en anslutningsreferens för MSN Weather om det inte är tillgängligt ännu i miljön: Skapa en anslutningsreferens i appen från fönstret med anslutningsreferenser till höger

  2. Kopiera kodavsnitt: Kopiera åtgärdskodavsnittet från anslutningsfönstret

  3. Slutför redigeringen av formeln med intellisense och använd de egenskaper för anslutningssvar som behövs: Slutför plugin-definitionen i redigeraren

  4. Spara

  5. Testa plugin-programmet

Tips

Använd funktionen With() om du vill hämta hela svaret från en åtgärd om du vill ha tillgång till olika egenskaper som svaret kan ha. I exemplet nedan finns en indataparameter Location (sträng) och en utdataparameter Out (sträng).

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."
})

Regelverk

Hantera loopfel i automatiserade plugin-program med låg kod

Skriv inget programuppdateringsutdrag på ett automatiskt plugin-program vid händelsen Uppdatering, där programuppdateringen sker i samma tabell som plugin-programmet. Detta leder till oändliga loopar och misslyckanden i körningen av plugin-program.

Återkommande mönster: Om du använder Patch()-formeln utlöses en ny uppdatering. "Problematisk formel i automatiserade plugin-program"

Rekommenderat mönster: Använd formeln Set() i stället för att undvika det här problemet. "Rekommenderad formel i automatiserade plugin-program"

Se även

Plugin-program för låg kod Power Fx (förhandsversion)