openForm (довідник із інтерфейсу API клієнта)

Відкриває форму сутності або форму швидкого створення.

Примітка

Щоб відкрити головну форму як діалогове вікно, скористайтеся методом navigateTo . Додаткові відомості: Відкриття головної форми в діалоговому вікні за допомогою клієнтського API

Синтаксис

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

Параметри

Ім'я Тип Обов'язковий Опис
entityFormOptions Об'єкт Так Параметри форми для відкриття форми. Переглянути об'єкт EntityFormOptions
formParameters Об'єкт Ні Об'єкт словника, який передає додаткові параметри у форму. Неприпустимі параметри спричиняють помилку.

Відомості про передачу параметрів до форми див. в статті Установлення значень стовпців за допомогою переданих до форми параметрів і Настроювання форми для прийняття спеціальних параметрів запиту.
successCallback Function Ні Функція, яка виконується, коли запис зберігається у формі швидкого створення. Ця функція приймає об'єкт як параметр. Об'єкт має savedEntityReference масив із такими властивостями, щоб визначити записи, які відображаються або створюються:
- entityType: Логічне ім'я таблиці.
- id: представлення рядка значення GUID для запису.
- name: значення основного стовпця запису, який відображається або створено.

ПРИМІТКА:
- Функція successCallback не виконується під час відкриття форми для наявного або нового запису.
- Функція successCallback виконується, лише якщо зберегти запис у формі швидкого створення, відкритій за допомогою методу openForm.
errorCallback Function Ні Функція, яку слід виконати, коли операція не вдається.

об'єкт entityFormOptions

Об'єкт містить такі значення:

Ім'я Тип Обов'язковий Опис
entityName Рядок Так Логічне ім'я таблиці для відображення форми.
entityId Рядок Ні Ідентифікатор запису таблиці для відображення форми.
formId Рядок Ні Ідентифікатор екземпляра форми для відображення.
cmdbar Bool (Логічне значення) Ні Вказує, чи потрібно відображати панель команд. Якщо не вказати цей параметр, панель команд відображається за замовчуванням. Потрібно передати openInNewWindow параметр як істинний.
createFromEntity Підстановка Ні Визначає запис, який надає значення за замовчуванням на основі зіставлених значень стовпців. Об'єкт підстановки має такі властивості string: entityType, id, і name (необов'язково).
openInNewWindow Bool (Логічне значення) Ні Указує, чи потрібно відображати форму в новому вікні або новій вкладці. Якщо вказати true та не вказувати значення висоти або ширини, форма відображатиметься на новій вкладці. Якщо відкрити форму в новому вікні або на новій вкладці, відтворення форми сповільниться порівняно з відкриттям форми на тій самій вкладці; натомість можна відкрити форму в головному діалоговому вікні форми. Ця властивість наразі не підтримується для форм швидкого створення, оскільки її не можна відкрити в новому вікні або вкладці.
height Число Ні Висота вікна форми, яка буде відображатися в пікселях. Потрібно передати openInNewWindow параметр як істинний.
width Число Ні Ширина вікна форми, яке буде відображатися в пікселях. Потрібно передати openInNewWindow параметр як істинний.
navbar Рядок Ні Контролює, чи відображається панель навігації та чи доступна навігація додатком за допомогою областей та підобластей, визначених на карті сайту. Припустимі значення: on, , offабо entity. Потрібно передати параметр OpenInNewWindow як значення true.
- on: з'явиться панель переходів. Це стандартна поведінка, якщо параметр панелі переходів не використовується.
- off: панель переходів не відображається. Люди можуть здійснювати навігацію за допомогою інших елементів інтерфейсу користувача або кнопок «Назад» і «Вперед».
- entity: У формі доступні лише параметри навігації для пов'язаних таблиць. Після переходу до пов'язаної таблиці на панелі переходів з'явиться кнопка "Назад", яка дає змогу повернутися до вихідного запису.
relationship Об'єкт Ні Визначення об'єкта зв'язку для відображення пов'язаних записів у формі. Переглянути об'єкт зв'язку
selectedStageId Рядок Ні Ідентифікатор вибраної стадії в екземплярі бізнес-процесу.
useQuickCreateForm Bool (Логічне значення) Ні Указує, чи слід відкривати форму швидкого створення. У таблиці має бути ввімкнуто параметр Дозволити швидке створення для відображення форми швидкого створення, а також додати таблицю та форму швидкого створення до програми. Якщо не вказати значення useQuickCreateForm, за замовчуванням установлено значення false.

об'єкт зв'язку

Об'єкт має наведені нижче значення.

Ім'я Тип Опис
attributeName Рядок Ім'я стовпця, який використовується для зв'язку.
name Рядок Ім'я стовпця, який використовується для зв'язку.
navigationPropertyName Рядок Ім'я стовпця, який використовується для зв'язку.
relationshipType Число Тип відносин. Укажіть одне з таких значень:
- 0:OneToMany;
- 1:ManyToMany
roleType Число Тип ролі у зв'язку. Укажіть одне з таких значень:
- 1:Посилання
- 2:AssociationEntity

Примітки

Цей метод слід використовувати, щоб відкривати таблиці або форми швидкого створення замість застарілих методів Xrm.Utility.openEntityForm і Xrm.Utility.openQuickCreate .

Використовуйте setActiveProcess , щоб відобразити певний бізнес-процес і встановитиActiveProcessInstance для відображення певного екземпляра бізнес-процесу у формі.

Приклади

Приклад 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