openForm (klient-API-referens)

Öppnar ett entitetsformulär eller ett snabbregistreringsformulär.

Anmärkning

Om du vill öppna ett huvudformulär som en dialogruta använder du metoden navigateTo i stället. Mer information: Öppna huvudformulär i en dialogruta med hjälp av klient-API

Syntax

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

Parameters

Name Type Obligatoriskt Description
entityFormOptions Objekt Yes Formuläralternativ för att öppna formuläret. Se entityFormOptions-objekt
formParameters Objekt No Ett ordlisteobjekt som skickar extra parametrar till formuläret. Ogiltiga parametrar orsakar ett fel.

Information om hur du skickar parametrar till ett formulär finns i Ange kolumnvärden med parametrar som skickas till ett formulär och Konfigurera ett formulär för att acceptera anpassade frågesträngsparametrar.
successCallback Funktion No En funktion som ska köras när posten sparas i snabbskapningsformuläret. Den här funktionen accepterar ett objekt som en parameter. Objektet har en savedEntityReference matris med följande egenskaper för att identifiera de poster som visas eller skapas:
- entityType: Tabellens logiska namn.
- id: En strängrepresentation av ett GUID-värde för posten.
- name: Det primära kolumnvärdet för posten som visas eller skapas.

OBS!
– Funktionen successCallback körs inte när du öppnar ett formulär för en befintlig eller ny post.
– Funktionen successCallback körs bara när du sparar en post i ett snabbskapningsformulär som öppnades med metoden openForm.
errorCallback Funktion No En funktion som ska köras när åtgärden misslyckas.

entityFormOptions-objekt

Objektet innehåller följande värden:

Name Type Obligatoriskt Description
entityName Sträng Yes Logiskt namn på tabellen som formuläret ska visas för.
entityId Sträng No ID för tabellposten som formuläret ska visas för.
formId Sträng No ID för formulärinstansen som ska visas.
cmdbar Bool No Anger om kommandofältet ska visas. Om du inte anger den här parametern visas kommandofältet som standard. Kräver att parametern skickas openInNewWindow som true.
createFromEntity Sökning No Anger en post som tillhandahåller standardvärden baserat på mappade kolumnvärden. Uppslagsobjektet har följande strängegenskaper: entityType, idoch name (valfritt).
openInNewWindow Bool No Anger om formuläret ska visas i ett nytt fönster eller en ny flik. Om du anger true och inte anger värden för höjd eller bredd visas formuläret på en ny flik. Om du öppnar ett formulär i ett nytt fönster eller en ny flik blir återgivningen av formuläret långsam jämfört med att öppna formuläret på samma flik. Överväg att öppna ett formulär i huvudformulärdialogrutan i stället. Den här egenskapen stöds för närvarande inte för snabbskapningsformulär, eftersom de inte kan öppnas i ett nytt fönster eller en ny flik.
height Nummer No Höjden på formulärfönstret som ska visas i pixlar. Kräver att parametern skickas openInNewWindow som true.
width Nummer No Bredden på formulärfönstret som ska visas i pixlar. Kräver att parametern skickas openInNewWindow som true.
navbar Sträng No Styr om navigeringsfältet visas och om programnavigering är tillgänglig med hjälp av de områden och delområden som definieras i webbplatskartan. Giltiga värden är: on, offeller entity. Kräver att openInNewWindow-parametern skickas som true.
- on: Navigeringsfältet visas. Det här är standardbeteendet om navbarparametern inte används.
- off: Navigeringsfältet visas inte. Personer kan navigera med hjälp av andra element i användargränssnittet eller bakåt- och framåtknapparna.
- entity: I ett formulär är endast navigeringsalternativen för relaterade tabeller tillgängliga. När du har navigerat till en relaterad tabell visas en bakåtknapp i navigeringsfältet så att den kan återgå till den ursprungliga posten.
relationship Objekt No Definiera ett relationsobjekt för att visa relaterade poster i formuläret. Se relationsobjekt
selectedStageId Sträng No ID för den valda fasen i affärsprocessinstansen.
useQuickCreateForm Bool No Anger om du vill öppna ett formulär för snabbskapande. Tabellen måste ha alternativet Tillåt snabbskapning aktiverat för att snabbregistreringsformuläret ska visas och du måste också lägga till tabellen och snabbformuläret i din app. Om du inte anger värdet useQuickCreateFormför är standardvärdet inställt på false.

relationsobjekt

Objektet har följande värden.

Name Type Description
attributeName Sträng Namnet på kolumnen som används för relationen.
name Sträng Namnet på kolumnen som används för relationen.
navigationPropertyName Sträng Namnet på kolumnen som används för relationen.
relationshipType Nummer Typ av relation. Ange något av följande värden:
- 0:OneToMany
- 1:ManyToMany
roleType Nummer Rolltyp i relation. Ange något av följande värden:
- 1:Referera till
- 2:AssociationEntity

Kommentarer

Du måste använda den här metoden för att öppna tabell- eller snabbskapandeformulär i stället för de inaktuella metoderna Xrm.Utility.openEntityForm och Xrm.Utility.openQuickCreate .

Använd setActiveProcess för att visa en viss affärsprocess och setActiveProcessInstance för att visa en viss affärsprocessinstans i formuläret.

Exempel

Exempel 1: Öppna ett formulär för befintlig post

Följande exempelkod öppnar ett kontaktformulär för att visa en befintlig kontaktpost:

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

Exempel 2: Öppna ett formulär för ny post

Följande exempelkod öppnar ett kontaktformulär med några förifyllda värden för att skapa en ny post:

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

Exempel 3: Öppna ett formulär för ny post (komplex sökning)

Följande exempelkod öppnar ett aktivitetsformulär med vissa förifyllda värden (inklusive ett komplext uppslag) för att skapa en ny post:

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

Exempel 4: Öppna ett snabbformulär

Följande exempelkod öppnar ett snabbformulär för att skapa kontakt med några förifyllda värden:

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