openForm (referenční dokumentace k rozhraní API klienta)

Otevře formulář entity nebo formulář pro rychlé vytvoření.

Poznámka:

Chcete-li otevřít hlavní formulář jako dialogové okno, použijte metodu navigateTo . Další informace naleznete v tématu Otevření hlavního formuláře v dialogovém okně pomocí rozhraní API klienta.

Syntaxe

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

Parameters

Name Typ Povinné Popis
entityFormOptions entityFormOptions Yes Možnosti formuláře pro otevření formuláře
formParameters Objekt No Objekt slovníku, který do formuláře předává další parametry. Neplatné parametry způsobují chybu.

Informace o předávání parametrů do formuláře naleznete v tématu Nastavení hodnot sloupců pomocí parametrů předaných do formuláře a Konfigurace formuláře pro přijetí vlastních parametrů řetězce dotazu.
successCallback Funkce No Funkce, která se má provést, když je záznam uložen ve formuláři pro rychlé vytvoření. Tato funkce přijímá objekt jako parametr. Objekt má savedEntityReference pole s následujícími vlastnostmi pro identifikaci zobrazených nebo vytvořených záznamů:
- entityType: Logický název tabulky.
- id: Řetězcové vyjádření hodnoty GUID záznamu.
- name: Hodnota primárního sloupce zobrazeného nebo vytvořeného záznamu.

POZNÁMKA:
– Funkce successCallback se nespustí při otevření formuláře pro existující nebo nový záznam.
- Funkce successCallback se spustí pouze při uložení záznamu ve formuláři rychlého vytvoření, který jste otevřeli pomocí metody openForm.
errorCallback Funkce No Funkce, která se má provést, když se operace nezdaří.

entityFormOptions – objekt

Objekt obsahuje následující hodnoty:

Name Typ Povinné Popis
entityName Řetězec Yes Logický název tabulky pro zobrazení formuláře.
entityId Řetězec No ID záznamu tabulky pro zobrazení formuláře.
formId Řetězec No ID instance formuláře, která se má zobrazit.
cmdbar Bool No Označuje, zda se má zobrazit panel příkazů. Pokud tento parametr nezadáte, zobrazí se ve výchozím nastavení panel příkazů. Vyžaduje předání openInNewWindow parametru jako true.
createFromEntity Vyhledávání No Určuje záznam, který poskytuje výchozí hodnoty na základě mapovaných hodnot sloupců. Vyhledávací objekt má následující vlastnosti String: entityType, ida name (volitelné).
openInNewWindow Bool No Určuje, zda se má formulář zobrazit v novém okně nebo na nové kartě. Pokud zadáte a nezadáte true hodnoty pro výšku nebo šířku, formulář se zobrazí na nové kartě. Otevření formuláře v novém okně nebo na nové kartě zpomalí vykreslování formuláře ve srovnání s otevřením formuláře na stejné kartě. Zvažte možnost otevření formuláře v dialogovém okně hlavního formuláře. Tato vlastnost se v současné době nepodporuje pro formuláře rychlého vytvoření, protože je nelze otevřít v novém okně nebo kartě.
height Číslo No Výška okna formuláře, které má být zobrazeno v pixelech. Vyžaduje předání openInNewWindow parametru jako true.
width Číslo No Šířka okna formuláře, které má být zobrazeno v pixelech. Vyžaduje předání openInNewWindow parametru jako true.
navbar Řetězec No Určuje, zda se zobrazí navigační panel a zda je navigace v aplikaci dostupná pomocí oblastí a podoblastí definovaných v mapě webu. Platné hodnoty jsou: on, offnebo entity. Vyžaduje předání parametru openInNewWindow jako true.
- on: Zobrazí se navigační panel. Toto je výchozí chování, pokud se nepoužívá parametr navigačního panelu.
- off: Navigační panel se nezobrazuje. Uživatelé mohou navigovat pomocí jiných prvků uživatelského rozhraní nebo tlačítek Zpět a Vpřed.
- entity: Ve formuláři jsou k dispozici pouze možnosti navigace pro související tabulky. Po přechodu na související tabulku se na navigačním panelu zobrazí tlačítko Zpět, které umožní návrat k původnímu záznamu.
relationship Vztah No Definujte objekt relace pro zobrazení souvisejících záznamů ve formuláři.
selectedStageId Řetězec No ID vybrané fáze v instanci obchodního procesu.
useQuickCreateForm Bool No Určuje, zda se má formulář pro rychlé vytvoření otevřít. Tabulka musí mít povolenou možnost Povolit rychlé vytvoření , aby se zobrazil formulář pro rychlé vytvoření, a musíte také přidat tabulku a formulář pro rychlé vytvoření do aplikace. Pokud nezadáte hodnotu , výchozí hodnota useQuickCreateFormje nastavená na falsehodnotu .

objekt relace

Objekt má následující hodnoty.

Name Typ Popis
attributeName Řetězec Název sloupce použitého pro relaci
name Řetězec Název sloupce použitého pro relaci
navigationPropertyName Řetězec Název sloupce použitého pro relaci
relationshipType Číslo Typ vztahu. Zadejte jednu z následujících hodnot:
- 0:OneToMany
- 1:ManyToMany
roleType Číslo Typ role v relaci. Zadejte jednu z následujících hodnot:
- 1:Odkazování
- 2:AssociationEntity

Poznámky

Tuto metodu je nutné použít k otevření tabulky nebo rychlého vytvoření formulářů namísto zastaralé metody Xrm.Utility.openEntityForm a Xrm.Utility.openQuickCreate .

Pomocí setActiveProcess zobrazte konkrétní obchodní proces a setActiveProcessInstance k zobrazení konkrétní instance obchodního procesu ve formuláři.

Examples

Vzorek Popis
Otevření formuláře pro existující záznam Otevřete formulář kontaktu pro existující záznam zadáním jeho ID.
Otevření formuláře pro nový záznam Otevřete nový formulář kontaktu s výchozími hodnotami, včetně vyhledávání uživatelů.
Otevření formuláře pro nový záznam (komplexní vyhledávání) Otevřete nový e-mailový formulář s výchozími hodnotami a souvisejícím vyhledáváním, které určuje typ tabulky.
Otevření formuláře pro rychlé vytvoření Otevřete formulář rychlého vytvoření kontaktu s výchozími hodnotami.

Otevření formuláře pro příklad existujícího záznamu

Následující ukázkový kód otevře formulář kontaktu pro zobrazení existujícího záznamu kontaktu:

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

Otevření formuláře pro příklad nového záznamu

Následující ukázkový kód otevře formulář kontaktu s některými předem vyplněnými hodnotami pro vytvoření nového záznamu:

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

Otevření formuláře pro nový záznam (komplexní vyhledávání) – příklad

Následující ukázkový kód otevře formulář aktivity s některými předem vyplněnými hodnotami (včetně komplexního vyhledávání) pro vytvoření nového záznamu:

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

Otevření příkladu formuláře pro rychlé vytvoření

Následující ukázkový kód otevře formulář rychlého vytvoření kontaktu s některými předem vyplněnými hodnotami:

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