Jaa


Työtilausten luominen Power Automate avulla

Voit luoda työtilauksia automaattisesti Dynamics 365 Field Service Power Automate työnkulkujen avulla. Tästä on hyötyä, kun työtilaukset on luotava ulkoisten käynnistimien perusteella, kuten IoT-ilmoitus, lomakkeen lähettäminen, palvelupyyntö toisesta järjestelmästä tai muutos liittyvään tietueeseen.

Power Automate työnkulut käyttävät Microsoft Dataverse -liitintä kenttäpalvelun tietueiden käsittelyyn. Lisätietoja työtilausten luomisesta koodin avulla saat kohdasta Työtilausten luominen Dataverse Web API:n avulla.

Edellytykset

  • Power Automate käyttöoikeus (sisältyy useimpiin Dynamics 365 käyttöoikeuksiin).
  • Vähintään yksi seuraavista Field Service -käyttöoikeusrooleista, joka on määritetty virran yhteystilille. Lue lisää kohdasta Käyttäjien ja käyttöoikeusroolien määrittäminen.
    • Field Service - lähettäjä
    • Field Service – järjestelmänvalvoja
  • Pakollisten hakukenttien aiemmin luodut tietueet:
    • Palvelutili (account entiteetti)
    • Työtilauksen tyyppi (msdyn_workordertype entiteetti)
    • Hinnasto (pricelevel entiteetti)

Vaihtoehto 1: Työjärjestyksen luominen, kun Dataverse-tietue muuttuu

Tämän mallin avulla voit luoda työjärjestyksen vastauksena toisessa Dataverse-taulukossa tehtyyn muutokseen, kuten asiakasresurssin tilan muuttuessa.

Käynnistimen määrittäminen

  1. Valitse Power AutomateLuo>Automated cloud flow.

  2. Etsi ja valitse Mikä rivi lisätään, sitä muokataan tai poistetaan (Microsoft Dataverse liitin).

  3. Kirjaudu pyydettäessä sisään Microsoft Dataverse liittimeen Dynamics 365 tunnistetiedoillasi. Jos olet jo muodostanut yhteyden ympäristöösi, valitse se avattavasta valikosta. Käynnistimen määrityskentät täytetään vasta aktiivisen yhteyden muodostamisen jälkeen.

  4. Määritä käynnistin:

    kenttä Arvo
    Muuta tyyppi Muokattu
    Taulukon nimi Asiakasresurssit
    Laajuus Organisaatio
  5. Halutessasi voit lisätä Suodata rivit - ehdon, joka rajoittaa työnkulun suorittamista. Esimerkki: msdyn_operationalstatus eq 690970001 (Tarvepalvelu).

Vinkki

Jos haluat testata työjärjestyksen luonnin vaiheita muuttamatta Dataverse-tietuetta, luo kopio työnkulusta ja korvaa Dataverse-käynnistin käynnistimellä Käynnistä työnkulku manuaalisesti -toiminnolla. Lisää syöteparametrit (kuten palvelutilin tunnuksen tekstisyötteet, työtilauksen tyypin tunnus ja hinnaston tunnus), jotta voit välittää testiarvot työnkulkua suoritettaessa. Kun olet varmistanut, että työtilaus on luotu oikein, siirry takaisin Dataverse-käynnistimeen tuotantotyönkulussa.

