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 finns i Ö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 entityFormOptions Yes Formuläralternativ för att öppna formuläret.
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 du öppnade med hjälp av 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 Förhållande No Definiera ett relationsobjekt för att visa relaterade poster i formuläret.
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

Sample Description
Öppna ett formulär för befintlig post Öppna ett kontaktformulär för en befintlig post genom att ange dess ID.
Öppna ett formulär för ny post Öppna ett nytt kontaktformulär med standardvärden, inklusive en användarsökning.
Öppna ett formulär för ny post (komplex sökning) Öppna ett nytt e-postformulär med standardvärden och ett om uppslag som anger tabelltypen.
Öppna ett snabbformulär Öppna ett snabbformulär för att skapa kontakter med standardvärden.

Öppna ett formulär för befintligt postexempel

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

Öppna ett formulär för nytt postexempel

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

Öppna ett formulär för ett nytt postexempel (komplex sökning)

Följande exempelkod öppnar ett aktivitetsformulär med några 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);
    });

Öppna ett snabbformulärexempel

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