Поделиться через


navigateTo (справочник по КЛИЕНТСКОму API)

Переходит к указанному списку таблиц, записи таблицы, веб-ресурсу HTML или пользовательской странице.

Замечание

Этот метод поддерживается только в едином интерфейсе.

Синтаксис

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

Параметры

Имя Тип Обязательно Description
pageInput Object Да Входные данные о странице для перехода. См . параметр pageInput
navigationOptions Object нет Параметры перехода на страницу: открытие встроенного или диалогового окна. Если этот параметр не указан, страница открывается встроенной по умолчанию.
successCallback function нет Функция, выполняемая при успешной навигации на страницу при переходе в строку и при закрытии диалогового окна при переходе к диалогу.
errorCallback Функция нет Функция, выполняемая при сбое операции.

параметр pageInput

Определение объекта изменяется в зависимости от типа страницы, на которой нужно перейти: список сущностей, запись сущностей, панель мониторинга, веб-ресурс HTML или пользовательская страница.

Список сущностей

Объект списка сущностей содержит следующие значения.

Имя Тип Description
pageType String Укажите entitylist.
entityName String Логическое имя таблицы, загружаемой в элементе управления списком.
viewId String (Необязательно) Идентификатор загружаемого представления. Если он не указан, перейдите к основному представлению таблицы по умолчанию.
viewType String (Необязательно) Тип представления для загрузки. Укажите savedquery или userquery.

Запись сущности

Объект записи сущности содержит следующие значения.

Имя Тип Description
pageType String Укажите entityrecord.
entityName String Логическое имя таблицы для отображения формы.
entityId String (Необязательно) Идентификатор записи таблицы для отображения формы. Если это значение не указано, форма будет открыта в режиме создания.
createFromEntity Lookup (Необязательно) Задает запись, которая будет предоставлять значения по умолчанию на основе сопоставленных значений столбцов. Объект подстановки имеет следующие свойства String: entityType, id и name (необязательно).
data Object (Необязательно) Объект словаря, который передает дополнительные параметры в форму.

Параметры могут быть столбцами таблицы со значениями по умолчанию, заданными в новых формах (см. раздел "Задание значений столбцов с использованиемformContext.data.attributes параметров, передаваемых в форму") или настраиваемых параметров, доступных в форме (см. статью "Настройка формы для принятия пользовательских параметров запроса" и formContext.data). Неверные параметры приведут к ошибке.

formId String (Необязательно) Идентификатор отображаемого экземпляра формы.
isCrossEntityNavigate Boolean (Необязательно) Указывает, переходит ли форма из другой таблицы с помощью потока бизнес-процессов между таблицами.
isOfflineSyncError Boolean (Необязательно) Указывает, существуют ли ошибки автономной синхронизации.
processId String (Необязательно) Идентификатор бизнес-процесса, отображаемого в форме.
processInstanceId String (Необязательно) Идентификатор экземпляра бизнес-процесса, отображаемого в форме.
relationship Object (Необязательно) Определите объект связи для отображения связанных записей в форме. См. связь.
selectedStageId String (Необязательно) Идентификатор выбранного этапа в экземпляре бизнес-процессов.
tabName String (Необязательно) Задает фокус на вкладке формы.
Объект связи

Объект связи, используемый в записи сущности, содержит следующие значения.

Имя Тип Description
attributeName String Имя столбца, используемого для связи.
name String Название отношения.
navigationPropertyName String Имя свойства навигации для этой связи.
relationshipType Number Тип отношений. Укажите одно из следующих значений: 0:OneToMany, 1:ManyToMany.
roleType Number Тип роли в связи. Укажите одно из следующих значений: 1:Ссылка, 2:AssociationEntity.

Dashboard

Объект панели мониторинга содержит следующие значения.

Имя Тип Description
pageType String Укажите dashboard.
dashboardId String Идентификатор загружаемой панели мониторинга. Если идентификатор не указан, перейдите на панель мониторинга по умолчанию.

Веб-ресурс HTML

Объект веб-ресурса HTML содержит следующие значения.

Имя Тип Description
pageType String Укажите webresource.
webresourceName String Имя загружаемого веб-ресурса.
data String (Необязательно) Данные для передачи в веб-ресурс.

Настраиваемая страница

Объект пользовательской страницы содержит следующие значения.

Имя Тип Description
pageType String Укажите custom.
name String Логическое имя настраиваемой страницы, открываемой.
entityName String (Необязательно) Логическое имя таблицы, доступное на настраиваемой странице Param("entityName").
recordId String (Необязательно) Идентификатор записи таблицы, доступной на пользовательской странице.Param("recordId")

Объект navigationOptions содержит следующие значения.

Имя Тип Description
target Number Укажите 1 , чтобы открыть встроенную страницу; 2 чтобы открыть страницу в диалоговом окне.
Кроме того, остальные значения (ширина, высота и позиция) допустимы только в том случае, если в этом значении указано 2 (открытая страница в диалоговом окне).
Примечание. Списки сущностей можно открывать только встроенными; записи сущностей и веб-ресурсы можно открывать как встроенными, так и в диалоговом окне.
width Число или объект (Необязательно) Ширина диалогового окна. Чтобы указать ширину в пикселях, просто введите числовое значение. Чтобы указать ширину в процентах, укажите объект типа SizeValue со следующими свойствами:
- value: числовое значение типа Number.
- unit: единица измерения типа String. Укажите % или px. Значение по умолчанию: px.
height Число или объект (Необязательно) Высота диалогового окна. Чтобы указать высоту в пикселях, просто введите числовое значение. Чтобы указать ширину в процентах, укажите объект типа SizeValue со следующими свойствами:
— значение: числовое значение типа Number.
— единица измерения типа String. Укажите % или px. Значение по умолчанию: px.
position Number (Необязательно) Укажите 1 , чтобы открыть диалоговое окно в центре; 2 чтобы открыть диалоговое окно на боковой стороне. Значение по умолчанию — 1 (центр).
title String (Необязательно) Заголовок диалогового окна в верхней части центра или бокового диалогового окна.

Возвращаемое значение

Возвращает обещание. Значение, передаваемое при разрешении обещания, зависит от целевого объекта:

  • встроенное: обещание разрешается сразу и не возвращает никакое значение.

  • диалоговое окно: обещание разрешается при закрытии диалогового окна. Объект передается только в том случае, если pageType = entityRecord форма открыта в режиме создания. Объект содержит savedEntityReference массив со следующими свойствами, чтобы определить созданную запись таблицы:

    • entityType: логическое имя таблицы.
    • id: строковое представление значения GUID для записи.
    • имя: основное значение столбца отображаемой или созданной записи.

Example

Пример 1. Открытие списка учетных записей

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

Пример 2. Открытие существующей записи учетной записи в диалоговом окне

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
    }
);

Пример 3. Открытие формы учетной записи в режиме создания в диалоговом окне

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
    }
);

Пример 4. Открытие веб-ресурса HTML в диалоговом окне

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
    }
);

Xrm.Navigation
Переход на пользовательскую страницу (предварительная версия) и на нее