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.
Přehrajte aplikaci Dataverse Accelerator, na příkazovém řádku vyberte Nová akce > Okamžitý modul plug-in.
Zadejte zobrazované jméno, jako je název vzorce a popis.
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.V editoru vzorců vložte parametr
Out
do složených závorek:{Out: "" }
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 ) }
Vyberte Další a potom Uložit.
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.
- Přehrajte aplikaci Dataverse Accelerator, na příkazovém řádku vyberte Nová akce > Automatizovaný modul plug-in.
- Do pole Název zadejte Kontrola duplicit.
- Pro Tabulku vyberte Kontakt.
- Pro Spustit tento modul plug-in, když je řádek vyberte Vytvořen.
- 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")
)
- Vyberte Uložit.
Testování modulu plug-in
- Chcete-li otestovat modul plug-in, vytvořte aplikaci plátna pomocí tabulky kontaktů podle následujících kroků: Určit tabulku
- Vytvoření řádku kontaktu.
- Vytvořte další kontakt se stejným názvem jako v předchozím kroku.
- 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.
Vytvořte nový automatický modul plug-in.
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
Zadejte vzorec níže:
If(ThisRecord.'Due Date' < Now(), Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" }) );
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.
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:
- Synchronizace na straně serveru je nastavena pro vaše prostředí. Další informace najdete v části Nastavení synchronizace e-mailů, schůzek, kontaktů a úkolů na straně serveru
- Šablona e-mailu.
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
- Spusťte aplikaci Dataverse Accelerator a poté vyberte +Nový modul plug-in v části Automatické moduly plug-in.
- 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] )
- Vyberte Rozšířené > Po operaci.
- 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
- Spusťte aplikaci Dataverse Accelerator a poté vyberte +Nový modul plug-in v části Okamžité moduly plug-in.
- Zadejte následující informace a vyberte Další:
- Název: NotifyTechnican1
- Popis: Tento okamžitý modul plug-in informuje uživatele aplikace.
- Na stránce Definice vytvořte vstupní parametry s těmito datovými typy:
- OrderID: Řetězec
- TechnicianEmail: Řetězec
- 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' ) ] )
- Vyberte Další.
- Na stránce Souhrn vyberte Uložit.
Vyvolejte okamžitou akci oznámení v aplikaci
- Vyberte aplikaci plátna a poté vyberte Upravit na panelu příkazů (nebo vytvořte novou).
- Vyberte obrazovku v levém navigačním panelu nebo vytvořte novou.
- V nabídce Vložit přidejte na stránku Tlačítko pomocí Text Upozornit technika.
- 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);
- 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.
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:
- Předpoklady pro vytvoření modulů plug-in s minimálním psaním kódu
- V prostředí je povolen konektor MSN Weather
Vytvořte informace o připojení pro MSN Weather, pokud ještě není v prostředí k dispozici:
Zkopírujte fragment kódu:
Dokončete úpravy vzorce pomocí intellisense a podle potřeby použijte vlastnosti odezvy konektoru:
Uložení
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.
Doporučený vzor: Abyste se tomuto problému vyhnuli, použijte raději vzorec Set()
.