Primjeri Dataverse dodataka s niskim kodom (pretpregled)

[Ova tema spada u dokumentaciju predizdanja i podložna je promjenama.]

Cilj je ovih primjera dodataka pomoći vam da započnete tako da ih integrirate u svoje aplikacije. Razumjet ćete da iskustvo autorstva uključuje stvaranje Microsoft Dataverse prilagođenih API-ja potkrijepljenih izrazima Power Fx , koji mogu pokrenuti interne ili eksterne radnje Dataverse.

Važno

  • Trenutni dodaci s niskim kodom nemaju prioritet i ne isporučuju se kao značajka. Trenutni dodaci s niskim kodom zamijenjeni su funkcijama. Dodatne informacije: Funkcije u Microsoft Dataverse (pretpregled)
  • To je značajka pretpregleda.
  • Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.

Preduvjet

Da biste koristili jedan od primjera dodataka za podatkovni događaj, Dataverse aplikacija ubrzivača mora biti instalirana u okruženju. Dodatne informacije: Preduvjeti za stvaranje dodatka s niskim kodom

Napomena

Predlošci e-pošte dostupni su samo za određene tablice. Dodatne informacije: Stvaranje predložaka za e-poštu

Vraćanje nenegativne vrijednosti

U ovom primjeru funkcija Abs() vraća nenegativnu vrijednost argumenta. Ako je broj negativan,vraća Abs pozitivan ekvivalent.

  1. Reproducirajte aplikaciju Dataverse Accelerator, na naredbenoj traci odaberite Nova akcija>Instant dodatak.

  2. Navedite zaslonski naziv, kao što su naziv formule i opis.

  3. Stvaranje parametra za provjeru očekivanog Out ponašanja koje ima smisla, kao što je niz Po želji koristite ulazne parametre da biste olakšali testiranje, što ima smisla s formulom.

  4. U uređivaču formula omotajte Out parametar u vitičaste zagrade:

    {Out: "" }
    
  5. Unesite izraz koji testira formulu:

    • Provjerite prihvaća li IntelliSense formulu (tekst postaje svijetloplav).
    • Implementirajte izraz koji pruža izlaz koji će vam pomoći u provjeri valjanosti rezultata, na primjer.
    {Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 )  }
    
  6. Odaberite Dalje, a zatim odaberite Spremi.

  7. Odaberite Test da biste testirali formulu. Upotrijebite izlazni parametar za provjeru valjanosti rezultata.

Provjera valjanosti unosa i prilagođene pogreške

Otkrivanje duplikata

Implementirajte provjeru valjanosti unosa na strani poslužitelja, kao što je otkrivanje dupliciranih pogrešaka koje izbacuje prilagođenu poruku o pogrešci.

  1. Reproducirajte aplikaciju Dataverse Accelerator, na naredbenoj traci odaberite Nova radnja>Automatizirani dodatak.
  2. U okvir Naziv unesite Dupliciraj provjeru.
  3. Za Tablica odaberite Kontakt.
  4. Za Pokreni ovaj dodatak kada je redak odaberite Stvoreno.
  5. U okvir Formula unesite ovu formulu:
 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. Odaberite Spremi.

Testiranje dodatka

  1. Da biste testirali dodatak, stvorite aplikaciju radnog područja pomoću tablice kontakata slijedeći korake ovdje: Navedite tablicu.
  2. Stvorite redak kontakta.
  3. Stvorite drugi kontakt s istim imenom kao u prethodnom koraku.
  4. Prikazuje se poruka koja pokazuje da su pronađeni duplicirani zapisi. Odaberite Zanemari i spremi na upit za poruku o pogrešci.

Prikazuje se ova prilagođena poruka o pogrešci: Imate dva kontakta s istim imenom i prezimenom.

Provjera podataka

Prikažite određene vrste pogrešaka pomoću nabrajanja ErrorKind .

  1. Izradite novi automatizirani dodatak.

  2. Navedite sljedeće vrijednosti:

    • Naziv: Provjera valjanosti unosa
    • Opis: provjerava valjani datum i prikazuje pogrešku ako nije valjan
    • Tablica: Sastanak
    • Pokrenite ovaj dodatak kada je redak: Ažurirano
  3. Unesite formulu u nastavku:

    If(ThisRecord.'Due Date' < Now(), 
     Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" })
    );
    
  4. U odjeljku Dodatne mogućnosti postavite Kada se to treba pokrenuti na Predoperacija ; želite pokrenuti ovo pravilo prije spremanja podataka da biste spriječili nevažeće podatke.

  5. Odaberite Spremi.

Idite na funkciju Error() da biste saznali više o prilagođenim pogreškama.

Slanje e-pošte na temelju podatkovnog događaja

Preduvjeti:

Primjer predloška e-pošte

Evo primjera predloška e-pošte koji možete stvoriti za podatkovni događaj temeljen na SenMailu:

  • Vrsta predloška: Globalno
  • Ime: Naruči hvala
  • Opis: Pomoću ovog predloška zahvalite kupcu što je poslao narudžbu kod vas.
  • Predmet: Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
  • Tijelo: Koristite ovaj kod.
   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 