Lisää Työtilauksen luominen -toiminto

  1. Valitse + Uusi vaihe ja hae Lisää uusi rivi (Microsoft Dataverse liitin).

  2. Valitse sama Dataverse-yhteys, jota käytit käynnistimelle. Taulukon nimi -kenttä tulee näkyviin vasta, kun yhteys on valittu.

  3. Määritä Taulukon nimeksiTyötilaukset.

  4. Täytä tarvittavat kentät:

    kenttä Arvo
    Työtilauksen numero Anna lauseke guid() paikkamerkkinä. Dataverse connector -käyttöliittymä edellyttää Work Order Number -kenttää, mutta Field Servicen automaattinumerolaajennus määrittää automaattisesti oikean peräkkäisen työtilauksen numeron, kun tietue tallennetaan. Voit kirjoittaa lausekkeen valitsemalla kentän, vaihtamalla dynaamisen sisällön paneelin Lauseke-välilehteen, kirjoittamalla guid()ja valitsemalla OK.
    Palvelutili Valitse tili hakukentän avulla tai kirjoita lauseke Lauseke-välilehteenconcat('/accounts(', 'service-account-guid', ')'), jos haluat käyttää kiinteästi koodattua tai dynaamista GUID-tunnusta. Löydät tämän alla olevasta ohjeartikkelista.
    Työtilauksen tyyppi Valitse työtilauksen tyyppi hakukentän avulla tai kirjoita lauseke Lauseke-välilehteenconcat('/msdyn_workordertypes(', 'work-order-type-guid', ')'), jos haluat käyttää kiinteästi koodattua tai dynaamista GUID-tunnusta. Löydät tämän alla olevasta ohjeartikkelista.
    Hintaluettelo Valitse hinnasto hakukentän avulla tai kirjoita lauseke Lauseke-välilehteenconcat('/pricelevels(', 'your-price-list-guid', ')'), jos haluat käyttää kiinteästi koodattua tai dynaamista GUID-tunnusta. Jos noudat hinnaston dynaamisesti Luettelorivit-toiminnolla sisällä olevan Jokaiselle silmukan, käytä concat('/pricelevels(', items('YourLoopName')?['pricelevelid'], ')') sen sijaan, korvaamalla YourLoopName silmukkasi nimellä. Löydät tämän alla olevasta ohjeartikkelista.
    Järjestelmän tila 690970000 (Suunnittelematon)
    Verotettava false
    Ohjeet Käytä dynaamista sisältöä käynnistimestä, esimerkiksi resurssin nimeä

    Palvelutili: Kirjoita tilin nimi suoraan Palvelutili-kenttään , josta voit hakea ja valita tilin. Jos käynnistin on asiakasresurssin muutos ja resurssi on linkitetty tiliin, voit sen sijaan valita Tili (asiakasresurssit) dynaamisen sisällön paneelista. Jos sinun on käytettävä GUID-tunnusta suoraan, siirry kohtaan Palvelualueen>asiakastilit> Kenttäpalvelussa, avaa tili ja kopioi tietuetunnus selaimen URL-osoitteesta (arvo välillä %7B ja %7Dtai pelkkä GUID- tunnus, jos URL-osoitetta ei ole koodattu).

    Työtilauksen tyyppi: Kirjoita työtilauksen tyypin nimi suoraan Työtilauksen tyyppi - kenttään, josta voit hakea ja valita sen. Jos haluat käyttää GUID-tunnusta suoraan, siirry kohtaan Asetukset-alue>Työtilauksen>työtilaustyypit kenttäpalvelussa, avaa työtilauksen tyyppi ja kopioi tietuetunnus selaimen URL-osoitteesta.

    Hinnasto: Kirjoita hinnaston nimi suoraan Hinnasto-kenttään , jota haluat hakea ja valita. Jos haluat käyttää GUID-tunnusta suoraan, siirry kohtaan Asetukset>Yleiset>hinnastot Kenttäpalvelussa, avaa hinnasto ja kopioi tietuetunnus selaimen URL-osoitteesta.

    Muistio

    Dataverse-liitin edellyttää hakukenttiä OData-entiteetin viitepolun (esimerkiksi /accounts(guid)) käyttämiseen tavallisen GUID-tunnuksen sijaan. Paljaiden GUID-tunnusten antaminen aiheuttaa ODataUnrecognizedPathException ajon aikana. Yllä olevat concat lausekkeet muodostavat oikean polkumuodon.

  5. Tallenna ja testaa virta.

Vaihtoehto 2: Työtilauksen luominen HTTP-pyynnöstä

