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


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

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

Замечание

Чтобы открыть основную форму в качестве диалогового окна, используйте вместо этого метод 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);
    });

Xrm.Navigation