Izrada automatiziranog dodatka

  1. Reproducirajte aplikaciju Dataverse Accelerator, a zatim odaberite +Novi dodatak u odjeljku Automatizirani dodaci.
  2. Unesite sljedeće podatke:
    • Naziv: SendEmailUponCreate

    • Tablica: Odaberite naziv logičke tablice prodajnih naloga, a to je SalesOrder. Ovaj se događaj temelji na tablici Prodajne narudžbe.

    • Pokrenite ovaj dodatak s redom is: Created

    • Formula: Zalijepite donji kod u okvir Formula . Dodatne informacije potražite u funkciji SendEmailFromTemplate u akciji SendEmailFromTemplate.

      XSendEmailFromTemplate(
          LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template',
      ThisRecord,
      LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email]
      )
      
  3. Odaberite Napredna>naknadna operacija.
  4. Odaberite Spremi.

Pojavljuje se poruka potvrde Dodatak je uspješno spremljen .

Slanje obavijesti u aplikaciji na temelju trenutne radnje

Obavijesti u aplikaciji omogućuju proizvođačima da konfiguriraju kontekstualne obavijesti s mogućnošću djelovanja za korisnike u aplikacijama utemeljenim na modelu.

Izradite dodatak s niskim kodom koji šalje obavijest u aplikaciji

  1. Reproducirajte aplikaciju Dataverse akceleratora, a zatim odaberite +Novi dodatak u odjeljku Instant dodaci.
  2. Unesite sljedeće podatke, odaberite Dalje:
    • Naziv: NotifyTechnican1
    • Opis: Ovaj trenutni dodatak obavještava korisnika aplikacije.
  3. Na stranici Definicije stvorite ulazne parametre sa sljedećim vrstama podataka:
    • OrderID:niz
    • TehničarE-pošta: Niz
  4. Formula. Zalijepite sljedeći kod u okvir Formula . Dodatne informacije o ovoj funkciji potražite u odjeljku Akcija 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. Odaberite Dalje.
  6. Na stranici Sažetak odaberite Spremi.

Pozivanje trenutne radnje obavijesti u aplikaciji

  1. Odaberite aplikaciju radnog područja, a zatim odaberite Uredi na naredbenoj traci (ili stvorite novu).
  2. Odaberite zaslon u lijevom navigacijskom oknu ili stvorite novi.
  3. Na izborniku Umetanje dodajte gumb na stranicu pomoću tehničara za obavijesti o tekstu .
  4. Odaberite gumb i unesite sljedeće u fx traku formule, gdje je DataCardValue17 stupac koji sadrži ID narudžbe, a DataCardValue15 stupac koji sadrži adresu e-pošte tehničara. U ovom primjeru koristi se aplikacija radnog područja pod nazivom Aplikacija za narudžbu usluga.
     Environment.cr8b8_Notifytechnician1({
           OrderID: DataCardValue17.Text,
        TechnicianEmail: DataCardValue15.Text 
     });
    
       	Notify("The technician was notified!", NotificationType.Success, 2000);
    
    
    Dodajte gumb s formulom Power Fx za slanje obavijesti tehničaru
  5. Spremite i objavite promjene.

Kada je u aplikaciji odabrana radnja obavijesti tehničara, obavijest u aplikaciji šalje se tehničaru koji je dodijeljen servisnom nalogu. Akcija na obavijesti otvara pojedinosti o servisnom nalogu u bočnom oknu.

Obavijest koja se šalje tehničaru koji primi u aplikaciji

Uzorak trenutnog dodatka s MSN vremenskim priključkom

Ovaj dodatak vraća trenutnu vremensku prognozu za određenu lokaciju pomoću MSN vremenskog poveznika.

Preduvjeti:

  1. Stvorite referencu veze za MSN Weather ako još nije dostupna u okruženju: Stvorite referencu veze u aplikaciji iz okna referenci veze s desne strane

  2. Kopiraj isječak: Kopiranje isječka akcije iz okna veza

  3. Dovršite uređivanje formule pomoću IntelliSensea i po potrebi iskoristite svojstva odgovora poveznika: Dovršite definiciju dodatka u uređivaču

  4. Spremi

  5. Testiranje dodatka

Savjet

Upotrijebite funkciju With() da biste zabilježili cijeli odgovor iz jedne akcije ako želite pristupiti različitim svojstvima koja odgovor može imati. U primjeru u nastavku postoji ulazni parametar Location (niz) i izlazni parametar Out (niz).

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

Najbolje prakse

Rukovanje beskonačnim pogreškama petlje u automatiziranim dodacima s niskim kodom

Nemojte pisati izjavu o zakrpi na automatiziranom dodatku nakon događaja 'Update', gdje se zakrpa događa na istoj tablici kao i dodatak. To dovodi do beskonačnih petlji i neuspjeha u izvršavanju dodataka.

Problematičan obrazac: Korištenje Patch() formule pokreće još jedno ažuriranje.

Preporučeni uzorak: umjesto toga upotrijebite formulu Set() da biste izbjegli taj problem.

Pogledajte

Dodaci Power Fx s niskim kodom(pretpregled)