Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
[Este tema é a documentación de pre-lanzamento e está suxeito a cambios.]
O obxectivo destes complementos de exemplo é axudarche a comezar integrándoos nas túas aplicacións. Comprenderás que a experiencia de creación inclúe a creación de Microsoft Dataverse API personalizadas apoiadas por Power Fx expresións, que poden desencadear accións internas ou externas Dataverse.
Importante
- Os complementos instantáneos de código baixo teñen prioridade e non se entregan como función. Os complementos instantáneos de código baixo substitúense por funcións. Máis información: Funcións en Microsoft Dataverse (vista previa)
- Esta é unha funcionalidade de vista previa.
- As funcionalidades de vista previa non se deseñaron para uso de produción e poden ter funcionalidade restrinxida. Estas funcionalidades están dispoñibles antes da versión oficial para que os clientes poidan obter acceso a elas rápido e fornecer comentarios.
Requisito previo
Para utilizar un dos complementos de exemplo para o evento de datos, a aplicación aceleradora Dataverse debe estar instalada no contorno. Máis información: Requisitos previos para crear un complemento de código baixo
Nota
Os modelos de correo electrónico só están dispoñibles para determinadas táboas. Máis información: Cree modelos para correo electrónico
Devolve un valor non negativo
Este exemplo usa a función Abs() para devolver o valor non negativo do seu argumento. Se un número é negativo, Abs devolve o equivalente positivo.
Xoga a Dataverse aplicación Acelerador, na barra de comandos selecciona Nova acción>Complemento instantáneo.
Proporcione un nome para mostrar, como o nome da fórmula e unha descrición.
Crea un
Outparámetro para validar o comportamento esperado que teña sentido, como unha cadea Opcionalmente, usa parámetros de entrada para facilitar as probas, que ten sentido coa fórmula.No editor de fórmulas, coloca o parámetro
Outentre corchetes:{Out: "" }Introduza unha expresión que probe a fórmula:
- Valida que intellisense acepta a fórmula (o texto vólvese azul claro).
- Implementa unha expresión que proporciona unha saída para axudar a validar o resultado, por exemplo.
{Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 ) }Seleccione Seguinte e, a continuación, seleccione Gardar.
Seleccione Proba para probar a fórmula. Use o parámetro de saída para validar o resultado.
Validación de entrada e erros personalizados
Detección de duplicados
Implementa a validación de entrada no servidor, como a detección de erros duplicados que arroxa unha mensaxe de erro personalizada.
- Xoga a Dataverse aplicación Acelerador, na barra de comandos selecciona Nova acción>Complemento automatizado.
- Na caixa Nome, introduza Comprobación duplicada.
- Para Táboa, seleccione Contacto.
- Para Executar este complemento cando a fila estea, seleccione Creado.
- Na caixa Fórmula , introduza esta 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")
)
- Seleccione Gardar.
Proba o complemento
- Para probar o complemento, crea unha aplicación de lenzo usando a táboa de contactos seguindo os pasos que se indican aquí: Especifica unha táboa.
- Crea unha fila de contactos.
- Crea outro contacto co mesmo nome que no paso anterior.
- Móstrase unha mensaxe que indica rexistros duplicados atopados. Seleccione Ignorar e gardar no indicador da mensaxe de erro.
Móstrase esta mensaxe de erro personalizada: Tes dous contactos co mesmo nome e apelidos.
Validación de datos
Mostra tipos específicos de erros mediante a enumeración ErrorKind .
Crea un novo complemento automático.
Proporcione os seguintes valores:
- Nome: Validación de entrada
- Descrición: Comproba a data válida e envía un erro se non é válida
- Táboa: Cita
- Executa este complemento cando a fila estea : Actualizada
Introduza a fórmula a continuación:
If(ThisRecord.'Due Date' < Now(), Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" }) );En Opcións avanzadas, establece Cando debería executarse en Preoperación; quere executar esta regra antes de gardar os datos para evitar que os datos non sexan válidos.
Seleccione Gardar.
Vaia á función Error() para obter máis información sobre os erros personalizados.
Enviar correo electrónico en función dun evento de datos
Requisitos previos:
- A sincronización do servidor está configurada para o seu contorno. Máis información: Configurar a sincronización do servidor de correo electrónico, citas, contactos e tarefas
- Un modelo de correo electrónico.
Exemplo de modelo de correo electrónico
Aquí tes un exemplo de modelo de correo electrónico que podes crear para o evento de datos baseado en SenMail:
- Tipo de modelo: Global
- Nome: Grazas do pedido
- Descrición: Utiliza este modelo para agradecer a un cliente por facerche un pedido.
-
Asunto:
Thank you for your order <orderconfirmation-{!salesorder:Order Number; }> - Corpo: utiliza este código.
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
Crea o complemento automático
- Xoga a Dataverse aplicación Acelerador e, a continuación, selecciona +Novo complemento en Complementos automatizados.
- Introduza a seguinte información:
Nome: SendEmailUponCreate
Táboa: seleccione o nome da táboa lóxica dos pedidos de venda, que é Pedido de vendas. Este evento baséase na táboa Pedidos de vendas.
Executar este complemento coa fila : Creouse
Fórmula: pega o seguinte código na caixa Fórmula . Para obter máis información sobre a función SendEmailFromTemplate, a Acción SendEmailFromTemplate.
XSendEmailFromTemplate( LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template', ThisRecord, LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email] )
- Seleccione Avanzado>Postoperación.
- Seleccione Gardar.
Aparece a mensaxe de confirmación O complemento gardouse correctamente .
Envía notificacións na aplicación baseadas nunha acción instantánea
As notificacións integradas nas aplicacións permiten aos creadores configurar notificacións contextuais e accionables para os usuarios en aplicacións baseadas en modelos.
Crea o complemento de código baixo que envía unha notificación na aplicación
- Reproduce a Dataverse aplicación aceleradora e, a continuación, selecciona +Novo complemento en Complementos instantáneos.
- Introduza a seguinte información, seleccione Seguinte:
- Nome: Notificar Técnico1
- Descrición: Este complemento instantáneo notifica ao usuario da aplicación.
- Na páxina Definicións , cree parámetros de entrada con estes tipos de datos:
- OrderID: Cadea
- Correo electrónico técnico: Cadea
-
Fórmula. Pega o seguinte código na caixa Fórmula . Para obter máis información sobre esta función, vai a Acción 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' ) ] ) - Seleccione Seguinte.
- Na páxina Resumo , seleccione Gardar.
Invoca a acción instantánea de notificación na aplicación
- Selecciona unha aplicación de lenzo e, a continuación, selecciona Editar na barra de comandos (ou crea unha nova).
- Selecciona a pantalla no panel de navegación esquerdo ou crea unha nova.
- No menú Inserir , engade un botón á páxina mediante o TextoNotificar ao técnico.
- Seleccione o botón e introduza o seguinte na fx barra de fórmulas, onde DataCardValue17 é a columna que contén o ID de pedido e DataCardValue15 é a columna que contén o enderezo de correo electrónico. Neste exemplo, utilízase unha aplicación de lenzo chamada Aplicación de pedidos de servizos .
Environment.cr8b8_Notifytechnician1({ OrderID: DataCardValue17.Text, TechnicianEmail: DataCardValue15.Text }); Notify("The technician was notified!", NotificationType.Success, 2000);
- Garda e Publica os teus cambios.
Cando se selecciona a acción de notificación do técnico na aplicación, envíase unha notificación na aplicación ao técnico que foi asignado á orde de servizo. Unha acción na notificación abre os detalles da orde de servizo nun panel lateral.
Exemplo de complemento instantáneo co conector MSN Weather
Este complemento devolve o tempo actual para unha localización específica mediante o Conector meteorolóxico de MSN.
Requisitos previos:
- Requisitos previos para crear un complemento de código baixo
- O conector MSN Weather está permitido no ambiente
Crea unha referencia de conexión para MSN Weather se aínda non está dispoñible no entorno:
Copiar fragmento:
Remate de editar a fórmula usando intellisense e consuma as propiedades de resposta do conector segundo sexa necesario:
Gardar IcM
Suxestión
Use a función With() para capturar a resposta completa dunha acción se quere acceder a diferentes propiedades que poida ter a resposta. No seguinte exemplo, hai un parámetro de entrada Location (cadea) e un parámetro de saída Out (cadea).
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."
})
Recomendacións
Xestionar erros de bucle infinitos en complementos automatizados de código baixo
Non escribas unha declaración de parche nun complemento automatizado no evento "Actualizar", onde o parche está ocorrendo na mesma táboa que o complemento. Isto leva a bucles infinitos e erros de execución de complementos.
Patrón problemático: o uso de Patch() fórmula activa outra actualización.
Patrón recomendado: use a fórmula Set() para evitar este problema.