Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
[Aquest tema forma part de la documentació preliminar i està subjecte a canvis.]
L'objectiu d'aquests complements d'exemple és ajudar-vos a començar integrant-los a les vostres aplicacions. Entendreu que l'experiència de creació inclou la creació d'API Microsoft Dataverse personalitzades recolzades per Power Fx expressions, que poden desencadenar accions internes o externes Dataverse.
Important
- Els connectors instantanis de codi baix no tenen prioritat i no es lliuren com a funció. Els connectors instantanis de codi baix es substitueixen per funcions. Més informació: Funcions a Microsoft Dataverse (previsualització)
- Aquesta és una característica de visualització prèvia.
- Les característiques de visualització prèvia no estan dissenyades per a un entorn de producció i poden tenir una funcionalitat restringida. Aquestes característiques estan disponibles abans d’un llançament oficial de producte per tal que els clients el puguin utilitzar abans i enviar-nos els seus comentaris.
Requisit previ
Per utilitzar un dels complements d'exemple per a l'esdeveniment de dades, l'aplicació Dataverse acceleradora ha d'estar instal·lada a l'entorn. Més informació: Requisits previs per crear un connector de codi baix
Nota
Les plantilles de correu electrònic només estan disponibles per a determinades taules. Més informació: Crear plantilles per al correu electrònic
Retorna un valor no negatiu
Aquest exemple utilitza la funció Abs() per retornar el valor no negatiu del seu argument. Si un nombre és negatiu, Abs retorna l'equivalent positiu.
Reprodueix l'aplicació Dataverse Accelerador, a la barra d'ordres, selecciona Complement> instantani d'acciónova.
Proporcioneu un nom de visualització, com ara el nom de la fórmula i la descripció.
Creeu un paràmetre per validar el
Outcomportament esperat que tingui sentit, com ara una cadena Opcionalment, utilitzeu paràmetres d'entrada per facilitar les proves, que tinguin sentit amb la fórmula.A l'editor de fórmules, emboliqueu el
Outparàmetre entre claudàtors:{Out: "" }Introduïu una expressió que provi la fórmula:
- Valideu que l'IntelliSense accepta la fórmula (el text es torna blau clar).
- Implementeu una expressió que proporcioni una sortida per ajudar a validar el resultat, per exemple.
{Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 ) }Seleccioneu Següent i, a continuació, seleccioneu Desa.
Seleccioneu Prova per provar la fórmula. Utilitzeu el paràmetre de sortida per validar el resultat.
Validació d'entrada i errors personalitzats
Detecció de duplicats
Implementeu la validació d'entrada del servidor, com ara la detecció d'errors duplicats que genera un missatge d'error personalitzat.
- Reprodueix l'aplicació Dataverse Accelerador, a la barra d'ordres selecciona Nova acció>Connector automatitzat.
- Al quadre Nom, introduïu Comprovació duplicada.
- Per a Taula, seleccioneu Contacte.
- Per a Executa aquest connector quan la fila sigui, seleccioneu Creat.
- Al quadre Fórmula , introduïu aquesta fórmula:
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")
)
- Seleccioneu Desa.
Proveu el connector
- Per provar el connector, creeu una aplicació de llenç amb la taula de contactes seguint els passos següents: Especifiqueu una taula.
- Creeu una fila de contactes.
- Creeu un altre contacte amb el mateix nom que en el pas anterior.
- Es mostra un missatge que indica els registres duplicats trobats. Seleccioneu Ignora i deseu a la sol·licitud del missatge d'error.
Es mostra aquest missatge d'error personalitzat: Tens dos contactes amb el mateix nom i cognoms.
Validació de dades
Visualitza tipus específics d'errors mitjançant l'enumeració ErrorKind .
Creeu un connector automàtic nou.
Proporcioneu els valors següents:
- Nom: Validació d'entrada
- Descripció: Comprova si hi ha una data vàlida i llança un error si no és vàlid
- Taula: Cita
- Executeu aquest connector quan la fila és: Actualitzat
Introduïu la fórmula següent:
If(ThisRecord.'Due Date' < Now(), Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" }) );A Opcions avançades, definiu Quan s'ha d'executar com a Operació prèvia; voleu executar aquesta regla abans de desar les dades per evitar que les dades no siguin vàlides.
Seleccioneu Desa.
Aneu a la funció Error() per obtenir més informació sobre els errors personalitzats.
Enviar correu electrònic basat en un esdeveniment de dades
Requisits previs:
- La sincronització del servidor està configurada per al vostre entorn. Més informació: Configurar la sincronització del servidor de correu electrònic, cites, contactes i tasques
- Una plantilla de correu electrònic.
Exemple de plantilla de correu electrònic
Aquí teniu un exemple de plantilla de correu electrònic que podeu crear per a l'esdeveniment de dades basat en SenMail:
- Tipus de plantilla: Global
- Nom: Comanda Gràcies
- Descripció: Utilitzeu aquesta plantilla per agrair a un client que us faci una comanda.
-
Assumpte:
Thank you for your order <orderconfirmation-{!salesorder:Order Number; }> - Cos: utilitzeu aquest codi.
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
Crear el connector automatitzat
- Reprodueix l'aplicació Dataverse Accelerador i, a continuació, selecciona +Connector nou a Connectors automatitzats.
- Introduïu la informació següent:
Nom: SendEmailUponCreate
Taula: seleccioneu el nom de la taula lògica de les comandes de vendes, que és SalesOrder. Aquest esdeveniment es basa en la taula de comandes de venda.
Executeu aquest connector amb la fila is: Created
Fórmula: enganxeu el codi següent al quadre Fórmula . Per obtenir més informació, consulteu la funció SendEmailFromTemplate, a l'acció SendEmailFromTemplate.
XSendEmailFromTemplate( LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template', ThisRecord, LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email] )
- Seleccioneu Postoperació> avançada.
- Seleccioneu Desa.
Apareix el missatge de confirmació Connector desat correctament.
Enviar notificacions des de l'aplicació en funció d'una acció instantània
Les notificacions des de l'aplicació permeten als creadors configurar notificacions contextuals i accionables per als usuaris en aplicacions basades en models.
Crear el connector de codi baix que envia una notificació des de l'aplicació
- Reprodueix l'aplicació Dataverse acceleradora i, a continuació, selecciona +Connector nou a Connectors instantanis.
- Introduïu la informació següent, seleccioneu Següent:
- Nom: NotificaTècnic1
- Descripció: Aquest connector instantani notifica a l'usuari de l'aplicació.
- A la pàgina Definicions, creeu paràmetres d'entrada amb aquests tipus de dades:
- OrderID: Cadena
- TechnicianEmail:Cadena
-
Fórmula. Enganxeu el codi següent al quadre Fórmula . Per obtenir més informació sobre aquesta funció, aneu a 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' ) ] ) - Seleccioneu Següent.
- A la pàgina Resum , seleccioneu Desa.
Invocar l'acció instantània de notificació des de l'aplicació
- Seleccioneu una aplicació de llenç i, a continuació, seleccioneu Edita a la barra d'ordres (o creeu-ne una de nova).
- Seleccioneu la pantalla a la subfinestra de navegació esquerra o creeu-ne una de nova.
- Al menú Insereix , afegiu un botó a la pàgina mitjançant el tècnic denotificació de text.
- Seleccioneu el botó i introduïu el següent a la barra de fórmules fx , on DataCardValue17 és la columna que conté l'identificador de comanda i DataCardValue15 és la columna que conté l'adreça electrònica del tècnic. En aquest exemple, s'utilitza una aplicació de llenç anomenada Aplicació de comanda de servei.
Environment.cr8b8_Notifytechnician1({ OrderID: DataCardValue17.Text, TechnicianEmail: DataCardValue15.Text }); Notify("The technician was notified!", NotificationType.Success, 2000);
- Desa i publica els canvis.
Quan se selecciona l'acció notificar al tècnic a l'aplicació, s'envia una notificació a l'aplicació al tècnic assignat a l'ordre de servei. Una acció a la notificació obre els detalls de la comanda de servei en una subfinestra lateral.
Connector instantani de mostra amb el connector MSN Weather
Aquest connector retorna el temps actual per a una ubicació específica mitjançant el connector MSN Weather.
Requisits previs:
- Requisits previs per crear un connector de codi baix
- El connector MSN Weather està permès a l'entorn
Creeu una referència de connexió per a MSN Weather si encara no està disponible a l'entorn:
Fragment de còpia:
Acabeu d'editar la fórmula amb IntelliSense i consumiu les propietats de resposta del connector segons sigui necessari:
Desar
Propina
Utilitzeu la funció With() per capturar tota la resposta d'una acció si voleu accedir a diferents propietats que pugui tenir la resposta. A l'exemple següent, hi ha un paràmetre Location d'entrada (cadena) i un paràmetre Out de sortida (cadena).
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."
})
Procediments recomanats
Gestió d'errors de bucle infinit en connectors automatitzats de codi baix
No escriviu una declaració de pedaç en un connector automatitzat després de l'esdeveniment 'Update', on el pegat es produeix a la mateixa taula que el connector. Això condueix a bucles infinits i errors d'execució del connector.
Patró problemàtic: l'ús de Patch() fórmules activa una altra actualització.
Patró recomanat: utilitzeu la Set() fórmula per evitar aquest problema.