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.
[Bu konu, yayın öncesi belgesine dahildir ve değiştirilebilir.]
Bu örnek eklentilerin amacı, onları uygulamalarınıza tümleştirerek başlamanıza yardımcı olmaktır. Yazma deneyiminin, dahili olarak veya harici olarak Dataverse'e eylemler tetikleyebilecek Power Fx ifadeleriyle desteklenen Microsoft Dataverse özel API'leri yazmayı içerdiğini anlarsınız.
Önemli
- Anında düşük kodlu eklentilerin önceliği kaldırılır ve bir özellik olarak geliştirilmiyor. Anında düşük kodlu eklentiler işlevlerle değiştirilir. Daha fazla bilgi: Microsoft Dataverse içinde işlevler (önizleme)
- Bu, bir önizleme özelliğidir.
- Önizleme özellikleri, üretimde kullanıma yönelik değildir ve sınırlı işlevselliğe sahip olabilir. Bu özellikler, müşterilerin erken erişim elde etmesi ve geri bildirim sağlaması amacıyla resmi sürümden önce kullanıma sunulur.
Önkoşul
Veri olayı için örnek eklentilerden birini kullanmak için Dataverse hızlandırıcı uygulamasının ortama yüklenmesi gerekir. Daha fazla bilgi: Az kodlu eklenti oluşturma ön koşulları
Not
E-posta şablonları yalnızca belirli tablolar için kullanılabilir. Daha fazla bilgi: E-posta için şablonlar oluşturma
Negatif olmayan bir değer döndürme
Bu örnekte, bağımsız değişkeninin negatif olmayan bir değerini döndürmek için Abs() işlevi kullanılır. Sayı negatifse Abs
, sayının pozitif eşdeğerini döndürür.
Dataverse Hızlandırıcı uygulamasını oynatın, komut çubuğunda Yeni eylem>Anlık eklenti'yi seçin.
Formül adı ve açıklama gibi bir görünen ad girin.
Anlamlı bir beklenen davranışı doğrulamak için bir
Out
parametresi oluşturun; örneğin, testi daha kolaylaştırmak için formülle anlamlı olan İsteğe bağlı olarak giriş parametreleri kullanın dizesi gibi.Formül düzenleyicide,
Out
parametresini küme ayraçları arasına alın:{Out: "" }
Formülü sınayan bir ifade girin:
- Formülün IntelliSense tarafından kabul edildiğini doğrulayın (metin rengi açık maviye döner).
- Örneğin, sonucun doğrulanmasına yardımcı olmak için bir çıkış sağlayan bir ifade uygulayabilirsiniz.
{Out: "Abs(-5) = 5: " & Text( Abs(-5) = 5 ) }
İleri'yi seçin ve sonra Kaydet'i seçin.
Formülü test etmek için Test'i seçin. Sonucu doğrulamak için çıkış parametresini kullanın.
Giriş doğrulaması ve özel hatalar
Yinelenen öğe algılaması
Özel hata iletisi oluşturan yinelenen hata algılaması gibi sunucu tarafı giriş doğrulaması gerçekleştirin.
- Dataverse Hızlandırıcı uygulamasını oynatın, komut çubuğunda Yeni eylem>Otomatik eklenti'yi seçin.
- Ad kutusuna, Yineleme denetimi yazın.
- Tablo için İlgili kişi'yi seçin.
- Satır seçildiğinde bu eklentiyi çalıştır için Oluşturuldu seçeneğini belirleyin.
- Formül kutusuna bu formülü girin:
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")
)
- Kaydet'i seçin.
Eklentiyi test etme
- Eklentiyi test etmek için buradaki adımları izleyip ilgili kişiler tablosunu kullanarak bir tuval uygulaması oluşturun: Tablo belirtme.
- İlgili kişi satırı oluşturun.
- Önceki adımdaki ile aynı ada sahip başka bir ilgili kişi oluşturun.
- Yinelenen kayıtların bulunduğunu bildiren bir ileti görüntülenir. Hata iletisi isteminde Yoksay ve Kaydet'i seçin.
Bu özel hata iletisi görüntülenir: Aynı ad ve soyadına sahip iki ilgili kişiniz var.
Veri doğrulaması
ErrorKind numaralandırmasını kullanarak belirli hata türlerini görüntüleyin.
Yeni bir otomatik eklenti oluşturun.
Aşağıdaki değerleri girin:
- Ad: Giriş doğrulama
- Açıklama: Geçerli tarih denetimi yapar ve geçersiz ise hata verir
- Tablo: randevu
- Satır şu durumda olduğunda bu eklentiyi çalıştır: Güncelleştirildi
Aşağıdaki formülü girin:
If(ThisRecord.'Due Date' < Now(), Error({ Kind: ErrorKind.Validation , Message: "The due date cannot be in the past" }) );
Gelişmiş Seçenekler altında Çalıştırılması gereken zaman'ı İşlem öncesi olarak ayarlayın; geçersiz verileri önlemek için bu kuralı veriler kaydedilmeden önce çalıştırın.
Kaydet'i seçin.
Özel hatalar hakkında daha fazla bilgi için Error() işlevine gidin.
Veri olayına göre e-posta gönderme
Ön koşullar:
- Sunucu tarafı eşitlemesi ortamınızda ayarlanmalıdır. Daha fazla bilgi: E-posta, randevular, ilgili kişiler ve görevlerin sunucu tarafı eşitlemesini ayarlama
- E-posta şablonu.
Örnek e-posta şablonu
Burada, e-posta tabanlı SenMail için oluşturabileceğiniz bir e-posta şablonu örneği yer alır:
- Şablon türü: Genel
- Ad: Sipariş Teşekkür Ederiz
- Açıklama: Bu şablonu, size bir sipariş veren müşteriye teşekkür etmek için kullanın.
-
Konu:
Thank you for your order <orderconfirmation-{!salesorder:Order Number; }>
- Gövde: Bu kodu kullanın.
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
Otomatik eklenti oluşturma
- Dataverse Hızlandırıcı uygulamasını çalıştırın ve sonra Otomatik eklentiler altından + Yeni eklenti'yi seçin.
- Aşağıdaki bilgileri girin:
Ad: SendEmailUponCreate
Tablo: Satış siparişlerinin mantıksal tablo adını seçin; SalesOrder. Bu olay Satış siparişleri tablosunu temel alır.
Satır şu durumda olduğunda bu eklentiyi çalıştır: Oluşturuldu
Formül: Aşağıdaki kodu Formül kutusuna yapıştırın. SendEmailFromTemplate işlevi hakkında daha fazla bilgi için SendEmailFromTemplate Eylemi bölümüne bakın.
XSendEmailFromTemplate( LookUp('Email Templates',StartsWith(title,"Order Thank You")).'Email Template', ThisRecord, LookUp(Users,'Primary Email'="sampleemail@sample.com"),[ThisRecord.Email] )
- Gelişmiş>İşlem sonrası'nı seçin.
- Kaydet'i seçin.
Eklenti başarıyla kaydedildi onay iletisi görünür.
Anlık eyleme göre uygulama içi bildirimler gönderme
Uygulama içi bildirimler, oluşturucuların model temelli uygulamalarda kullanıcılar için bağlamsal, eyleme geçirilebilir bildirimler yapılandırmasına olanak sağlar.
Uygulama içi bildirim gönderen az kodlu bir eklenti oluşturma
- Dataverse hızlandırıcı uygulamasını çalıştırın ve ardından Anlık eklentiler altından + Yeni eklenti seçeneğini belirleyin.
- Aşağıdaki bilgileri girin ve İleri'yi seçin.
- Ad: NotifyTechnican1
- Açıklama: Bu anlık eklenti uygulama kullanıcısına bildirim gönderir.
-
Tanımlar sayfasında, bu veri türleriyle giriş parametreleri oluşturun:
- OrderID: Dize
- TechnicianEmail: Dize
-
Formül. Aşağıdaki kodu Formül kutusuna yapıştırın. Bu işlevle ilgili daha fazla bilgi için bkz. SendAppNotification Eylemi.
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' ) ] )
- İleri'yi seçin.
- Özet sayfasında, Kaydet'i seçin.
Uygulama içi bildirim anlık eylemini çağırma
- Bir tuval uygulaması seçin ve ardından komut çubuğunda Düzenle'yi seçin (veya yeni bir tane oluşturun).
- Sol gezinti bölmesindeki ekranı seçin veya yeni bir tane oluşturun.
- Ekle menüsünde, Teknisyeni bilgilendirMetnini kullanarak sayfaya bir Düğme ekleyin.
- Düğmeyi seçin ve FX Formül çubuğuna aşağıdakini girin (burada DataCardValue17, Sipariş kimliğini içeren sütun, DataCardValue15 ise teknisyenin e-posta adresini içeren sütundur). Bu örnekte, Hizmet Siparişi Uygulaması adlı bir tuval uygulaması kullanılır.
Environment.cr8b8_Notifytechnician1({ OrderID: DataCardValue17.Text, TechnicianEmail: DataCardValue15.Text }); Notify("The technician was notified!", NotificationType.Success, 2000);
- Değişikliklerinizi kaydedin ve yayımlayın.
Uygulamada teknisyene bildir eylemi seçildiğinde, hizmet siparişine atanmış olan teknisyene bir uygulama içi bildirim gönderilir. Bildirimdeki bir eylem, yan panelde hizmet siparişi ayrıntılarını açar.
MSN Hava Durumu bağlayıcısı ile örnek anlık eklenti
Bu eklenti MSN Hava Durumu bağlayıcısını kullanarak belirli bir konumun geçerli hava durumunu getirir.
Ön koşullar:
- Az kodlu eklenti oluşturmak için ön koşullar
- Ortamda MSN Hava Durumu bağlayıcısına izin verildi
Ortamda henüz kullanılamıyorsa, MSN Hava Durumu için bir bağlantı başvurusu oluşturun:
Kod parçacığını kopyalayın:
Intellisense kullanarak formülü düzenlemeyi bitirin ve bağlayıcı yanıtı özelliklerini gerektiği gibi kullanın:
Kaydetme
İpucu
Yanıtın sahip olabileceği farklı özelliklere erişmek isterseniz, tüm yanıtı tek bir eylemden yakalamak için İle() işlevini kullanın. Aşağıdaki örnekte, bir giriş parametresi Location
(dize) ve bir çıkış parametresi Out
(dize) bulunmaktadır.
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."
})
En iyi yöntemler
Otomatik düşük kodlu eklentilerde sınırsız döngü hatalarını ele alma
Yamanın eklentiyle aynı tabloda bulunduğu 'Güncelleme' olayında otomatik bir eklentiye bir yama bildirimi yazmayın. Bu, sınırsız döngülere ve eklenti yürütme hatalarına yol açar.
Sorunlu desen: Patch()
formülünün kullanılması başka bir güncelleştirmeyi tetikler.
Önerilen desen: Bu sorunu önlemek için Set()
formülünü kullanın.