Udostępnij przez


openForm (dokumentacja interfejsu API klienta)

Otwiera formularz encji lub formularz szybkiego tworzenia.

Uwaga / Notatka

Aby otworzyć formularz główny jako okno dialogowe, zamiast tego użyj metody navigateTo . Więcej informacji: Otwieranie głównego formularza w dialogu przy użyciu interfejsu API klienta

Składnia

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

Parametry

Name Typ Wymagane Description
entityFormOptions Object Tak Opcje formularza do otwierania formularza. Zobacz obiekt entityFormOptions
formParameters Object Nie. Obiekt słownika, który przekazuje dodatkowe parametry do formularza. Nieprawidłowe parametry spowodują błąd.

Aby uzyskać informacje o przekazywaniu parametrów do formularza, zobacz Ustawianie wartości kolumn przy użyciu parametrów przekazywanych do formularza i Konfigurowanie formularza w celu akceptowania niestandardowych parametrów tworzenia zapytań.
successCallback Funkcja Nie. Funkcja do wykonania podczas zapisywania rekordu w formularzu szybkiego tworzenia. Ta funkcja jest przekazywana obiekt jako parametr. Obiekt ma tablicę savedEntityReference z następującymi właściwościami, aby zidentyfikować wyświetlane lub utworzone rekordy:
- entityType: logiczna nazwa tabeli.
- id: ciąg reprezentujący wartość identyfikatora GUID dla rekordu.
- name: wartość kolumny podstawowej wyświetlanego lub utworzonego rekordu.

UWAGA:
- Funkcja successCallback nie jest wykonywana po otwarciu formularza dla istniejącego lub nowego rekordu.
successCallback— Funkcja jest wykonywana tylko podczas zapisywania rekordu w formularzu szybkiego tworzenia, który został otwarty przy użyciu metody openForm.
errorCallback Funkcja Nie. Funkcja do wykonania, gdy operacja zakończy się niepowodzeniem.

entityFormOptions, obiekt

Obiekt zawiera następujące wartości:

Name Typ Wymagane Description
entityName Sznurek Tak Logiczna nazwa tabeli do wyświetlenia formularza.
entityId Sznurek Nie. Identyfikator rekordu tabeli do wyświetlenia formularza.
formId Sznurek Nie. Identyfikator wystąpienia formularza do wyświetlenia.
cmdbar bool Nie. Wskazuje, czy ma być wyświetlany pasek poleceń. Jeśli ten parametr nie zostanie określony, pasek poleceń zostanie wyświetlony domyślnie. Wymaga przekazania openInNewWindow parametru jako true.
createFromEntity Szukaj Nie. Wyznacza rekord, który będzie dostarczać wartości domyślne na podstawie zamapowanych wartości kolumn. Obiekt odnośnika ma następujące właściwości Ciąg: entityType, idi name (opcjonalnie).
openInNewWindow bool Nie. Wskazuje, czy formularz ma być wyświetlany w nowym oknie, czy na nowej karcie. Jeśli określisz true i nie określisz wartości wysokości lub szerokości, formularz zostanie wyświetlony na nowej karcie. Otwarcie formularza w nowym oknie lub nowa karta powoduje spowolnienie renderowania formularza w porównaniu z otwarciem formularza na tej samej karcie; rozważ otwarcie formularza w oknie dialogowym formularza głównego. Ta właściwość nie jest obecnie obsługiwana w przypadku formularzy szybkiego tworzenia, ponieważ nie można ich otworzyć w nowym oknie lub karcie.
height Number Nie. Wysokość okna formularza do wyświetlenia w pikselach. Wymaga przekazania openInNewWindow parametru jako true.
width Number Nie. Szerokość okna formularza do wyświetlenia w pikselach. Wymaga przekazania openInNewWindow parametru jako true.
navbar Sznurek Nie. Określa, czy pasek nawigacyjny jest wyświetlany i czy nawigacja aplikacji jest dostępna przy użyciu obszarów i podobszarów zdefiniowanych na mapie witryny. Prawidłowe wartości to: on, offlub entity. Wymaga przekazania parametru openInNewWindow jako true.
- on: zostanie wyświetlony pasek nawigacyjny. Jest to zachowanie domyślne, jeśli parametr paska nawigacyjnego nie jest używany.
- off: pasek nawigacyjny nie jest wyświetlany. Użytkownicy mogą nawigować za pomocą innych elementów interfejsu użytkownika lub przycisków Wstecz i Dalej.
- entity: W formularzu są dostępne tylko opcje nawigacji dla powiązanych tabel. Po przejściu do powiązanej tabeli na pasku nawigacyjnym zostanie wyświetlony przycisk Wstecz, aby umożliwić powrót do oryginalnego rekordu.
relationship Object Nie. Zdefiniuj obiekt relacji, aby wyświetlić powiązane rekordy w formularzu. Zobacz obiekt relacji
selectedStageId Sznurek Nie. Identyfikator wybranego etapu w wystąpieniu procesu biznesowego.
useQuickCreateForm bool Nie. Wskazuje, czy otworzyć formularz szybkiego tworzenia. Tabela musi mieć włączoną opcję Zezwalaj na szybkie tworzenie , aby można było wyświetlić formularz szybkiego tworzenia, a także dodać tabelę i formularz szybkiego tworzenia do aplikacji. Jeśli nie określisz wartości useQuickCreateForm, wartość domyślna zostanie ustawiona na falsewartość .

obiekt relacji

Obiekt ma następujące wartości.

Name Typ Description
attributeName Sznurek Nazwa kolumny używanej dla relacji.
name Sznurek Nazwa kolumny używanej dla relacji.
navigationPropertyName Sznurek Nazwa kolumny używanej dla relacji.
relationshipType Number Typ relacji. Określ jedną z następujących wartości:
- 0:OneToMany
- 1:ManyToMany
roleType Number Typ roli w relacji. Określ jedną z następujących wartości:
- 1:Odwoływanie się
- 2:AssociationEntity

Uwagi

Ta metoda służy do otwierania tabel lub szybkich formularzy tworzenia zamiast przestarzałych metod Xrm.Utility.openEntityForm i Xrm.Utility.openQuickCreate .

Użyj polecenia setActiveProcess , aby wyświetlić określony proces biznesowy i ustawić wartośćActiveProcessInstance w celu wyświetlenia określonego wystąpienia procesu biznesowego w formularzu.

Przykłady

Przykład 1. Otwieranie formularza dla istniejącego rekordu

Poniższy przykładowy kod otwiera formularz kontaktu w celu wyświetlenia istniejącego rekordu 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);
    });

Przykład 2. Otwieranie formularza dla nowego rekordu

Poniższy przykładowy kod otwiera formularz kontaktowy z wstępnie wypełnionymi wartościami w celu utworzenia nowego rekordu:

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

Przykład 3. Otwieranie formularza dla nowego rekordu (złożone wyszukiwanie)

Poniższy przykładowy kod otwiera formularz działania z wstępnie wypełnionymi wartościami (w tym złożonym wyszukiwaniem), aby utworzyć nowy rekord:

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

Przykład 4. Otwieranie formularza szybkiego tworzenia

Poniższy przykładowy kod otwiera formularz szybkiego tworzenia kontaktu z wstępnie wypełnionymi wartościami:

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