navigateTo (İstemci API başvurusu)

Belirtilen tablo listesine, tablo kaydına, HTML web kaynağına veya özel sayfaya gider.

Uyarı

Bu yöntem yalnızca Birleşik Arabirimde desteklenir.

Syntax

çağrısı Xrm.Navigation.navigateTo()yapmak için aşağıdaki söz dizimini kullanın.

Xrm.Navigation.navigateTo(pageInput,navigationOptions).then(successCallback,errorCallback);

Parameters

yöntemi aşağıdaki parametreleri kabul eder.

Name Type Gerekli Açıklama
pageInput Nesne Yes Gidilebilecek sayfa hakkında giriş. Bkz . pageInput parametresi
navigationOptions Nesne No Sayfaya gitme seçenekleri: satır içinde mi yoksa iletişim kutusunda mı açılmayacağı. Bu parametreyi belirtmezseniz, yöntemi sayfayı varsayılan olarak satır içinde açar.
successCallback function No Satır içinde gezinirken ve bir iletişim kutusuna gittiğinizde iletişim kutusunu kapatırken sayfaya başarılı bir gezintide yürütülecek bir işlev.
errorCallback İşlev No İşlem başarısız olduğunda yürütülecek bir işlev.

pageInput Parametre

Nesne tanımı, gidilmesi gereken sayfanın türüne bağlı olarak değişir: varlık listesi, varlık kaydı, pano, HTML web kaynağı, özel sayfa veya üretken sayfa.

Varlık listesi

Varlık listesi nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
pageType Dize entitylist belirtin.
entityName Dize Liste denetimine yüklenecek tablonun mantıksal adı.
viewId Dize (İsteğe bağlı) Yüklenecek görünümün kimliği. Belirtmezseniz, uygulama tablonun varsayılan ana görünümüne gider.
viewType Dize (İsteğe bağlı) Yüklenecek görünüm türü. Şunu belirtin: savedquery veya userquery.

Varlık kaydı

Varlık kaydı nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
pageType Dize entityrecord belirtin.
entityName Dize Formun görüntüleneceği tablonun mantıksal adı.
entityId Dize (İsteğe bağlı) Formun görüntüleneceği tablo kaydının kimliği. Bu değeri belirtmezseniz, form oluşturma modunda açılır.
createFromEntity Arama (İsteğe bağlı) Eşlenmiş sütun değerlerine göre varsayılan değerler sağlayan bir kayıt belirleyin. Arama nesnesi şu Dize özelliklerine sahiptir: entityType, id ve name (isteğe bağlı).
data Nesne (İsteğe bağlı) Forma ek parametreler geçiren bir sözlük nesnesi.

Parametreler, yeni formlarda ayarlanmış varsayılan değerlere sahip tablo sütunları (bkz. Forma geçirilen parametreleri kullanarak sütun değerlerini ayarlama) veya kullanarak formContext.data.attributes formda erişilen özel parametreler olabilir (bkz. Formu özel querystring parametrelerini kabul edecek şekilde yapılandırma ve formContext.data). Geçersiz parametreler hataya neden olur.

formId Dize (İsteğe bağlı) Görüntülenecek form örneğinin kimliği.
isCrossEntityNavigate Boolean (İsteğe bağlı) Tablolar arası iş süreci akışı kullanılarak formun farklı bir tablodan adresine gidip gitmediğini gösterir.
isOfflineSyncError Boolean (İsteğe bağlı) Çevrimdışı eşitleme hataları olup olmadığını gösterir.
processId Dize (İsteğe bağlı) Formda görüntülenecek iş sürecinin kimliği.
processInstanceId Dize (İsteğe bağlı) Formda görüntülenecek iş süreci örneğinin kimliği.
relationship Nesne (İsteğe bağlı) Formda ilgili kayıtları görüntülemek için bir ilişki nesnesi tanımlayın. İlişkiye bakın.
selectedStageId Dize (İsteğe bağlı) İş süreci örneğinde seçili aşamanın kimliği.
tabName Dize (İsteğe bağlı) Odağı formun sekmesinde ayarlar.
İlişki nesnesi

