Sdílet prostřednictvím


Příklady modulů plug-in s minimálním psaním kódu Dataverse (preview)

[Toto téma představuje předběžnou dokumentaci a může se změnit.]

Cílem těchto příkladů modulů plug-in je pomoci vám začít jejich integrací do vašich aplikací. Pochopíte, že autorské zkušenosti zahrnují vytváření vlastních rozhraní API Microsoft Dataverse podporované výrazy Power Fx, které mohou spouštět akce vnitřní nebo vnější z Dataverse.

Důležité

  • Toto je funkce Preview.
  • Funkce Preview nejsou určené pro normální používání a mohou mít omezené fungování. Jsou to funkce, které jsou poskytnuté před svým oficiálním vydáním, aby si je zákazníci mohli co nejdříve vyzkoušet a mohli nám napsat své názory.

Požadavek

Chcete-li použít jeden z příkladů modulů plug-in pro datovou událost, aplikace Dataverse Accelerator musí být nainstalována v prostředí. Další informace: Předpoklady pro vytvoření modulu plug-in s minimálním psaním kódu

Poznámka

Šablony e-mailů jsou k dispozici pouze pro určité tabulky. Více informací: Vytváření šablon pro e-mail

Vraťte nezápornou hodnotu

Tento příklad používá funkci Abs() a vrátí nezápornou hodnotu svého argumentu. Pokud je číslo záporné, Abs vrátí ekvivalentní kladnou hodnotu.

  1. Přehrajte aplikaci Dataverse Accelerator, na příkazovém řádku vyberte Nová akce > Okamžitý modul plug-in.

  2. Zadejte zobrazované jméno, jako je název vzorce a popis.

  3. Vytvořte parametr Out pro ověření očekávaného chování, které dává smysl, jako je řetězec. Volitelně použijte vstupní parametry pro usnadnění testování, což dává u vzorce smysl.

  4. V editoru vzorců vložte parametr Out do složených závorek:

    {Out: "" }
    
  5. Zadejte výraz, který testuje vzorec:

    • Ověřte, že intellisense přijímá vzorec (text se změní na světle modrý).
    • Implementujte výraz, který poskytuje výstup, který například pomůže ověřit výsledek.
    {Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 )  }
    
  6. Vyberte Další a potom Uložit.

  7. Vyberte Test a otestujte vzorec. Použijte výstupní parametr k ověření výsledku.

Ověření vstupu a vlastní chyby

Vyhledávání duplicit

Implementujte ověřování vstupu na straně serveru, jako je detekce duplicitních chyb, která vyvolá vlastní chybovou zprávu.

  1. Přehrajte aplikaci Dataverse Accelerator, na příkazovém řádku vyberte Nová akce > Automatizovaný modul plug-in.
  2. Do pole Název zadejte Kontrola duplicit.
  3. Pro Tabulku vyberte Kontakt.
  4. Pro Spustit tento modul plug-in, když je řádek vyberte Vytvořen.
  5. Do pole Vzorec zadejte tento vzorec:
 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. Vyberte Uložit.

Testování modulu plug-in

  1. Chcete-li otestovat modul plug-in, vytvořte aplikaci plátna pomocí tabulky kontaktů podle následujících kroků: Určit tabulku
  2. Vytvoření řádku kontaktu.
  3. Vytvořte další kontakt se stejným názvem jako v předchozím kroku.
  4. Zobrazí se zpráva, že byly nalezeny duplicitní záznamy. Vyberte Ignorovat a uložit na výzvu chybové zprávy.

Zobrazí se tato vlastní chybová zpráva: Máte dva kontakty se stejným křestním jménem a příjmením.

Ověření dat

Zobrazte konkrétní typy chyb pomocí výčtu ErrorKind.

  1. Vytvořte nový automatický modul plug-in.

  2. Zadejte následující hodnoty:

    • Název: Ověření vstupu
    • Popis: Zkontroluje platné datum a v případě neplatného vyvolá chybu
    • Tabulka: Schůzka
    • Spusťte modul plug-in, pokud je řádek: Aktualizován
  3. Zadejte vzorec níže:

    If(ThisRecord.'Due Date' < Now(), 
     Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" })
    );
    
  4. V Rozšířené možnosti nastavte Kdy se má spustit na Před operací; toto pravidlo je vhodné spustit před uložením dat, abyste zabránili neplatným datům.

  5. Vyberte Uložit.

Přejděte na Error() function pro informace o vlastních chybách.

Odeslat e-mail na základě datové události

Požadavky:

Příklad šablony e-mailu

Zde je příklad e-mailové šablony, kterou můžete vytvořit pro datovou událost SenMail:

  • Typ šablony: Globální
  • Název: Děkujeme za objednávku
  • Popis: Použijte tuto šablonu k poděkování zákazníkovi za to, že u vás zadal objednávku.
  • Předmět: Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
  • Text: Použít tento kód.
   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 