Tämän mallin avulla voit luoda työtilauksen ulkoisesta järjestelmästä, kuten asiakasportaalista, lippujärjestelmästä tai IoT-ympäristöstä.

Käynnistimen määrittäminen

  1. Valitse Power Automate Luo>Instant cloud flow.

  2. Anna työnkululle nimi ja valitse käynnistimeksi Kun HTTP-pyyntö vastaanotetaan .

  3. Valitse Luo.

  4. Liitä Pyynnön leipätekstin JSON -rakenne -kenttään seuraava rakenne:

    {
      "type": "object",
      "properties": {
        "serviceAccountId": { "type": "string" },
        "workOrderTypeId": { "type": "string" },
        "priceListId": { "type": "string" },
        "instructions": { "type": "string" }
      },
      "required": ["serviceAccountId", "workOrderTypeId", "priceListId"]
    }
    
  5. Valitse Kuka voi käynnistää työnkulun, -vaihtoehdolle jokin seuraavista:

    Vaihtoehto Milloin kannattaa käyttää
    Vain käyttäjät omassa vuokraajassani Suositellaan tuotannossa. Kutsujien on todennettava Microsoft Entra ID ja esitettävä kelvollinen OAuth-haltijatunnus. Käytä tätä sisäisissä järjestelmissä tai luotetuissa palvelun päänimissä.
    Kuka tahansa Itse URL-osoite toimii tunnistetietona – lisä todennusotsikkoa ei tarvita. Käytä kohdetta vain silloin, kun kutsujärjestelmä ei voi hankkia Entra ID -tunnus -tunnusta ja voit varmistaa, että URL-osoite on tallennettu turvallisesti.

    Lue lisätietoja HTTP-käynnistettyjen työnkulkujen suojaamisesta lisää OAuth-todennusta HTTP-pyyntökäynnistimiä varten.

  6. HTTP-URL-kenttä on vain luku -tilassa – älä täytä sitä. Power Automate täyttää sen automaattisesti, kun tallennat työnkulun ensimmäistä kertaa.

  7. Tallenna virta. HTTP-URL-kenttä täytetään nyt päätepisteen URL-osoitteella. Kopioi tämä URL-osoite ja anna se sille, joka määrittää ulkoisen järjestelmän (kuten kehittäjälle tai järjestelmänvalvojalle). Ulkoinen järjestelmä käynnistää työnkulun lähettämällä HTTP POST -pyynnön tähän URL-osoitteeseen JSON-leipätekstin kanssa, joka vastaa määrittämääsi rakennetta. Esimerkkejä:

    POST <paste the HTTP URL here>
    Content-Type: application/json
    
    {
      "serviceAccountId": "<account record GUID>",
      "workOrderTypeId": "<work order type record GUID>",
      "priceListId": "<price list record GUID>",
      "instructions": "Reported issue: equipment not functioning"
    }
    

    Aina, kun ulkoinen järjestelmä lähettää tämän pyynnön, Power Automate suorittaa työnkulun ja luo työjärjestyksen Field Servicessä.