Varlık kaydında kullanılan ilişki nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
attributeName Dize İlişki için kullanılan sütunun adı.
name Dize İlişkinin adı.
navigationPropertyName Dize Bu ilişkinin gezinti özelliğinin adı.
relationshipType Sayı İlişki türü. Şu değerlerden birini belirtin: 0:OneToMany, 1:ManyToMany.
roleType Sayı İlişkideki rol türü. Şu değerlerden birini belirtin: 1:Başvuru, 2:AssociationEntity.

Pano

pageInput açmak istediğinizde parametre olarak bu nesneyi kullanın.

Pano nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
pageType Dize dashboard belirtin.
dashboardId Dize Yüklenecek panonun kimliği. Kimliği belirtmezseniz, uygulama varsayılan panoya gider.

HTML web kaynağı

pageInput açmak istediğinizde parametre olarak bu nesneyi kullanın.

HTML web kaynağı nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
pageType Dize webresource belirtin.
webresourceName Dize Yüklenecek web kaynağının adı.
data Dize (İsteğe bağlı) Web kaynağına iletecek veriler.

Özel sayfa

pageInput açmak istediğinizde parametre olarak bu nesneyi kullanın.

Özel sayfa nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
pageType Dize custom belirtin.
name Dize Açılacak özel sayfanın mantıksal adı.
entityName Dize (İsteğe bağlı) aracılığıyla Param("entityName")özel sayfada kullanılabilir hale getirilecek tablonun mantıksal adı.
recordId Dize (İsteğe bağlı) aracılığıyla Param("recordId")özel sayfada kullanılabilir hale getirilecek tablo kaydının kimliği.

Oluşturma sayfası

pageInput açmak istediğinizde parametre olarak kullanın.

, recordIdveya entityNamekullanmak dataiçin, hedef oluşturan sayfa giriş parametrelerini kabul etmek üzere ayarlanmalıdır.

Oluşturan sayfa nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
pageType Dize generative belirtin.
pageId Dize Açılacak üretken sayfanın kimliği.
recordId Dize (İsteğe bağlı) Sayfaya geçirilmesi gereken kaydın GUID'i.
entityName Dize (İsteğe bağlı) Öğesine karşılık gelen Dataverse tablosunun recordIdmantıksal adı.
data Nesne (İsteğe bağlı) Sayfaya geçirmek için ek özel parametreler içeren bir JSON nesnesi.

İstemci API'sini kullanarak üretken bir sayfaya ve sayfadan nasıl gidilip gidilmesiyle ilgili örneklere bakın

navigationOptions nesnesi aşağıdaki değerleri içerir.

Name Type Açıklama
target Sayı Sayfayı satır içinde açmak için belirtin 1 . Sayfayı bir iletişim kutusunda açmak için belirtin 2 .
Ayrıca, kalan değerler (genişlik, yükseklik ve konum) yalnızca bu değerde belirttiğinizde 2 (bir iletişim kutusunda açık sayfa) geçerlidir.
Not: Varlık listelerini yalnızca satır içinde açabilirsiniz. Varlık kayıtlarını, web kaynaklarını ve üretken sayfaları satır içinde veya iletişim kutusunda açabilirsiniz.
width Sayı veya Nesne (İsteğe bağlı) İletişim kutusunun genişliği. Piksel cinsinden genişliği belirtmek için sayısal bir değer yazın. Yüzde cinsinden genişliği belirtmek için, aşağıdaki özelliklere sahip SizeValue türünde bir nesne belirtin:
- value: Sayı türünün sayısal değeri.
- unit: Dize türündeki ölçü birimi. Şunu belirtin: % veya px. Varsayılan değer px olarak belirlenmiştir.
height Sayı veya Nesne (İsteğe bağlı) İletişim kutusunun yüksekliği. Piksel cinsinden yüksekliği belirtmek için sayısal bir değer yazın. Yüzde cinsinden genişliği belirtmek için, aşağıdaki özelliklere sahip SizeValue türünde bir nesne belirtin:
- değer: Sayı türünün sayısal değeri.
- unit: Dize türündeki ölçü birimi. Şunu belirtin: % veya px. Varsayılan değer px olarak belirlenmiştir.
position Sayı (İsteğe bağlı) İletişim kutusunu ortada açmak için belirtin 1 ; 2 uzak taraftaki iletişim kutusunu açın. Varsayılan değer ( 1 orta).
title Dize (İsteğe bağlı) Orta veya yan iletişim kutusunun üstündeki iletişim kutusu başlığı.

