Crear un proveedor de proceso de entrega
Este tema describe los pasos necesarios para crear un proveedor de proceso de entrega en Microsoft Dynamics 365 Intelligent Order Management.
Crear una nueva definición de proveedor
Para crear una nueva definición de proveedor, siga estos pasos.
- Vaya a Proveedores > Catálogo.
- Seleccione Nueva definición de proveedor.
- Para Nombre para mostrar, introduzca "IOMLabFulfillmentProvider".
- Para Nombre lógico, introduzca "msdyn_IOMLabFulfillmentProvider".
- Para Descripción, introduzca "Proveedor de proceso de entrega del laboratorio IOM".
- Para Logotipo, seleccione "IOMLab.png".
- Para Tipo de servicio, introduzca "Proceso de entrega".
- Seleccione Guardar y cerrar.
Agregar definición de proveedor a la solución
Para agregar una definición de proveedor a la solución, siga estos pasos.
- Vaya al Portal de creador de Power Apps y navegue hasta la solución recién creada IOMLabProviders.
- Seleccione Añadir existente > Definición de proveedor de IOM.
- Seleccione IOMLabFulfillmentProvider y luego seleccione Agregar para agregarlo a la solución.
Crear una acción de proveedor para enviar una carga útil de proceso de entrega a Outlook
Para crear una acción de proveedor para enviar una carga útil de proceso de entrega a Outlook, siga estos pasos.
Vaya al Portal de creador de Power Apps y navegue a Soluciones.
Abra la Solución predeterminada.
Seleccione Nuevo.
Seleccione Flujo de nube y, después, nómbrelo "Enviar al proceso de entrega del laboratorio IOM (Outlook)".
Seleccione el tipo de activador como activador HTTP
- Defina un desencadenador de Power Automate. Suele ser un punto de conexión HTTP que es un desencadenador de webhook (recomendado), un desencadenador de conector o un desencadenador de inserción de Dataverse. El desencadenador se activa cuando un servicio externo tiene datos para enviar a Intelligent Order Management.
El esquema JSON que se utilizará en su activador HTTP se define a continuación.
{ "type": "object", "properties": { "text": { "title": "ProviderActionExecutionEventId", "type": "string", "x-ms-dynamically-added": true, "description": "Please enter your input", "x-ms-content-hint": "TEXT" }, "text_1": { "title": "EntityRecordId", "type": "string", "x-ms-dynamically-added": true, "description": "Please enter your input", "x-ms-content-hint": "TEXT" } }, "required": [ "text", "text_1" ] }
Agregue un ámbito Probar.
Dentro del ámbito Probar, agregue una acción Realizar una acción independiente de la siguiente manera:
- ProviderActionExecutionEventId: en Contenido dinámico, seleccione ProviderActionExecutionEventId.
-
PowerAutomateRunId: especifique lo siguiente como expresión:
workflow()['run']?['name']
.
Agregue una acción Obtener una fila por id. y luego haga lo siguiente:
- Para Nombre de tabla, introduzca "Órdenes de proceso de entrega".
- Para Id. de fila, seleccione EntityRecordId en Contenido dinámico.
Agregue una acción Enviar un correo electrónico desde el conector Outlook.com de la siguiente manera. Hay un par de conectores de correo electrónico, asegúrese de seleccionar Outlook.com, ya que esa es la conexión configurada anteriormente.
- En la línea Para, "placeholder@placeholder.com" se utiliza como texto de marcador de posición. Este será reemplazado por un parámetro de proveedor en pasos posteriores.
- En la línea Asunto, "nombre" se obtiene del paso Obtener orden de proceso de entrega en Contenido dinámico.
- Para Cuerpo, especifique lo siguiente como expresión:
outputs('Get_fulfillment_order')['body']
.
Agregue una acción Enumerar filas de la siguiente manera:
- Para Nombre de tabla, introduzca "Productos de orden de proceso de entrega".
- Para Capturar consulta XML, introduzca lo siguiente:
<fetch> <entity name="msdyn_fulfillmentorderdetail"> <all-attributes /> <filter> <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/> </filter> </entity> </fetch>
Agregue un control Aplicar a todo con una acción Enviar un correo electrónico de la siguiente manera:
- valor se obtiene del paso Obtener línea de orden de proceso de entrega en Contenido dinámico.
- nombre se obtiene del paso Obtener línea de orden de proceso de entrega en Contenido dinámico.
- Producto actual se selecciona en Contenido dinámico.
Dentro del bucle, agregue una acción Agregar a la variable de matriz de la siguiente manera:
- Para Nombre, introduzca "ProcessedFulfillmentOrderLines".
- Para Valor, seleccione Id. de línea de proceso de entrega en Contenido dinámico.
Dentro del bucle, agregue otra acción Agregar a la variable de matriz de la siguiente manera:
- Para Nombre, introduzca "ProcessedSalesOrderLines".
- Para Valor, seleccione Id. de línea de ventas en Contenido dinámico.
Contraiga el ámbito Probar seleccionando su barra de título.
Seleccione Nuevo paso y agregue otro ámbito llamado "Capturar".
En el ámbito Capturar, seleccione los puntos suspensivos ("..."), seleccione Configurar ejecutar después y configure de la siguiente manera:
- Seleccione la casilla has failed.
- Seleccione la casilla has timed out.
En el ámbito Capturar, seleccione Agregar una acción y agregue una acción Establecer variable y cámbiele el nombre "Establecer el resultado de la ejecución como error".
Configure las propiedades de la siguiente manera:
- Para Nombre, introduzca "ExecutionResult".
- Para Valor, introduzca "false".
Seleccione Nuevo paso y agregue otro ámbito llamado "Finalmente".
En el ámbito Finalmente, seleccione los puntos suspensivos ("..."), seleccione Configurar ejecutar después y configure de la siguiente manera:
- Seleccione la casilla is successful.
- Seleccione la casilla has timed out.
- Seleccione la casilla is skipped.
- Seleccione la casilla has timed out.
En el ámbito Finalmente, agregue un paso de "condición" y compare la variable ExecutionResult a true de la siguiente manera:
- En el primer campo, seleccione la variable ExecutionResult.
- En el segundo campo, seleccione is equal to.
- En el tercer campo, seleccione true.
En la rama If yes, agregue una acción Ejecutar un flujo secundario y cámbiele el nombre "Generar eventos comerciales para líneas de pedidos de proceso de entrega procesadas".
Configure las propiedades de la siguiente manera:
- Para Flujo secundario, introduzca "Generar evento de negocio IOM".
- Para BusinessEventDefinitionId, introduzca "063d85c8-60a4-eb11-9443-000d3a313675".
- Para EntityRecordId, especifique lo siguiente como expresiones:
string(variables('ProcessedFulfillmentOrderLines'))
.
En la rama If yes, agregue otra acción Ejecutar un flujo secundario y cámbiele el nombre "Generar eventos agregados de pedidos de ventas".
Configure las propiedades de la siguiente manera:
- Para LineBusinessEventDefinitionId, introduzca "ccf64002-61a4-eb11-9443-000d3a313675".
- Para LineRecordId, especifique lo siguiente como expresión:
string(variables('ProcessedSalesOrderLines'))
. - Para OrderBusinessEventDefinitionId, introduzca "48688716-61a4-eb11-9443-000d3a313675".
Contraiga el paso de condición.
Agregue una acción Realizar una acción independiente de la siguiente manera:
- Para Nombre de la acción, introduzca "msdyn_CompleteProviderActionExecution".
- Para ExecutionResult, seleccione la variable ExecutionResult desde Contenido dinámico.
- Para ProviderActionExecutionEventId, seleccione ProviderActionExecutionEventId en Contenido dinámico.
Seleccione Guardar.
Agregar una definición lógica de definición de proveedor a la definición de proveedor de Outlook
Para agregar una definición lógica de definición de proveedor a la definición de proveedor de Outlook, siga los siguientes pasos.
- Vaya a Proveedores > Catálogo.
- Seleccione el recién creado IOMLabFulfillmentProvider.
- Seleccione Editar en la barra del menú.
- Seleccione la pestaña Definiciones lógicas.
- Seleccione + Nueva definición de la lógica de la definición de proveedor de IOM.
- Para Nombre para mostrar, introduzca "Enviar al proceso de entrega del laboratorio IOM (Outlook)".
- Para Nombre lógico, introduzca "msdyn_LabSentToFulfillmentOutlook".
- Para Definición de proveedor, introduzca "IOMLabFulfillmentProvider".
- Para Tipo de lógica, introduzca "Acción del proveedor".
- Para Nombre del flujo de trabajo, introduzca "Enviar al proceso de entrega del laboratorio IOM (Outlook)".
- Para Minutos del tiempo de espera, introduzca "2".
- Para Número máximo de reintentos, introduzca "3".
- Para Descripción, introduzca "Enviar al proceso de entrega del laboratorio IOM (Outlook)".
- Para Tipo de acción, introduzca "Enviar a proceso de entrega".
- Seleccione Guardar. Esto generará una representación JSON del flujo de la nube del controlador de mensajes y completará el campo Datos de cliente.
- Reemplace el correo electrónico del marcador de posición con el parámetro del proveedor de la siguiente manera:
- Copie el bloque de texto en el campo Datos del cliente y péguelo en el Bloc de notas.
- En el bloque de texto, busque "placeholder@placeholder.com" y reemplácelo con "{{IOMLabOutboundFulfillmentEmail}}".
- Copie el bloque de texto modificado de nuevo en el campo Datos del cliente.
- Seleccione Guardar y cerrar.
- Seleccione Conexiones. Debería ver las definiciones de referencias de conexión Microsoft Dataverse y Outlook.com enumeradas.
Agregar una definición lógica de definición de proveedor a la solución IOMLabProviders de Outlook
Para agregar una definición lógica de definición de proveedor a la solución IOMLabProviders de Outlook, siga estos pasos.
- Vaya al Portal de creador de Power Apps y navegue hasta la solución recién creada IOMLabProviders.
- Seleccione Agregar existente > Definición de la lógica de la definición de proveedor de IOM.
- Seleccione Enviar al proceso de entrega del laboratorio de IOM (Outlook) y luego seleccione Agregar para agregarlo a la solución.
Agregar referencias de conexión de definición de proveedor a la solución IOMLabProviders
Para agregar referencias de conexión de definición de proveedor a la solución IOMLabProviders, siga estos pasos.
- Vaya al Portal de creador de Power Apps y navegue hasta la solución recién creada IOMLabProviders.
- Seleccione Agregar existente > Referencia de conexión de definición de proveedor de IOM.
- Seleccione las referencias de conexión de definición de proveedor Microsoft Dataverse y Outlook.com y, a continuación, seleccione Agregar para agregarlos a la solución.
Crear una acción de proveedor para enviar una carga útil de proceso de entrega a RequestBin
Para crear una acción de proveedor para enviar una carga útil de proceso de entrega a RequestBin, siga estos pasos.
Vaya al Portal de creador de Power Apps y navegue a Soluciones.
Abra la Solución predeterminada.
Seleccione Nuevo.
Seleccione Flujo de nube y, después, nómbrelo "Enviar al proceso de entrega del laboratorio IOM (RequestBin)".
Seleccione el tipo de desencadenador como Desencadenar manualmente un flujo y luego haga lo siguiente:
- Seleccione Agregar una entrada, seleccione Texto y luego introduzca "ProviderActionExecutionEventId" en el primer campo.
- Seleccione Agregar una entrada, seleccione Texto y luego introduzca "EntityRecordId" en el primer campo.
Cree una acción de inicialización de variable:
- Para Nombre, introduzca "ExecutionResult".
- Para Tipo, seleccione Booleano.
- Para Valor, introduzca "true".
Cree una segunda acción de inicialización de variable:
- Para Nombre, introduzca "ProcessedSaleOrderLines".
- Para Tipo, seleccione Matriz.
Cree una tercera acción de inicialización de variable:
- Para Nombre, introduzca "ProcessedFulfillmentOrderLines".
- Para Tipo, seleccione Matriz.
Agregue un ámbito Probar.
Dentro del ámbito Probar, agregue una acción Realizar una acción independiente de la siguiente manera:
- ProviderActionExecutionEventId: en Contenido dinámico, seleccione ProviderActionExecutionEventId.
-
PowerAutomateRunId: especifique lo siguiente como expresión:
workflow()['run']?['name']
.
Agregue una acción Obtener una fila por id. y configúrela de la siguiente manera:
- Para Nombre de tabla, introduzca "Órdenes de proceso de entrega".
- Para Id. de fila, seleccione EntityRecordId en Contenido dinámico.
Agregue una acción Crear pedido de proceso de entrega desde el conector RequestBin de la siguiente manera.
- Para Cuerpo, seleccione body en Contenido dinámico.
Agregue una acción Enumerar filas de la siguiente manera:
- Para Nombre de tabla, introduzca "Productos de orden de proceso de entrega".
- Para Capturar consulta XML, introduzca lo siguiente:
<fetch> <entity name="msdyn_fulfillmentorderdetail"> <all-attributes /> <filter> <condition attribute="msdyn_fulfillmentid" operator="eq" value="@{triggerBody()['text_1']}"/> </filter> </entity> </fetch>
Agregue un control "Aplicar a todo" con una acción Crear líneas de pedidos de proceso de entrega desde la conexión RequestBin de la siguiente manera:
- valor se obtiene del paso Obtener línea de orden de proceso de entrega en Contenido dinámico.
- Producto actual se selecciona en Contenido dinámico.
Dentro del bucle, agregue una acción Agregar a la variable de matriz de la siguiente manera:
- Para Nombre, introduzca "ProcessedFulfillmentOrderLines".
- Para Valor, seleccione Id. de línea de proceso de entrega en Contenido dinámico.
Dentro del bucle, agregue otra acción Agregar a la variable de matriz de la siguiente manera:
- Para Nombre, introduzca "ProcessedSalesOrderLines".
- Para Valor, seleccione Id. de línea de ventas en Contenido dinámico.
Contraiga el ámbito Probar seleccionando su barra de título.
Seleccione Nuevo paso y agregue otro ámbito al que va a renombrar como "Capturar".
En el ámbito Capturar, seleccione los puntos suspensivos ("..."), seleccione Configurar ejecutar después y configure de la siguiente manera:
- Seleccione la casilla has failed.
- Seleccione la casilla has timed out.
En el ámbito Capturar, seleccione Agregar una acción y agregue una acción Establecer variable y cámbiele el nombre "Establecer el resultado de la ejecución como error".
Configure las propiedades de la siguiente manera:
- Para Nombre, introduzca "ExecutionResult".
- Para Valor, introduzca "false".
Seleccione Nuevo paso y agregue otro ámbito al que va a renombrar "Finalmente".
En el ámbito Finalmente, seleccione los puntos suspensivos ("..."), seleccione Configurar ejecutar después y configure de la siguiente manera:
- Seleccione la casilla is successful.
- Seleccione la casilla has timed out.
- Seleccione la casilla is skipped.
- Seleccione la casilla has timed out.
En el ámbito Finalmente, agregue un paso de "condición" y compare la variable ExecutionResult a "true" de la siguiente manera:
- En el primer campo, seleccione la variable ExecutionResult.
- En el segundo campo, seleccione is equal to.
- En el tercer campo, seleccione true.
En la rama If yes, agregue una acción Ejecutar un flujo secundario y cámbiele el nombre "Generar eventos comerciales para líneas de pedidos de proceso de entrega procesadas".
Configure las propiedades de la siguiente manera:
- Para Flujo secundario, introduzca "Generar evento de negocio IOM".
- Para BusinessEventDefinitionId, introduzca "063d85c8-60a4-eb11-9443-000d3a313675".
- Para EntityRecordId, especifique lo siguiente como expresiones:
string(variables('ProcessedFulfillmentOrderLines'))
.
En la rama If yes, agregue otra acción Ejecutar un flujo secundario y cámbiele el nombre "Generar eventos agregados de pedidos de ventas".
Configure las propiedades de la siguiente manera:
- Para LineBusinessEventDefinitionId, introduzca "ccf64002-61a4-eb11-9443-000d3a313675".
- Para LineRecordId, especifique lo siguiente como expresión:
string(variables('ProcessedSalesOrderLines'))
. - Para OrderBusinessEventDefinitionId, introduzca "48688716-61a4-eb11-9443-000d3a313675".
Contraiga el paso de condición.
Agregue una acción Realizar una acción independiente de la siguiente manera:
- Para Nombre de la acción, introduzca "msdyn_CompleteProviderActionExecution".
- Para ExecutionResult, seleccione la variable ExecutionResult desde Contenido dinámico.
- Para ProviderActionExecutionEventId, seleccione ProviderActionExecutionEventId en Contenido dinámico.
Seleccione Guardar.
Agregar una definición lógica de definición de proveedor a la definición de proveedor (RequestBin)
Para agregar una definición lógica de definición de proveedor a la definición de proveedor de RequestBin, siga los siguientes pasos.
- Vaya a Proveedores > Catálogo.
- Seleccione el recién creado IOMLabFulfillmentProvider.
- Seleccione Editar en la barra del menú.
- Seleccione la pestaña Definiciones lógicas.
- Seleccione + Nueva definición de la lógica de la definición de proveedor de IOM.
- Para Nombre para mostrar, introduzca "Enviar al proceso de entrega del laboratorio IOM (RequestBin)".
- Para Nombre lógico, introduzca "msdyn_LabSentToFulfillmentRequestBin".
- Para Definición de proveedor, introduzca "IOMLabFulfillmentProvider".
- Para Tipo de lógica, introduzca "Acción del proveedor".
- Para Nombre de flujo del trabajo, introduzca "Enviar al proceso de entrega del laboratorio IOM (RequestBin)".
- Para Minutos del tiempo de espera, introduzca "2".
- Para Número máximo de reintentos, introduzca "3".
- Para Descripción, introduzca "Enviar al proceso de entrega del laboratorio IOM (RequestBin)".
- Para Tipo de acción, introduzca "Enviar a proceso de entrega".
- Seleccione Guardar. Esto generará una representación JSON del flujo de la nube del controlador de mensajes y completará el campo Datos de cliente.
- Seleccione Guardar y cerrar.
- Seleccione Conexiones. Debería ver las definiciones de referencias de conexión de Microsoft Dataverse, Outlook.com y RequestBin enumeradas.
Agregar un parámetro de definición de proveedor a la definición de proveedor
Para agregar un parámetro de definición de proveedor a la definición de proveedor, siga los siguientes pasos.
- Seleccione Parámetros.
- Seleccione + Nuevo parámetro de definición de proveedor de IOM.
- Para Nombre para mostrar, introduzca "IOMLabOutboundFulfillmentEmail".
- Para Tipo de datos, introduzca "Texto".
- Para Definición de proveedor, introduzca "IOMLabFulfillmentProvider".
- Para Clave, introduzca "IOMLabOutboundFulfillmentEmail".
- Para Nombre lógico, introduzca "msdyn_IOMLabOutboundFulfillmentEmail".
- Para Is Required, introduzca "Sí".
- Seleccione Guardar y cerrar.
Agregar una definición lógica de definición de proveedor a la solución IOMLabProviders (RequestBin)
Para agregar una definición lógica de definición de proveedor a la solución IOMLabProviders de RequestBin, siga estos pasos.
- Vaya al Portal de creador de Power Apps y navegue hasta la solución recién creada IOMLabProviders.
- Seleccione Agregar existente > Definición de la lógica de la definición de proveedor de IOM.
- Seleccione Enviar al proceso de entrega del laboratorio de IOM (RequestBin) y luego seleccione Agregar para agregarlo a la solución.
Agregar referencia de conexión de definición de proveedor a la solución IOMLabProviders
Para agregar una referencia de conexión de definición de proveedor a la solución IOMLabProviders, siga estos pasos.
- Vaya al Portal de creador de Power Apps y navegue hasta la solución recién creada IOMLabProviders.
- Seleccione Agregar existente > Referencia de conexión de definición de proveedor de IOM.
- Seleccione RequestBin y luego seleccione Agregar para agregarlo a la solución.
Agregar parámetro de definición de proveedor a la solución IOMLabProviders
Para agregar un parámetro de definición de proveedor a la solución IOMLabProviders, siga estos pasos.
- Vaya al Portal de creador de Power Apps y navegue hasta la solución recién creada IOMLabProviders.
- Seleccione Añadir existente > Parámetro de proveedor de IOM.
- Seleccione IOMLabOutboundFulfillmentEmail y luego seleccione Agregar para agregarlo a la solución.
Siguiente paso de laboratorio de inicio rápido: Exportar una solución