Lisää Työtilauksen luominen -toiminto

  1. Valitse + Uusi vaihe ja hae Lisää uusi rivi (Microsoft Dataverse liitin).

  2. Kirjaudu sisään Microsoft Dataverse liittimeen tai valitse aiemmin luotu yhteys. Taulukon nimi -kenttä tulee näkyviin vasta, kun yhteys on valittu.

  3. Määritä Taulukon nimeksiTyötilaukset.

  4. Yhdistä HTTP-pyynnön runkokentät työtilauskenttiin:

    Työtilauskenttä Arvo
    Työtilauksen numero Anna lauseke guid() paikkamerkkinä. Dataverse connector -käyttöliittymä edellyttää Work Order Number -kenttää, mutta Field Servicen automaattinumerolaajennus määrittää automaattisesti oikean peräkkäisen työtilauksen numeron, kun tietue tallennetaan. Voit kirjoittaa lausekkeen valitsemalla kentän, vaihtamalla dynaamisen sisällön paneelin Lauseke-välilehteen, kirjoittamalla guid()ja valitsemalla OK.
    Palvelutili concat('/accounts(', triggerBody()?['serviceAccountId'], ')')
    Työtilauksen tyyppi concat('/msdyn_workordertypes(', triggerBody()?['workOrderTypeId'], ')')
    Hintaluettelo concat('/pricelevels(', triggerBody()?['priceListId'], ')')
    Järjestelmän tila 690970000 (Suunnittelematon)
    Ohjeet @{triggerBody()?['instructions']}
  5. Halutessasi voit lisätä Vastaus-toiminnon , joka palauttaa uuden työtilauksen tunnuksen kutsujärjestelmään:

    1. Valitse + Uusi vaihe ja tee haku hakusanalla Vastaus (Pyyntö-liittimestä).
    2. Määritä Tilakoodi arvoon 200.
    3. Valitse Leipäteksti-kentässä dynaamisen sisällön kuvake ja valitse msdyn_workorderidLisää uusi rivi -vaiheessa. Tämä on juuri luodun työtilauksen yksilöivä tunnus.

    Ilman tätä vaihetta kutsujärjestelmä ei saa vastausta, ja HTTP-pyyntö aikakatkaistaan odotuksen jälkeen. Jos lisäät tämän vaiheen, kutsuva järjestelmä saa 200 vastauksen työtilauksen tunnuksella heti, kun työnkulku on valmis.

Järjestelmän tilan asetusten arvot

Käytä näitä kokonaislukuarvoja, kun määrität järjestelmän tilaksi työnkulun tai ohjelmointirajapinnan kutsussa.

Otsikko Arvo
Ei aikataulutettu 690970000
Ajoitettu 690970001
Käynnissä 690970002
Valmis 690970003
Kirjattu 690970004
Peruutettu 690970005

Huomioitavia seikkoja

Flow-yhteystilin omistajuus

Työnkulun luomat työtilaukset omistaa Dataverse-liittimessä käytetty yhteystili. Varmista, että tällä tilillä on oikea käyttöoikeusrooli ja että työnkulun luomat työtilaukset näkyvät odotetuissa näkymissä ja jonoissa.

Alitietueet

Lisää uusi rivi -toiminto luo vain työtilauksen otsikon. Jos haluat lisätä työtilauksen tuotteita, palveluita tai palvelutehtäviä, lisää erillinen Lisää uusi rivin osavaihe kullekin alitaulukolle (msdyn_workorderproduct, msdyn_workorderservice, msdyn_workorderservicetask) ja määritä Work Order - hakukentäksi luontivaiheen palauttama tunnus.

Ohjelmointirajapinnan korkorajoitukset

Power Automate työnkulut ovat Dataverse-ohjelmointirajapinnan rajoitusten alaisia. Suuren määrän skenaarioissa kannattaa harkita Dataverse Web API -erän päätepisteen käyttöä tai työnkulun suoritusten levittämistä käyttäen ajoitettua käynnistintä ja erän käsittelyä.

Työtilausten kaksoiskappaleiden välttäminen

Jos työnkulku suoritetaan usein samalla käynnistimellä, lisää ehto sen tarkistamiseksi, onko työtilaus jo olemassa ennen uuden luomista. Tarkista olemassa olevat työtilaukset käyttämällä Luettelorivit-toimintoa , joka on suodatettu lähdetietueen tunnuksen mukaan.

Virheen käsittely

Lisää uusi rivi -vaihe Scope-toimintoon ja lisää rinnakkaishaara, joka on määritetty suoritettavaksi has failed.> Tämän haaran avulla voit kirjata virheen tai lähettää ilmoituksen. Lisää HTTP:n käynnistämissä työnkuluissa aina Vastaus-toiminto, jotta kutsujärjestelmä saa onnistumis- tai epäonnistumiskoodin aikakatkaisun sijaan.

Seuraavat vaiheet