Nota
L'accés a aquesta pàgina requereix autorització. Podeu provar d'iniciar la sessió o de canviar els directoris.
L'accés a aquesta pàgina requereix autorització. Podeu provar de canviar els directoris.
Pots crear ordres de treball automàticament a Dynamics 365 Field Service utilitzant fluxos de Power Automate. Això és útil quan cal crear ordres de treball a partir de desencadenants externs, com ara una alerta IoT, una presentació de formulari, una sol·licitud de servei des d'un altre sistema o un canvi en un registre relacionat.
Power Automate fluxos utilitzen el connector Microsoft Dataverse per interactuar amb els registres de Servei de Camp. Per obtenir informació sobre com crear ordres de treball mitjançant codi, aneu a Crear ordres de treball utilitzant l'API web de Dataverse.
Requisits previs
- Una llicència de Power Automate (inclosa amb la majoria de llicències de Dynamics 365).
- Almenys un dels següents rols de seguretat del Servei de Camp assignat al compte de connexió del flux. Aprèn més a Configurar usuaris i rols de seguretat.
- Servei de camp - Despatxador
- Field Service - Administrador
- Registres existents dels camps de cerca utilitzats pel teu procés d'ordre de treball:
-
Tipus d'ordre de treball (
msdyn_workordertypeentitat) -
Llista de preus (
pricelevelentitat), si el teu procés ho requereix -
Compte de Servei (
accountentitat), si el Tipus d'Ordre de Treball seleccionat requereix Compte de Servei o si vols context derivat del compte
-
Tipus d'ordre de treball (
Opció 1: Crear una ordre de treball quan un registre de Dataverse canviï
Utilitza aquest patró per crear una ordre de treball en resposta a un canvi en una altra taula de Dataverse, com quan canvia l'estat d'un actiu de client.
Prepara el disparador
A Power Automate, selecciona Crea>Flux automatitzat al núvol.
Cerca i selecciona Quan s'afegeix, modifica o elimina una fila (connector Microsoft Dataverse).
Quan t'ho demani, inicia sessió al connector Microsoft Dataverse utilitzant les teves credencials Dynamics 365. Si ja tens connexió amb el teu entorn, selecciona-la al desplegable. Els camps de configuració del trigger no s'omplen fins que s'estableix una connexió activa.
Configura el disparador:
Camp Valor Canvi de tipus Modificada Nom de la taula Actius del client Abast Organització Opcionalment, afegeix una condició de files de filtre per limitar quan s'executa el flux. Per exemple:
msdyn_operationalstatus eq 690970001(Necessita servei).
Propina
Per provar els passos de creació de l'ordre de treball sense canviar un registre de Dataverse, crea una còpia del teu flux i substitueix el trigger de Dataverse per Activar manualment un flux. Afegeix paràmetres d'entrada (com ara entrades de text per a l'ID del compte de servei, ID de tipus d'ordre de treball i ID de llista de preus) perquè puguis passar valors de prova quan executis el flux. Un cop hagis verificat que l'ordre de treball s'ha creat correctament, torna al trigger Dataverse en el teu flux de producció.
Afegeix l'acció Crear ordre de treball
Selecciona + Nou pas i cerca Afegeix una nova fila (connector Microsoft Dataverse).
Selecciona la mateixa connexió Dataverse que vas utilitzar per al disparador. El camp de nom de la taula només apareix després de seleccionar una connexió.
Estableix el nom de la taula a Ordres de Treball.
Omple els camps requerits:
Camp Valor Número d'ordre de treball Introdueix l'expressió guid()com a substitut. El camp Número d'Ordre de Treball és necessari per la interfície del connector Dataverse, però el connector d'autonumeració de Field Service assigna automàticament el número d'ordre de treball seqüencial correcte quan es desa el registre. Per introduir una expressió, selecciona el camp, canvia a la pestanya d'Expressió al panell de contingut dinàmic, escriuguid(), i selecciona OK.Compte de servei Només es requereix quan el tipus d'ordre de treball seleccionat requereix Compte de Servei. Selecciona el compte utilitzant el camp de cerca, o introdueix l'expressió concat('/accounts(', 'service-account-guid', ')')a la pestanya d'Expressions si necessites utilitzar un GUID codificat o dinàmic. Deixa aquest camp en blanc per als tipus d'ordres de treball on no es requereix el Compte de Servei i l'ordre de treball utilitza un altre context de servei.Tipus d'ordre de treball Selecciona el tipus d'ordre de treball utilitzant el camp de cerca, o introdueix l'expressió concat('/msdyn_workordertypes(', 'work-order-type-guid', ')')a la pestanya d'Expressió si necessites utilitzar un GUID codificat fixament o dinàmic. Vegeu a continuació com trobar-ho.Llista de preus Selecciona la llista de preus utilitzant el camp de cerca, o introdueix l'expressió concat('/pricelevels(', 'your-price-list-guid', ')')a la pestanya d'Expressions si necessites utilitzar un GUID codificat o dinàmic. Si recuperes la llista de preus dinàmicament utilitzant una acció de files de llista dins d'un Per a cada bucle, utilitzaconcat('/pricelevels(', items('YourLoopName')?['pricelevelid'], ')')en canvi, substituintYourLoopNamepel nom del teu bucle. Vegeu a continuació com trobar-ho.Estat del sistema 690970000(No programat)Imposable falseInstruccions Utilitza contingut dinàmic des del desencadenant, per exemple el nom de l'actiu Compte de servei: Escriu el nom del compte directament al camp del compte de servei per cercar-lo i seleccionar-lo. Si el desencadenant és un canvi d'actiu de client i l'actiu està vinculat a un compte, pots seleccionar compte (actius de client) des del panell de contingut dinàmic. Si necessites utilitzar un GUID directament, ves a Comptes de Clients> de l'àrea> de servei a Field Service, obre el compte i copia l'ID del registre des de la URL del navegador (el valor entre
%7Bi%7D, o el GUID simple si l'URL està descodificada). Aprèn més a Configurar els requisits del compte de servei per a ordres de treball.Tipus d'ordre de treball: Escriu el nom del tipus d'ordre de treball directament al camp Tipus d'ordre de treball per cercar i seleccionar-lo. Si necessites utilitzar un GUID directament, ves a l'àrea >de Configuració Tipus d'ordres>de treball a Field Service, obre el tipus d'ordre de treball i copia l'ID del registre des de la URL del navegador.
Llista de preus: Escriu el nom de la llista de preus directament al camp Llista de Preus per cercar-lo i seleccionar-lo. Si necessites utilitzar un GUID directament, ves a Configuració>General>Price Lists a Field Service, obre la llista de preus i copia l'ID del registre des de la URL del navegador.
Nota
El connector Dataverse requereix que els camps de consulta utilitzin un camí de referència d'entitat OData (per exemple,
/accounts(guid)) en lloc d'un GUID simple. Entrar en un GUID nu provoca unODataUnrecognizedPathExceptiontemps d'execució at. Lesconcatexpressions anteriors construeixen el format de camí correcte.Deseu i proveu el flux.
Opció 2: Crear una ordre de treball a partir d'una petició HTTP
Utilitza aquest patró per crear una ordre de treball des d'un sistema extern, com ara un portal de clients, un sistema de tiquets o una plataforma IoT.
Prepara el disparador
A Power Automate, selecciona Create>Instant cloud flow.
Anomena el flux i selecciona Quan es rep una petició HTTP com a desencadenant.
Seleccioneu Crea.
Al camp Request Body JSON Schema , enganxa el següent esquema:
{ "type": "object", "properties": { "serviceAccountId": { "type": "string" }, "workOrderTypeId": { "type": "string" }, "priceListId": { "type": "string" }, "instructions": { "type": "string" } }, "required": ["workOrderTypeId", "priceListId"] }Inclou
serviceAccountIdquan el Tipus d'Ordre de Treball seleccionat requereix Compte de Servei o quan vols que l'ordre de treball utilitzi context derivat del compte. Omet-ho per als tipus d'ordres de treball on no es requereix un compte de servei.Per a qui pot activar el flux, selecciona una de les següents opcions:
Opció Quan utilitzar-lo Només usuaris al meu llogain Recomanat per a la producció. Els que truquen han d'autenticar-se amb Microsoft Entra ID i presentar un token portador OAuth vàlid. Utilitza-ho per a sistemes interns o principals de servei de confiança. Qualsevol L'URL actua com a credencial — no cal cap capçalera addicional d'autenticació. Utilitza només quan el sistema que crida no pugui obtenir un token Entra ID i puguis assegurar que la URL es guardi de manera segura. Aprèn més sobre com assegurar fluxos activats per HTTP a l'autenticació Add OAuth per als triggers de petició HTTP.
El camp URL HTTP és només de lectura — no l'omplis. Power Automate el fa servir automàticament quan guardes el flux per primera vegada.
Desar el flux. El camp URL HTTP ara s'omple amb la URL de l'endpoint. Copia aquesta URL i proporciona-la a qui configuri el sistema extern (com ara un desenvolupador o administrador de sistemes). El sistema extern activa el flux enviant una petició HTTP POST a aquesta URL amb un cos JSON que coincideix amb l'esquema que has definit. Per exemple:
POST <paste the HTTP URL here> Content-Type: application/json { "workOrderTypeId": "<work order type record GUID>", "priceListId": "<price list record GUID>", "serviceAccountId": "<optional account record GUID>", "instructions": "Reported issue: equipment not functioning" }Cada vegada que el sistema extern envia aquesta sol·licitud, Power Automate executa el flux i crea una ordre de treball a Field Service.
Afegeix l'acció Crear ordre de treball
Selecciona + Nou pas i cerca Afegeix una nova fila (connector Microsoft Dataverse).
Inicia sessió al connector Microsoft Dataverse o selecciona una connexió existent. El camp de nom de la taula només apareix després de seleccionar una connexió.
Estableix el nom de la taula a Ordres de Treball.
Mapeja els camps del cos de la sol·licitud HTTP als camps de l'ordre de treball:
Camp d'ordres de treball Valor Número d'ordre de treball Introdueix l'expressió guid()com a substitut. El camp Número d'Ordre de Treball és necessari per la interfície del connector Dataverse, però el connector d'autonumeració de Field Service assigna automàticament el número d'ordre de treball seqüencial correcte quan es desa el registre. Per introduir una expressió, selecciona el camp, canvia a la pestanya d'Expressió al panell de contingut dinàmic, escriuguid(), i selecciona OK.Compte de servei Utilitza'l concat('/accounts(', triggerBody()?['serviceAccountId'], ')')només quanserviceAccountIdes proporcioni. Si el Compte de Servei no és necessari per al Tipus d'Ordre de Treball seleccionat i la sol·licitud no inclouserviceAccountId, no mapeïs aquest camp de cerca.Tipus d'ordre de treball concat('/msdyn_workordertypes(', triggerBody()?['workOrderTypeId'], ')')Llista de preus concat('/pricelevels(', triggerBody()?['priceListId'], ')')Estat del sistema 690970000(No programat)Instruccions @{triggerBody()?['instructions']}Opcionalment, afegeix una acció de Resposta per retornar el nou ID d'ordre de treball al sistema que crida:
- Selecciona + Nou pas i cerca Resposta (des del connector de Sol·licitud ).
- Estableix el codi d'estat a
200. - Al camp Cos, selecciona la icona de contingut dinàmic i tria msdyn_workorderid des del pas Afegeix una nova fila. Aquest és l'ID únic de l'ordre de treball que s'acaba de crear.
Sense aquest pas, el sistema que crida no rep resposta i la petició HTTP expira després d'esperar. Si afegeixes aquest pas, el sistema que crida rep una
200resposta amb l'ID de l'ordre de treball tan bon punt el flux s'acaba.
Valors del conjunt d'opcions d'estat del sistema
Utilitza aquests valors enters quan estableixis l'Estat del Sistema en una crida de flux o API.
| Etiqueta | Valor |
|---|---|
| Sense planificar | 690970000 |
| Planificats | 690970001 |
| En curs | 690970002 |
| Completat | 690970003 |
| Publicada | 690970004 |
| Cancel·lada | 690970005 |
Consideracions
Propietat del compte de connexió de flux
Les ordres de treball creades per un flux són propietat del compte de connexió utilitzat en el connector Dataverse. Assegura't que aquest compte tingui el paper de seguretat correcte i que les ordres de treball creades pel flux apareguin a les vistes i cues esperades.
Rècords infantils
L'acció Afegir una nova fila crea només la capçalera de l'ordre de treball. Per afegir productes d'ordres de treball, serveis o tasques de servei, afegeix passos separats Afegeix una nova fila per a cada taula filla (msdyn_workorderproduct, msdyn_workorderservice, msdyn_workorderservicetask) i configura el camp de cerca d'ordres de treball a l'ID retornat pel pas de creació.
Límits de taxa d'API
Els fluxos de Power Automate estan subjectes als límits de l'API de Dataverse. Per a escenaris d'alt volum, considera utilitzar l'endpoint per lots de l'API web de Dataverse o fer execucions de flux de dispersió amb un trigger programat amb processament per lots.
Evitar ordres de treball duplicades
Si un flux s'executa sovint amb el mateix trigger, afegeix una condició per comprovar si ja existeix una ordre de treball abans de crear-ne una de nova. Utilitza una acció de files de llista filtrada per l'ID de registre d'origen per comprovar ordres de treball existents.
Gestió d'errors
Per als fluxos de producció, embolica el pas Afegeix una nova fila en una acció d'Abast i afegeix una branca paral·lela configurada per executar si ha fallat. Utilitza aquesta branca per registrar l'error o enviar una notificació. Per als fluxos activats per HTTP, sempre afegeix una acció de resposta perquè el sistema que crida rebi un codi d'estat d'èxit o fallada en lloc de temps d'expiració.