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

Открывает форму сущности или форму быстрого создания.

Замечание

Чтобы открыть основную форму в качестве диалогового окна, используйте вместо этого метод navigateTo . Дополнительная информация: Открытие основной формы в диалоге, используя клиентский API

Синтаксис

Xrm.Navigation.openForm(entityFormOptions, formParameters).then(successCallback, errorCallback);

Parameters

Name Type Обязательный Description
entityFormOptions Объект Yes Параметры формы для открытия формы. См . объект EntityFormOptions
formParameters Объект No Объект словаря, который передает дополнительные параметры в форму. Недопустимые параметры вызывают ошибку.

Сведения о передаче параметров в форму см. в разделе "Задание значений столбцов" с помощью параметров, передаваемых в форму , и настройка формы для принятия пользовательских параметров запроса.
successCallback Функция No Функция, выполняемая при сохранении записи в форме быстрого создания. Эта функция принимает объект в качестве параметра. Объект содержит savedEntityReference массив со следующими свойствами для идентификации записей, отображаемых или созданных:
- entityType: логическое имя таблицы.
- id: строковое представление значения GUID для записи.
- name: основное значение столбца записи, отображаемой или созданной.

Примечание.
successCallback— Функция не выполняется при открытии формы для существующей или новой записи.
successCallback— Функция выполняется только при сохранении записи в форме быстрого создания, которая была открыта с помощью метода openForm.
errorCallback Функция No Функция, выполняемая при сбое операции.

Объект entityFormOptions

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

Name Type Обязательный Description
entityName String Yes Логическое имя таблицы для отображения формы.
entityId String No Идентификатор записи таблицы для отображения формы.
formId String No Идентификатор отображаемого экземпляра формы.
cmdbar Булево No Указывает, следует ли отображать панель команд. Если этот параметр не указан, панель команд отображается по умолчанию. Требует передачи openInNewWindow параметра как true.
createFromEntity Lookup No Задает запись, которая предоставляет значения по умолчанию на основе сопоставленных значений столбцов. Объект подстановки имеет следующие свойства String: entityType, idи name (необязательно).
openInNewWindow Булево No Указывает, следует ли отображать форму в новом окне или новой вкладке. Если вы true указываете и не задаете значения высоты или ширины, форма отображается на новой вкладке. Открытие формы в новом окне или новая вкладка замедляет отрисовку формы по сравнению с открытием формы на той же вкладке. Вместо этого рассмотрите возможность открытия формы в диалоговом окне основной формы. Это свойство в настоящее время не поддерживается для форм быстрого создания, так как они не могут быть открыты в новом окне или вкладке.
height Номер No Высота отображаемого окна формы в пикселях. Требует передачи openInNewWindow параметра как true.
width Номер No Ширина отображаемого окна формы в пикселях. Требует передачи openInNewWindow параметра как true.
navbar String No Определяет, отображается ли панель навигации и доступна ли навигация по приложениям с использованием областей и подобластей, определенных в карте сайта. Допустимые значения: on, offили entity. Требует передачи параметра openInNewWindow в качестве true.
- on: отображается панель навигации. Это поведение по умолчанию, если параметр панели навигации не используется.
- off: панель навигации не отображается. Пользователи могут перемещаться с помощью других элементов пользовательского интерфейса или кнопок «Назад» и «Вперед».
- entity: в форме доступны только параметры навигации для связанных таблиц. После перехода к связанной таблице кнопка "Назад" отображается на панели навигации, чтобы разрешить возврат к исходной записи.
relationship Объект No Определите объект связи для отображения связанных записей в форме. См . объект связи
selectedStageId String No Идентификатор выбранного этапа в экземпляре бизнес-процессов.
useQuickCreateForm Булево No Указывает, следует ли открывать форму быстрого создания. В таблице должен быть включен параметр "Разрешить быстрое создание" для отображения формы быстрого создания, а также необходимо добавить таблицу и быструю форму создания в приложение. Если значение не указано useQuickCreateForm, по умолчанию задано falseзначение .

Объект связи

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

Name Type Description
attributeName String Имя столбца, используемого для связи.
name String Имя столбца, используемого для связи.
navigationPropertyName String Имя столбца, используемого для связи.
relationshipType Номер Тип отношений. Укажите одно из следующих значений:
- 0:OneToMany
- 1:МногиеToMany
roleType Номер Тип роли в связи. Укажите одно из следующих значений:
- 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"] = "contact@adventure-works.com";
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"] = "contact@adventure-works.com";
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);
    });

Xrm.Navigation