Personnaliser les formulaires
Les formulaires constituent une interface utilisateur qui permet aux utilisateurs de créer, d′afficher ou de modifier les enregistrements de tables. Utilisez le concepteur de formulaire dans les outils de personnalisation pour créer et modifier les formulaires. Pour plus d′informations : Créer et concevoir des formulaires pour obtenir des informations sur les tâches liées à l′utilisation des formulaires dans l′application.
Cette rubrique fournira des informations requises pour créer ou modifier des formulaires par programme.
Accès aux définitions de formulaire
Les formulaires sont enregistrés dans la table SystemForm
avec les tableaux de bord et les visualisations. Il existe deux méthodes pour inspecter les définitions de formulaire pour une table :
Incluez la table dans une solution non gérée et exportez la solution.
Interroger la table
SystemForm
Afficher FormXML à partir d′une table exportée
Seules les définitions des formulaires système qui ont été personnalisées sont incluses dans la solution gérée exportée. Pour afficher la définition d′un formulaire système, vous devez la modifier d′une façon ou d′une autre, ou créer un formulaire en enregistrant le formulaire existant avec un nouveau nom.
Après avoir exporté la solution, extrayez le contenu et affichez le fichier customizations.xml. Vous trouverez la définition des formulaires dans ImportExportXml
> Entities
> Entity
> FormXml
. Dans le nœud <FormXml>
, chaque type de formulaire est regroupé dans un élément <forms>
avec le paramètre type
spécifiant le type de formulaire.
Propriétés du formulaire
Le tableau suivant décrit les colonnes de table SystemForm
clés et les données correspondantes incluses dans les éléments XML exportés avec la solution.
Propriété SystemForm | Élément FormXML | Description |
---|---|---|
AncestorFormId |
<ancestor> |
Identificateur unique du formulaire parent. Défini lorsque vous créez un formulaire à l’aide d’Enregistrer sous pour un formulaire existant ou en utilisant CopySystemFormRequest. |
CanBeDeleted |
<CanBeDeleted> |
Information qui indique si ce composant peut être supprimé. Cette propriété gérée est appliquée uniquement si le formulaire a été créé en important une solution gérée. |
Description |
<Descriptions> |
Description représente une chaîne et <Descriptions> contient les étiquettes localisées de la description du formulaire.Les étiquettes localisées peuvent être récupérées à l′aide de RetrieveLocLabelsRequest. |
FormActivationState |
<FormActivationState> |
Spécifie l′état du formulaire. Seuls les formulaires du type « principal » peuvent être désactivés. Valeurs correctes : - 0 : Inactif - 1 : Actif |
FormId |
<formid> |
Identificateur unique du formulaire |
FormPresentation |
<FormPresentation> |
Indique si ce formulaire figure dans la disposition d′interface utilisateur mise à jour dans Microsoft Dataverse. |
FormXml |
<form> |
Représentation XML de la disposition du formulaire. |
IntroducedVersion |
<IntroducedVersion> |
Version de la solution à laquelle le formulaire a été ajouté. |
IsAIRMerged |
S.o. | Indique si ce formulaire est fusionné avec la disposition d′interface utilisateur mise à jour dans Dataverse. |
IsCustomizable |
<IsCustomizable> |
Information indiquant si ce composant est personnalisable. Cette propriété gérée est appliquée uniquement si le formulaire a été créé en important une solution gérée. |
IsDefault |
N/D | Information indiquant si le formulaire ou le tableau de bord est le système par défaut. |
Name |
<LocalizedNames> |
Name représente une chaîne et <LocalizedNames> contient les étiquettes localisées du nom du formulaire.Les étiquettes localisées peuvent être récupérées à l′aide de RetrieveLocLabelsRequest. |
ObjectTypeCode |
Le formulaire est un descendant de l′élément Entity . |
La valeur ObjectTypeCode est le nom logique de la table. |
Type |
Élément <forms> paramètre type |
Les valeurs valides pour les formulaires sont : - 2 : main - 5 : mobile - 6 : quick - 7 : quickCreate |
Créer et modifier des formulaires
Vous pouvez uniquement créer des formulaires pour une table où EntityMetadata. CanCreateForms le permet.
Vous pouvez créer des formulaires avec CreateRequest ou CopySystemFormRequest. Lorsque vous utilisez CopySystemFormRequest ou Enregistrer sous dans l′éditeur de formulaires, notez qu′aucun héritage n′a lieu entre les formulaires. Par conséquent, les modifications apportées au formulaire de base ne sont pas automatiquement appliquées à tous les formulaires créés à partir de celui-ci.
La modification des définitions de formulaires d’une solution gérée exportée, puis la réimportation de la solution est une méthode prise en charge pour modifier les formulaires. Lors de la modification manuelle des formulaires, utilisez un éditeur XML qui permet la validation de schéma. Pour plus d′informations : Modifier le fichier XML de personnalisations avec une validation de schéma
Ouvrir le formulaire principal dans une boîte de dialogue à l′aide de l′API client
Pour ouvrir le formulaire principal dans une boîte de dialogue à l′aide de l′API client, vous devez invoquer l′appel en utilisant la méthode Xrm.Navigation.navigateTo. La méthode de l′API Xrm.Navigation.navigateTo vous permet d′ouvrir la boîte de dialogue avec plusieurs options, y compris la taille et la position.
Notes
La méthode Xrm.Navigation.openForm n′est pas prise en charge pour ouvrir un formulaire principal en tant que boîte de dialogue.
Exemples
Ouvrir un nouvel enregistrement
Dans cet exemple, la boîte de dialogue ouvre un nouveau formulaire de compte pour créer un nouvel enregistrement. La boîte de dialogue apparaît dans le centre en utilisant jusqu′à 50 % de la fenêtre disponible comme un modal sur le dessus de la forme, il a été invoqué ou appelé à partir de cet emplacement.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
};
var navigationOptions = {
target: 2,
width: {value: 50, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
Ouvrir un enregistrement existant
Dans cet exemple, la boîte de dialogue ouvre un enregistrement de compte existant à l′aide de la valeur d′ID de compte sur le formulaire de contact. Remplacez l′ID par toute valeur d′ID d′enregistrement dont vous souhaitez ouvrir l′enregistrement dans la boîte de dialogue.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
entityId: "5a57f2c3-5672-ea11-a812-000d3a339706" //replace with actual ID
};
var navigationOptions = {
target: 2,
width: {value: 80, unit:"%"},
position: 1
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
Ouvrez un nouvel enregistrement dans le volet latéral
Dans cet exemple, la boîte de dialogue ouvre un nouvel enregistrement dans le coin droit de la fenêtre. Cela peut être réalisé en utilisant les options de pixels.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2,
};
var navigationOptions = {
target: 2,
width: {value: 500, unit:"px"},
position: 2
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions);
Ouvrir le formulaire principal dans une boîte de dialogue avec la méthode de rappel
Cet exemple montre comment une boîte de dialogue de formulaire principal est invoqué avec une méthode de rappel après avoir enregistré un enregistrement et fermé la boîte de dialogue.
var pageInput = {
pageType: "entityrecord",
entityName: "account",
formType: 2
};
var navigationOptions = {
target: 2,
width: {value: 80, unit:"%"},
position: 2
};
Xrm.Navigation.navigateTo(pageInput, navigationOptions).then(
function success(result) {
console.log("Record created with ID: " + result.savedEntityReference[0].id +
" Name: " + result.savedEntityReference[0].name)
// Handle dialog closed
},
function error() {
// Handle errors
}
);
Voir aussi
Créer et concevoir des formulaires
Table SystemForm
Schéma XML du formulaire
Xrm.Navigation.navigateTo
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).