Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Power Automate akışlarını kullanarak Dynamics 365 Field Service'de otomatik olarak iş siparişleri oluşturabilirsiniz. Bu, iş siparişlerinin IoT uyarısı, form gönderimi, başka bir sistemden gelen hizmet isteği veya ilgili kayıtta yapılan bir değişiklik gibi dış tetikleyiciler temelinde oluşturulması gerektiğinde yararlıdır.
Power Automate akışları, Alan Hizmeti kayıtlarıyla etkileşime geçmek için Microsoft Dataverse bağlayıcısını kullanır. Kod aracılığıyla iş siparişleri oluşturma hakkında bilgi için Dataverse Web API'sini kullanarak iş siparişleri oluşturma bölümüne gidin.
Önkoşullar
- Power Automate lisansı (çoğu Dynamics 365 lisansına dahildir).
- Akışın bağlantı hesabına atanan aşağıdaki Field Service güvenlik rollerinden en az bir tanesi.
Kullanıcıları ve güvenlik rollerini ayarlama bölümünde daha fazla bilgi edinin.
- Field Service - Sevk Sorumlusu
- Saha Hizmetleri - Yönetici
- Gerekli arama alanları için mevcut kayıtlar:
-
Hizmet Hesabı (
accountvarlık) -
İş Emri Türü (
msdyn_workordertypevarlık) -
Fiyat Listesi (
pricelevelvarlık)
-
Hizmet Hesabı (
1. Seçenek: Dataverse kaydı değiştiğinde iş sırası oluşturma
Başka bir Dataverse tablosunda, örneğin bir müşteri varlığının durumu değiştiğinde, meydana gelen bir değişikliğe yanıt olarak iş emri yaratmak için bu deseni kullanın.
Tetikleyiciyi ayarlama
Power Automate'da Create>Automated cloud flow öğesini seçin.
Bir satır eklendiğinde, değiştirildiğinde veya silindiğinde (Microsoft Dataverse bağlayıcısı) için arama yapın ve seçin.
İstendiğinde, Dynamics 365 kimlik bilgilerinizi kullanarak Microsoft Dataverse bağlayıcısında oturum açın. Ortamınızla zaten bir bağlantınız varsa, açılan listeden bu bağlantıyı seçin. Etkin bir bağlantı kurulana kadar tetikleyicinin yapılandırma alanları doldurulamaz.
Tetikleyiciyi yapılandırın:
Alan Değer Değişiklik türü Değiştirildi Tablo adı Müşteri Varlıkları Scope Kuruluş Akışın çalışmasını sınırlamak amacıyla bir Satırları filtrele koşulu ekleyebilirsiniz. Bu isteğe bağlıdır. Örneğin:
msdyn_operationalstatus eq 690970001(Hizmet Gerekiyor).
Tip
Dataverse kaydını değiştirmeden iş sırası oluşturma adımlarını test etmek için akışınızın bir kopyasını oluşturun ve Dataverse tetikleyicisini Bir akışı el ile tetikleme ile değiştirin. Giriş parametreleri (hizmet hesabı kimliği, iş siparişi türü kimliği ve fiyat listesi kimliği gibi) ekleyin, böylece akışı çalıştırdığınızda test değerlerini geçirebilirsiniz. İş sırasının doğru oluşturulduğunu doğruladıktan sonra üretim akışınızda Dataverse tetikleyicisine geri dönün.
İş emri oluştur eylemini ekleme
+ Yeni adım'ı seçin ve Yeni satır ekle (Microsoft Dataverse bağlayıcı) araması yapın.
Tetikleyici için kullandığınız Dataverse bağlantısını seçin. Tablo adı alanı yalnızca bir bağlantı seçildikten sonra görünür.
Tablo adınıİş Siparişleri olarak ayarlayın.
Gerekli alanları doldurun:
Alan Değer İş Emri Numarası İfadeyi guid()yer tutucu olarak girin. İş Emri Numarası alanı, Dataverse bağlayıcısı kullanıcı arabirimi tarafından gereklidir, ancak kayıt kaydedildiğinde Field Service'in otomatik numaralandırma eklentisi doğru sıralı iş emri numarasını atar. İfade girmek için alanı seçin, dinamik içerik panelinde İfade sekmesine geçin, yazınguid()ve Tamam'ı seçin.Hizmet Hesabı Arama alanını kullanarak hesabı seçin veya sabit kodlanmış veya dinamik GUID kullanmanız gerekiyorsa concat('/accounts(', 'service-account-guid', ')')sekmesine ifadeyi girin. Bunu nasıl bulabileceğinizi öğrenmek için aşağıya bakın.İş Emri Türü Arama alanını kullanarak iş sırası türünü seçin veya sabit kodlanmış veya dinamik GUID kullanmanız gerekiyorsa concat('/msdyn_workordertypes(', 'work-order-type-guid', ')')sekmesine ifadeyi girin. Bunu nasıl bulabileceğinizi öğrenmek için aşağıya bakın.Fiyat Listesi Arama alanını kullanarak fiyat listesini seçin veya sabit kodlanmış veya dinamik GUID kullanmanız gerekiyorsa concat('/pricelevels(', 'your-price-list-guid', ')')sekmesine ifadeyi girin. Eğer bir For each döngüsü içindeki Liste satırları eylemini kullanarak fiyat listesini dinamik olarak alıyorsanız,concat('/pricelevels(', items('YourLoopName')?['pricelevelid'], ')')kullanın veYourLoopNameile döngünüzün adını değiştirin. Bunu nasıl bulabileceğinizi öğrenmek için aşağıya bakın.Sistem Durumu 690970000(Zamanlanmamış)Vergiye tabi falseYönergeler Tetikleyiciden dinamik içerik kullanın, örneğin varlık adı Hizmet Hesabı: Hesap adını aramak ve seçmek için doğrudan Hizmet Hesabı alanına yazın. Tetikleyici bir Müşteri Varlığı değişikliğiyse ve varlık bir hesaba bağlıysa, bunun yerine dinamik içerik panelinden Hesap (Müşteri Varlıkları) öğesini seçebilirsiniz. Doğrudan bir GUID kullanmanız gerekiyorsa, Hizmet alanı>Müşteri Hesapları>Alan Hizmeti'ne gidin, hesabı açın ve tarayıcı URL'sinden kayıt kimliğini kopyalayın (URL kodlanmamışsa,
%7Bile%7Darasındaki değer veya düz GUID).İş Emri Türü: İş emri türü adını, aramak ve seçmek için doğrudan İş Emri Türü alanına yazın. Doğrudan bir GUID kullanmanız gerekiyorsa, Saha Hizmetleri'nde Ayarlar bölümüne >İş Emri>İş Emri Türleri gidin, iş emri türünü açın ve tarayıcı URL'sinden kayıt kimliğini kopyalayın.
Fiyat Listesi: Fiyat listesi adını aramak ve seçmek için doğrudan Fiyat Listesi alanına yazın. Doğrudan bir GUID kullanmanız gerekiyorsa, Saha Hizmeti'nde Ayarlar>Genel>Fiyat Listeleri bölümüne geçin, fiyat listesini açın ve tarayıcı URL'sinden kayıt kimliğini kopyalayın.
Uyarı
Dataverse bağlayıcısı, arama alanlarının düz GUID yerine bir OData varlık başvuru yolu (örneğin,
/accounts(guid)) kullanmasını gerektirir. GUID'nin doğrudan girilmesi çalışma zamanındaODataUnrecognizedPathExceptionhatasına neden olur. Yukarıdakiconcatifadeler doğru yol biçimini oluşturur.Akışı kaydedin ve test edin.
2. Seçenek: HTTP isteğinden iş emri oluşturma
Müşteri portalı, bilet oluşturma sistemi veya IoT platformu gibi bir dış sistemden iş emri oluşturmak için bu düzeni kullanın.
Tetikleyiciyi ayarlama
Power Automate'de Oluştur>Anında bulut akışı seçeneğini seçin.
Akışı adlandırın ve Tetikleyici olarak bir HTTP isteği alındığında'ı seçin.
Oluştur'u seçin.
İstek Gövdesi JSON Şeması alanına aşağıdaki şemayı yapıştırın:
{ "type": "object", "properties": { "serviceAccountId": { "type": "string" }, "workOrderTypeId": { "type": "string" }, "priceListId": { "type": "string" }, "instructions": { "type": "string" } }, "required": ["serviceAccountId", "workOrderTypeId", "priceListId"] }Akışı kim tetikleyebilir? için aşağıdaki seçeneklerden birini belirleyin:
Seçenek Ne zaman kullanılır? Yalnızca kiracımdaki kullanıcılar Üretim için tavsiye edilir. Arayanların Microsoft Entra ID ile kimlik doğrulaması yapması ve geçerli bir OAuth taşıyıcı belirteci sunması gerekir. Bunu iç sistemler veya güvenilen hizmet sorumluları için kullanın. Kimse URL'nin kendisi kimlik bilgisi işlevi görür; ek kimlik doğrulaması üst bilgisi gerekmez. Yalnızca çağıran sistem bir Entra ID belirteci alamadığında ve URL'nin güvenli bir şekilde depolandığından emin olabileceğiniz durumlarda kullanın. HTTP isteği tetikleyicileri için OAuth kimlik doğrulaması ekleme bölümünde HTTP ile tetiklenen akışların güvenliğini sağlama hakkında daha fazla bilgi edinin.
HTTP URL'si alanı salt okunurdur; doldurmayın. Power Automate akışı ilk kez kaydettiğinizde otomatik olarak doldurur.
Akışı kaydet. HTTP URL'si alanı artık uç nokta URL'si ile doldurulur. Bu URL'yi kopyalayın ve dış sistemi yapılandıran kişiye (geliştirici veya sistem yöneticisi gibi) sağlayın. Dış sistem, tanımladığınız şemayla eşleşen bir JSON gövdesiyle bu URL'ye bir HTTP POST isteği göndererek akışı tetikler. Örneğin:
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" }Dış sistem bu isteği her gönderdiğinde Power Automate akışı çalıştırır ve Field Service'te bir iş sırası oluşturur.
İş emri oluştur eylemini ekleme
+ Yeni adım'ı seçin ve Yeni satır ekle (Microsoft Dataverse bağlayıcı) araması yapın.
Microsoft Dataverse bağlayıcısında oturum açın veya var olan bir bağlantıyı seçin. Tablo adı alanı yalnızca bir bağlantı seçildikten sonra görünür.
Tablo adınıİş Siparişleri olarak ayarlayın.
HTTP isteği gövde alanlarını iş emri alanlarıyla eşleyin:
İş emri alanı Değer İş Emri Numarası İfadeyi guid()yer tutucu olarak girin. İş Emri Numarası alanı, Dataverse bağlayıcısı kullanıcı arabirimi tarafından gereklidir, ancak kayıt kaydedildiğinde Field Service'in otomatik numaralandırma eklentisi doğru sıralı iş emri numarasını atar. İfade girmek için alanı seçin, dinamik içerik panelinde İfade sekmesine geçin, yazınguid()ve Tamam'ı seçin.Hizmet Hesabı concat('/accounts(', triggerBody()?['serviceAccountId'], ')')İş Emri Türü concat('/msdyn_workordertypes(', triggerBody()?['workOrderTypeId'], ')')Fiyat Listesi concat('/pricelevels(', triggerBody()?['priceListId'], ')')Sistem Durumu 690970000(Zamanlanmamış)Yönergeler @{triggerBody()?['instructions']}İsteğe bağlı olarak, yeni iş emri kimliğini çağıran sisteme döndürmek için bir Yanıt eylemi ekleyin:
- + Yeni adım'ı seçin ve Yanıt için arama yapın (İstek bağlayıcısından).
-
Durum Kodu'nu olarak
200ayarlayın. - Gövde alanında dinamik içerik simgesini seçin ve Yeni satır ekle adımından msdyn_workorderid seçin. Bu, yeni oluşturulan iş siparişinin benzersiz kimliğidir.
Bu adım olmadan, çağrıyı yapan sistem yanıt almaz ve HTTP isteği belirli bir süre bekledikten sonra zaman aşımına uğrar. Bu adımı eklerseniz, akış tamamlandığında çağrı sistemi iş emri kimliğini içeren bir
200yanıt alır.
Sistem Durumu opsiyon ayarlama değerleri
Bir akışta veya API çağrısında Sistem Durumu'nu ayarlarken bu tamsayı değerlerini kullanın.
| Etiket | Değer |
|---|---|
| Zamanlanmadı | 690970000 |
| Planlandı | 690970001 |
| Devam Ediyor | 690970002 |
| Tamamlandı | 690970003 |
| Gönderildi | 690970004 |
| İptal edildi | 690970005 |
Değerlendirmeler
Bağlantı akış hesabı sahipliği
Bir akış tarafından oluşturulan iş siparişleri Dataverse bağlayıcısında kullanılan bağlantı hesabına aittir. Bu hesabın doğru güvenlik rolüne sahip olduğundan ve akış tarafından oluşturulan iş siparişlerinin beklenen görünümlerde ve kuyruklarda göründüğünden emin olun.
Alt kayıtlar
Yeni satır ekle eylemi yalnızca iş emri üst bilgisini oluşturur. İş emri ürünleri, hizmetleri veya hizmet görevleri eklemek için, her alt tablo (msdyn_workorderproduct, msdyn_workorderservice, msdyn_workorderservicetask) için ayrı Yeni bir satır ekle adımları ekleyin ve İş Emri arama alanını oluşturma adımı tarafından döndürülen kimliğe ayarlayın.
API hız sınırları
Power Automate akışları Dataverse API sınırlarına tabidir. Yüksek hacimli senaryolar için, Dataverse Web API toplu iş uç noktasını kullanmayı veya zamanlanmış tetikleyici ile akış çalıştırmalarını toplu işleme yoluyla yaymayı değerlendirin.
Yinelenen iş siparişlerinden kaçınma
Bir akış aynı tetikleyicide sık sık çalışıyorsa, yeni bir tane oluşturmadan önce iş siparişinin zaten var olup olmadığını denetlemek için bir koşul ekleyin. Var olan iş siparişlerini denetlemek için kaynak kayıt kimliğine göre filtrelenmiş Satırları listele eylemini kullanın.
Hata işleme
Üretim akışları için, Yeni bir satır ekle adımını bir Kapsam eylemine sarın ve başarısız oldu çalıştırmak üzere yapılandırılmış paralel bir dal ekleyin. Hatayı kaydetmek veya bildirim göndermek için bu şubeyi kullanın. HTTP ile tetiklenen akışlar için, çağıran sistemin zaman aşımına uğramak yerine başarılı veya başarısız durum kodu alması için her zaman bir Yanıt eylemi ekleyin.