Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Открывает форму сущности или форму быстрого создания.
Замечание
Чтобы открыть основную форму в качестве диалогового окна, используйте вместо этого метод navigateTo . Дополнительные сведения: открытие основной формы в диалоговом окне с помощью клиентского API
Синтаксис
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);
Параметры
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
entityFormOptions |
Object | Да | Параметры формы для открытия формы. См . объект EntityFormOptions |
formParameters |
Object | нет | Объект словаря, который передает дополнительные параметры в форму. Неверные параметры приведут к ошибке. Сведения о передаче параметров в форму см. в разделе "Задание значений столбцов" с помощью параметров, передаваемых в форму , и настройка формы для принятия пользовательских параметров запроса. |
successCallback |
Функция | нет | Функция, выполняемая при сохранении записи в форме быстрого создания. Эта функция передает объект в качестве параметра. Объект содержит savedEntityReference массив со следующими свойствами для идентификации записей, отображаемых или созданных:- entityType: логическое имя таблицы.- id: строковое представление значения GUID для записи.- name: основное значение столбца записи, отображаемой или созданной.Примечание. successCallback— Функция не выполняется при открытии формы для существующей или новой записи.successCallback— Функция выполняется только при сохранении записи в форме быстрого создания, которая была открыта с помощью метода openForm. |
errorCallback |
Функция | нет | Функция, выполняемая при сбое операции. |
Объект entityFormOptions
Объект содержит следующие значения:
| Имя | Тип | Обязательно | Description |
|---|---|---|---|
entityName |
String | Да | Логическое имя таблицы для отображения формы. |
entityId |
String | нет | Идентификатор записи таблицы для отображения формы. |
formId |
String | нет | Идентификатор отображаемого экземпляра формы. |
cmdbar |
Булев | нет | Указывает, следует ли отображать панель команд. Если этот параметр не указан, панель команд отображается по умолчанию. Требует передачи openInNewWindow параметра как true. |
createFromEntity |
Lookup | нет | Задает запись, которая будет предоставлять значения по умолчанию на основе сопоставленных значений столбцов. Объект подстановки имеет следующие свойства String: entityType, idи name (необязательно). |
openInNewWindow |
Булев | нет | Указывает, следует ли отображать форму в новом окне или новой вкладке. Если вы true указываете и не указываете значения высоты или ширины, форма будет отображаться на новой вкладке. Открытие формы в новом окне или новая вкладка замедляет отрисовку формы по сравнению с открытием формы на той же вкладке. Вместо этого рассмотрите возможность открытия формы в диалоговом окне основной формы. Это свойство в настоящее время не поддерживается для форм быстрого создания, так как они не могут быть открыты в новом окне или вкладке. |
height |
Number | нет | Высота отображаемого окна формы в пикселях. Требует передачи openInNewWindow параметра как true. |
width |
Number | нет | Ширина отображаемого окна формы в пикселях. Требует передачи openInNewWindow параметра как true. |
navbar |
String | нет | Определяет, отображается ли панель навигации и доступна ли навигация по приложениям с использованием областей и подобластей, определенных в карте сайта. Допустимые значения: on, offили entity. Требует передачи параметра openInNewWindow в качестве true.- on: отображается панель навигации. Это поведение по умолчанию, если параметр навигации не используется.- off: панель навигации не отображается. Пользователи могут перемещаться с помощью других элементов пользовательского интерфейса или кнопок «Назад» и «Вперед».- entity: в форме доступны только параметры навигации для связанных таблиц. После перехода к связанной таблице кнопка "Назад" отображается на панели навигации, чтобы разрешить возврат к исходной записи. |
relationship |
Object | нет | Определите объект связи для отображения связанных записей в форме. См . объект связи |
selectedStageId |
String | нет | Идентификатор выбранного этапа в экземпляре бизнес-процессов. |
useQuickCreateForm |
Булев | нет | Указывает, следует ли открывать форму быстрого создания. В таблице должен быть включен параметр "Разрешить быстрое создание" для отображения формы быстрого создания, а также необходимо добавить таблицу и быструю форму создания в приложение. Если значение не указано useQuickCreateForm, по умолчанию будет задано falseзначение . |
Объект связи
Объект имеет следующие значения.
| Имя | Тип | Description |
|---|---|---|
attributeName |
String | Имя столбца, используемого для связи. |
name |
String | Имя столбца, используемого для связи. |
navigationPropertyName |
String | Имя столбца, используемого для связи. |
relationshipType |
Number | Тип отношений. Укажите одно из следующих значений: - 0:OneToMany - 1:МногиеToMany |
roleType |
Number | Тип роли в связи. Укажите одно из следующих значений: - 1:Ссылка - 2:AssociationEntity |
Замечания
Этот метод необходимо использовать для открытия таблиц или быстрого создания форм вместо устаревших методов Xrm.Utility.openEntityForm и Xrm.Utility.openQuickCreate .
Используйте setActiveProcess для отображения определенного бизнес-процесса и setActiveProcessInstance для отображения конкретного экземпляра бизнес-процессов в форме.
Примеры
Пример 1. Открытие формы для существующей записи
В следующем примере кода откроется форма контакта для отображения существующей записи контакта:
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["entityId"] = "00aa00aa-bb11-cc22-dd33-44ee44ee44ee";
// Open the form.
Xrm.Navigation.openForm(entityFormOptions).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
Пример 2. Открытие формы для новой записи
В следующем примере кода открывается форма контакта с некоторыми предварительно заполненными значениями для создания новой записи:
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "[email protected]";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
Пример 3. Открытие формы для новой записи (сложный поиск)
В следующем примере кода открывается форма действия с некоторыми предварительно заполненными значениями (включая сложную подстановку) для создания новой записи:
var entityFormOptions = {};
entityFormOptions["entityName"] = "email";
// Set default values for the Contact form
var formParameters = {};
formParameters["subject"] = "Sample";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["regardingobjectid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["regardingobjectidname"] = "Admin user"; // Name of the user.
formParameters["regardingobjectidtype"] = "systemuser"; // Table name.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});
Пример 4. Открытие формы быстрого создания
В следующем примере кода открывается форма быстрого создания контакта с некоторыми предварительно заполненными значениями:
var entityFormOptions = {};
entityFormOptions["entityName"] = "contact";
entityFormOptions["useQuickCreateForm"] = true;
// Set default values for the Contact form
var formParameters = {};
formParameters["firstname"] = "Sample";
formParameters["lastname"] = "Contact";
formParameters["fullname"] = "Sample Contact";
formParameters["emailaddress1"] = "[email protected]";
formParameters["jobtitle"] = "Sr. Marketing Manager";
formParameters["donotemail"] = "1";
formParameters["description"] = "Default values for this record were set programmatically.";
// Set lookup column
formParameters["preferredsystemuserid"] = "3493e403-fc0c-eb11-a813-002248e258e0"; // ID of the user.
formParameters["preferredsystemuseridname"] = "Admin user"; // Name of the user.
formParameters["preferredsystemuseridtype"] = "systemuser"; // Table name.
// End of set lookup column
// Open the form.
Xrm.Navigation.openForm(entityFormOptions, formParameters).then(
function (success) {
console.log(success);
},
function (error) {
console.log(error);
});