Dönüş değeri

Bir söz döndürür. Promise çözümlendiğinde geçirilen değer hedefe bağlıdır:

  • satır içi: Promise hemen çözülür ve hiçbir değer döndürmez.

  • iletişim kutusu: Promise, iletişim kutusu kapatıldığında çözülür. Bir nesne yalnızca ve formu oluşturma modunda açtıysanız pageType = entityRecord geçirilir. nesnesi, oluşturulan tablo kaydını tanımlamak için aşağıdaki özelliklere sahip bir savedEntityReference diziye sahiptir:

    • entityType: Tablonun mantıksal adı.
    • id: Kayıt için GUID değerinin dize gösterimi.
    • name: Görüntülenen veya oluşturulan kaydın birincil sütun değeri.

Example

Aşağıdaki örneklerde, satır içinde ve iletişim kutusunda farklı sayfa türlerine gitme işlemi gösterilmektedir.

Örnek 1: Hesap listesini açma

Ana hesap listesini satır içinde açar.

var pageInput = {
    pageType: "entitylist",
    entityName: "account"
};
Xrm.Navigation.navigateTo(pageInput).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Örnek 2: İletişim kutusunda var olan bir hesap kaydını açma

İletişim kutusunun içinde var olan bir hesap formunu açar.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account",
    entityId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee" //replace with actual ID
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Örnek 3: Bir iletişim kutusunda hesap formunu oluşturma modunda açma

Bir iletişim kutusunda hesap formunu oluşturma modunda açar ve kaydedildiğinde oluşturulan kayıt başvuruyu döndürür.

var pageInput = {
    pageType: "entityrecord",
    entityName: "account"    
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit:"%"},
    width: {value: 70, unit:"%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success(result) {
            console.log("Record created with ID: " + result.savedEntityReference[0].id + 
            " Name: " + result.savedEntityReference[0].name)
            // Handle dialog closed
    },
    function error() {
            // Handle errors
    }
);

Örnek 4: İletişim kutusunda HTML web kaynağı açma

İletişim kutusunda bir HTML web kaynağı açar.

var pageInput = {
    pageType: "webresource",
    webresourceName: "new_sample_webresource.htm"
};
var navigationOptions = {
    target: 2,
    width: 500, // value specified in pixel
    height: 400, // value specified in pixel
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Örnek 5: İletişim kutusunda giriş parametreleri içeren bir üretken sayfa açma

Bir kayıt kimliği, varlık adı ve özel veri parametreleri geçirerek ortalanmış bir iletişim kutusu olarak üretken bir sayfa açar. Bu parametreleri kabul etmek için üretken sayfa ayarlanmalıdır.

var pageInput = {
    pageType: "generative",
    pageId: "<genPageID>", // replace with the ID of your generative page
    recordId: "00aa00aa-bb11-cc22-dd33-44ee44ee44ee", // replace with actual record GUID
    entityName: "account",
    data: { status: "active", category: "premium" }
};
var navigationOptions = {
    target: 2,
    height: {value: 80, unit: "%"},
    width: {value: 70, unit: "%"},
    position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
    function success() {
            // Run code on success
    },
    function error() {
            // Handle errors
    }
);

Xrm.Navigation
Üretken bir sayfaya ve sayfadan gitme
Özel bir sayfaya veya sayfadan gezinme (önizleme)