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.
Nesnenin eylem ve işlev yöntemlerini dataApi kullanarak sayfaya bağlı Dataverse özel API'lerini çağırın.
Uyarı
Eylem ve işlev yöntemleri paylaşılan dataApi sözleşmede isteğe bağlıdır. Bazı konaklar bunları uygulamaz, bu nedenle çağırmadan önce bir yöntemin mevcut olup olmadığını denetleyin. Mevcut bir yöntem, işlemin sayfaya bağlı olduğu, çalışma zamanı için etkinleştirildiği veya geçerli kullanıcı için izin verilen anlamına gelmez. Bağlayıcı yöntemlerinden farklı olarak, bu yöntemler beklenen hatalar için hiçbir zaman oluşturmaz; ve bunun yerine bir hata kodu ile ok: false çözülür. Sonucun ok ve error özelliklerini açıkça işleyin.
listBoundActions , bulma etkinleştirildiğinde geçerli çalışma zamanı yapılandırmasının sayfaya izin verdiği eylemleri ve işlevleri döndürür; geçerli kullanıcının listelenen her işlemi yürütmek için gereken Dataverse ayrıcalıklarına sahip olması garanti değildir.
| Method | Description |
|---|---|
executeAction |
Sayfaya bağlı bir Dataverse özel API'sini eylem olarak çağırır. |
executeFunction |
Sayfaya bağlı bir Dataverse özel API'sini işlev olarak çağırır. |
listBoundActions |
Sayfaya bağlı Dataverse özel API'lerini (eylemler ve işlevler) listeler. |
executeAction yöntemi
Bir oluşturucunun sayfaya eylem olarak bağlı olduğu bir Dataverse özel API'sini çağırır (verileri değiştirebilecek bir ileti).
Parameters
Bu gerekli parametre için bir değer ayarlayın.
| Name | Type | Description |
|---|---|---|
request |
DataverseActionRequest | Çağırma eylemi ve giriş parametreleri. |
DataverseActionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Yayımcı ön eki eklenmiş özel API'nin benzersiz adı( gibi new_ApproveExpenseReport). |
parameters |
object |
(İsteğe bağlı) Eylemin gerektirdiği giriş parametreleri, parametre benzersiz adına göre anahtarlanır. |
boundTo |
object |
(İsteğe bağlı) Varlığa bağlı eylemler için hedef satır başvurusu (entityName ve id). Genel (ilişkisiz) eylemler için atla. |
Returns
DataverseActionResult içeren bir söz. Bu yöntem hiçbir zaman beklenen hatalar (403 izin hatası, 400 hatalı parametre veya işlem bağlı veya etkin değil gibi) için oluşturmaz; bunun yerine özelliği denetleyin ok .
DataverseActionResult
| Name | Type | Description |
|---|---|---|
ok |
boolean |
Eylemin başarılı olup olmadığını gösterir. |
status |
number |
Dataverse tarafından döndürülen HTTP durum kodu veya 0 kullanılabilir HTTP durumu olmadığında. Durum 0 , çalışma zamanının çağrıyı göndermeden önce reddettiği anlamına gelebilir (örneğin, not_enabled, not_bound, not_permitted, wrong_operation_kind, invalid_parameterveya invalid_bound_to), istek HTTP yanıtı olmadan başarısız oldu veya sonuç bilinmiyor (indeterminate olur true). Bu durumları birbirinden ayırmak için ve indeterminate kullanınerror.code. |
outputs |
object |
Eylem tarafından döndürülen ve benzersiz ada göre anahtarlanan çıkış parametreleri. Çıkış içermeyen eylemler için boş. |
indeterminate |
boolean |
(İsteğe bağlı) true zaman aşımı veya başka bir gönderim sonrası hata, sunucunun eylemi işlemiş olabileceği anlamına gelir; otomatik olarak yeniden denemeyin. |
error |
object |
(İsteğe bağlı) olduğunda, makine tarafından okunabilir ve temizlenmiş messagebir de dahil olmak üzere hata ayrıntıları.okfalsecode
code, , not_bound, not_permitted, wrong_operation_kind, invalid_parameter, indeterminateinvalid_bound_to, veya , veya networkveya eylemin not_enabledHTTP durum kodundan biridir( örneğin, "404"Dataverse bir hata yanıtı döndürdüyse veya "0" kullanılabilir http durumu olmadığında).
not_permitted , eylemin veya işlevin ortamın üretken sayfalar için izin verme listesinde olmadığı anlamına gelir; geçerli kullanıcının bunu çalıştırmak için Dataverse ayrıcalıklarına sahip olup olmadığını göstermez. Ayrıcalık hatası genellikle hata kodunda olduğu gibi status: 403 ortaya çıkar; konak HTTP durumunu belirleyemezse, bunun yerine döndürürstatus: 0."403" |
executeAction örneği
if (!dataApi.executeAction) {
throw new Error("executeAction isn't available on this page.");
}
const result = await dataApi.executeAction({
name: "new_ApproveExpenseReport",
parameters: { comments: "Approved by manager" },
boundTo: { entityName: "new_expensereport", id: "30dc51e9-947d-47d8-ad48-4fc48fba4a95" },
});
if (result.ok) {
console.log(result.outputs);
}
else {
console.log(result.error?.code);
}
executeFunction yöntemi
Bir oluşturucunun işlev olarak sayfaya bağlı olduğu bir Dataverse özel API'sini çağırır (GET semantiği içeren salt okunur bir ileti).
Parameters
Bu gerekli parametre için bir değer ayarlayın.
| Name | Type | Description |
|---|---|---|
request |
DataverseFunctionRequest | çağıracak işlev ve giriş parametreleri. |
DataverseFunctionRequest
| Name | Type | Description |
|---|---|---|
name |
string |
Yayımcı ön eki eklenmiş özel API'nin benzersiz adı( gibi new_GetExchangeRate). |
parameters |
object |
(İsteğe bağlı) İşlevin gerektirdiği giriş parametreleri, parametre benzersiz adına göre anahtarlanır. |
boundTo |
object |
(İsteğe bağlı) Varlığa bağlı işlevler için bir hedef satır başvurusu (entityName ve id). Genel (ilişkisiz) işlevler için atlayın. |
Returns
DataverseActionResult içeren bir söz. gibi executeAction, bu yöntem hiçbir zaman beklenen hatalar için oluşturmaz; bunun yerine özelliği denetleyin ok .
executeFunction örneği
if (!dataApi.executeFunction) {
throw new Error("executeFunction isn't available on this page.");
}
const result = await dataApi.executeFunction({
name: "new_GetExchangeRate",
parameters: { currencyCode: "EUR" },
});
if (result.ok) {
console.log(result.outputs);
}
listBoundActions yöntemi
Bir oluşturucunun sayfaya bağlı olduğu Dataverse özel API'lerini (eylemler ve işlevler) listeler.
Parameters
None.
Returns
DataverseActionInfo girdileri dizisi içeren bir promise. Bulma çalışma zamanı için etkinleştirilmediğinde boş bir dizi döndürür.
DataverseActionInfo
DataverseActionInfo canlı Dataverse meta verilerini değil, sayfanın oluşturucusunun bu eylem veya işlev için neyle ilişkili olduğunu yansıtır. Giriş formları oluşturmak veya çıkışları doğrulamak için kullanmayın; parametre gereksinimlerini ve çıkış şekillerini gerçek Dataverse özel API tanımına göre doğrulayın.
| Name | Type | Description |
|---|---|---|
name |
string |
Dataverse özel API'sinin benzersiz (mantıksal) adı. |
displayName |
string |
Özel API'nin görünen adı. |
isFunction |
boolean |
true Dataverse özel API bir işlevse (salt okunur); false bu bir eylemse, bu değerin bağlama zamanında kaydedilmemiş olması da dahil. |
bindingType |
string |
Bağlama türü: "Global" veya "Entity". |
boundEntityLogicalName |
string |
(İsteğe bağlı) Eylemin veya işlevin bağlı olduğu tablo, olduğundabindingType."Entity" |
parameters |
Object[] |
Dataverse özel API'sinin sayfaya bağlı olduğu zaman kaydedilen giriş parametreleri( her biri ve namedeclaredKindile).
typeher zaman ve optional her zamandır "unknown"false ; dataverse özel API'sinin gerçek meta verilerini yansıtmaz. |
outputs |
Object[] |
Her zaman boş bir dizi. Bağlama bulma işlemi çıkış parametrelerini kaydetmez. |
listBoundActions Örnek
const actions = await dataApi.listBoundActions?.();