Vytvořte automatický modul plug-in

  1. Spusťte aplikaci Dataverse Accelerator a poté vyberte +Nový modul plug-in v části Automatické moduly plug-in.
  2. Zadejte následující údaje:
    • Název: SendEmailUponCreate

    • Tabulka: Vyberte název logické tabulky prodejních objednávek, což je SalesOrder. Tato událost je založena na tabulce Prodejní objednávky.

    • Spusťte modul plug-in, pokud je řádek: Vytvořen

    • Vzorec: Vložte níže uvedený kód do pole Vzorec . Další informace o funkci SendEmailFromTemplate naleznete v části Akce SendEmailFromTemplate.

      XSendEmailFromTemplate(
          LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template',
      ThisRecord,
      LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email]
      )
      
  3. Vyberte Rozšířené > Po operaci.
  4. Vyberte Uložit.

Zobrazí se potvrzovací zpráva Modul plug-in byl úspěšně uložen.

Odesílejte oznámení v aplikaci na základě okamžité akce

Oznámení v aplikaci umožňují tvůrcům konfigurovat kontextová upozornění pro uživatele v modelem řízených aplikacích.

Vytvořte modul plug-in s minimálním psaním kódu, který odešle oznámení v aplikaci

  1. Spusťte aplikaci Dataverse Accelerator a poté vyberte +Nový modul plug-in v části Okamžité moduly plug-in.
  2. Zadejte následující informace a vyberte Další:
    • Název: NotifyTechnican1
    • Popis: Tento okamžitý modul plug-in informuje uživatele aplikace.
  3. Na stránce Definice vytvořte vstupní parametry s těmito datovými typy:
    • OrderID: Řetězec
    • TechnicianEmail: Řetězec
  4. Vzorec. Do pole Vzorec vložte následující kód. Další informace o této funkci najdete v Akci SendAppNotification.
     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. Vyberte Další.
  6. Na stránce Souhrn vyberte Uložit.

Vyvolejte okamžitou akci oznámení v aplikaci

  1. Vyberte aplikaci plátna a poté vyberte Upravit na panelu příkazů (nebo vytvořte novou).
  2. Vyberte obrazovku v levém navigačním panelu nebo vytvořte novou.
  3. V nabídce Vložit přidejte na stránku Tlačítko pomocí Text Upozornit technika.
  4. Vyberte tlačítko a do řádku vzorců fx zadejte následující, kde DataCardValue17 je sloupec, který obsahuje ID objednávky a DataCardValue15 je sloupec, který obsahuje e-mailovou adresu technika. V tomto příkladu je použita aplikace na plátně s názvem Aplikace servisních objednávek .
    Environment.cr8b8_Notifytechnician1({
           OrderID: DataCardValue17.Text,
       TechnicianEmail: DataCardValue15.Text 
    });
    
        Notify("The technician was notified!", NotificationType.Success, 2000);
    
    
    Přidejte tlačítko se vzorcem Power Fx pro odeslání upozornění technikovi
  5. Uložte a Publikujte změny.

Když je v aplikaci vybrána akce upozornit technika, technikovi, který byl přiřazen k servisní zakázce, se odešle upozornění v aplikaci. Akce s oznámením otevře podrobnosti servisní objednávky v bočním panelu.

Oznámení odeslané technikovi, které obdrží v aplikaci

Ukázka okamžitého zásuvného modulu s konektorem MSN Weather

Tento plugin vrací aktuální počasí pro konkrétní místo pomocí konektoru MSN Weather.

Požadavky:

  1. Vytvořte informace o připojení pro MSN Weather, pokud ještě není v prostředí k dispozici: Vytvořte informace o připojení v aplikaci z podokna informací o připojení vpravo

  2. Zkopírujte fragment kódu: Zkopírujte fragment akce z podokna připojení

  3. Dokončete úpravy vzorce pomocí intellisense a podle potřeby použijte vlastnosti odezvy konektoru: Dokončete definici zásuvného modulu v editoru

  4. Uložení

  5. Testování modulu plug-in

Tip

Chcete-li získat přístup k různým vlastnostem, které odpověď může mít, použijte funkci With() k zachycení celé odpovědi z jedné akce. V příkladu níže je vstupní parametr Location (řetězec) a výstupní parametr Out (řetězec).

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

Osvědčené postupy

Zpracování chyb nekonečných smyček v automatických modulech plug-in s minimálním psaním kódu

Nepište prohlášení o záplatě na automatickém modulu plug-in při události 'Update', kde oprava probíhá na stejné tabulce jako moduly plug-in. To vede k nekonečným smyčkám a selháním spouštění pluginu.

Problematický vzorec: Použití Patch() vzorce spustí další aktualizaci. "Problematický vzorec v automatických pluginech"

Doporučený vzor: Abyste se tomuto problému vyhnuli, použijte raději vzorec Set(). "Doporučený vzorec v automatických modulech plug-in"

Viz také

Moduly plug-in s minimálním psaním kódu Power Fx (preview)