Fonctions de formulaire
Guides de référence JavaScript
Cliquez sur une entrée ci-dessous pour afficher une description, des paramètres et un exemple de code JavaScript de base.
$form.copyLikeRows(fromGroupXPath, selectorXPath, toGroupXPath, prefix, action)
$form.emptyTable(repeatingGroup)
$form.executeWebService(webServiceName)
$form.getExternalValue(dcName, colName, filterString)
$form.getRepeatingContentValue (repeatingGroup,colName,filterString,unique)
$form.reloadDropDownOptions(name)
$form.regExpExtract(pattern, text)
$form.setControlRequired(name, required)
$form.setDeleteRow(binding,enable)
$form.setNewRow(binding,enable)
$form.setStyle(name, styleName, styleValue)
$form.addNewRow(binding)
Ajoute une nouvelle ligne au groupe répétitif défini par le paramètre de liaison. Retourne l’index de la nouvelle ligne.
Paramètres
- binding : Liaison d’un groupe répétitif
$form.collapseGroup(name)
Réduire le groupe contenant le champ identifié par le paramètre de nom.
Paramètres
- name : Liaison d’un champ dans le groupe à réduire
$form.copyLikeRows(fromGroupXPath, selectorXPath, toGroupXPath, prefix, action)
La règle exécute une itération sur le contenu répétitif source « fromGroupXPath ». Si la valeur de « selectorXPath » est True (il s’agit d’un champ dans le contenu répétitif source), la ligne est copiée vers le contenu répétitif de destination « toGroupXPath ». Les champs de chaque ligne copiés dépendent de leur convention de dénomination.
Pour copier le champ, cette fonction détermine si le nom du champ de destination est égal au « préfixe » + au nom de champ de source. Si tel est le cas, la valeur est copiée. L’argument « action » détermine si les lignes sont ajoutées ou remplacées dans le contenu répétitif de destination « toGroupXPath ».
Paramètres
- fromGroupXPath = XPath du contenu répétitif source (par exemple, '/my:myFields/my:Plant_Info')
- selectorXPath = XPath du champ booléen pour indiquer si le contenu doit être copié. Si la chaîne est null ou vide, toutes les lignes sont copiées (par exemple, '/my:myFields/my:Plant_Info/my:Repeating_Content/my:Copy')
- toGroupXPath = XPath du contenu répétitif de destination (par exemple, '/my:myFields/my:Plant_Info_1')
- prefix = Préfixe des champs source et cible de correspondant/mappage (par exemple. ‘Ext_’)
- action = « append » ou « overwrite ». La valeur par défaut est « overwrite » si null ou manquant
Exemple
Exemple de schéma
myFields
- myRepeating_Table1
- Repeating_Content
- Field1 (text)
- Field2 (text)
- Checkbox1 (Booléen)
- Field3 (text)
- Field4 (text)
- Field5 (double)
- Repeating_Content
- myRepeating_Table2
- Repeating_Content
- ABC_Field1 (text)
- Field7 (text)
- ABC_Field3 (text)
- ABC_Field4 (text)
- Field11 (double)
- Repeating_Content
Exemple d’appel de fonction
$form.copyLikeRows(
‘/my:myFields/my:Repeating_Table1’,
‘/my:myFields/my:Repeating_Table1/my:Repeating_Content/my:Checkbox1’,
‘/my:myFields/my:Repeating_Table2’,
‘ABC_’,
‘overwrite’);
L’exécution de cet appel copie toutes les lignes du contenu répétitif source (myRepeatingTable1) vers le contenu répétitif de destination (myRepeatingTable2) où le champ source Checkbox1 a la valeur true. Pour chacune de ces lignes, les valeurs de Field1 sont copiées vers ABC_Field1, celles de Field3, vers ABC_Field3, et celles de Field4, vers ABC_Field4. Toutes les lignes sources où Checkbox1 a la valeur false, et tous les autres champs sont ignorés.
$form.disableControl(name)
Désactive le contrôle (élément d’entrée, libellé et sous-libellé) lié au champ défini depuis l’entrée utilisateur.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.disableControl('/my:myFields/my:field_1');
$form.disableGroup(name)
Désactive tous les éléments d’entrée dans le groupe contenant l’élément d’entrée lié au champ défini. Si tous les éléments sont déjà désactivés, cette fonction n’exécute aucune opération.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.disableGroup('/my:myFields/my:field_2');
$form.displayError(name,text)
Affiche le message défini sous l’élément d’entrée défini
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
- Text : Texte du message à afficher sous l’élément d’entrée
Exemple
$form.displayError('/my:myFields/my:field_1', 'This value must be greater than 0');
$form.emptyTable(repeatingGroup)
Supprime toutes les lignes dans le groupe répétitif défini par le paramètre repeatingGroup
Paramètres
- repeatingGroup : Liaison d’un groupe répétitif
$form.enableControl(name)
Active le contrôle (élément d’entrée, libellé et sous-libellé) lié au champ défini pour l’entrée utilisateur.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.enableControl('/my:myFields/my:field_1');
$form.enableGroup(name)
Active tous les éléments d’entrée dans le groupe contenant l’élément d’entrée lié au champ défini. Si tous les éléments sont déjà activés, cette fonction n’exécute aucune opération.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.enableGroup('/my:myFields/my:field_2');
$form.executeQuery(queryName)
Exécute le contrôle Requête défini par queryName.
Remarque : Doit être exécuté comme dernière instruction dans une règle, car le retour est asynchrone.
Paramètres
- queryName : Nom unique du contrôle Requête dans la solution
Exemple
$form.executeQuery('ProductDetailsQuery');
$form.executeWebService (webServiceName)
Exécute le service Web défini par webServiceName.
Remarque : Doit être exécuté comme dernière instruction dans une règle, car le retour est asynchrone.
Paramètres
- webServiceName : Nom unique du contrôle Service Web dans la solution
Exemple
$form.executeWebService('CreateVendorInSAP');
$form.expandGroup(name)
Développe le groupe contenant le champ identifié par le paramètre name.
Paramètres
- name : Liaison d’un champ dans le groupe à développer
$form.getExternalValue(dcName, colName, filterString)
Extrait des valeurs d’une connexion de données.
Paramètres
- dcName : Nom de la connexion de données dans la solution
- colName : Nom de la colonne/du champ à extraire de la connexion de données
- filterString : Expression Xquery pour filtrer les résultats de la connexion de données définie
Exemple
var val = $form.getExternalValue('ExtData', 'Title', '@identifier=20');
$form.setValue('/my:myFields/my_field1', val);
$form.getRepeatingContentValue(repeatingGroup,colName, filterString, unique, delimiter)
Obtient la valeur d’un champ de colonne de contenu répétitif.
Paramètres
- repeatingGroup : Liaison d’un groupe répétitif
- colName : Nom de la colonne dans un groupe répétitif
- filterString : Filtre XPath à exécuter sur le groupe répétitif
- unique : Valeur booléenne indiquant d’obtenir ou non uniquement les valeurs uniques de la source. La valeur par défaut est True.
- delimiter : Valeur de chaîne à utiliser comme délimiteur. La valeur par défaut est une virgule.
Syntaxe :
$form.getRepeatingContentValue("/my:myFields/my:Repeating_Table_2","/my:myFields/my:Repeating_Table_2/my:field_2", "",false, "-")
$form.getValue(name)
Extrait la valeur en cours de l’élément d’entrée lié au champ défini.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
var value = $form.getValue('/my:myFields/my:field_2');
$form.hideControl(name)
Masque le contrôle (élément d’entrée, libellé et sous libellé) lié au champ défini.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.hideControl('/my:myFields/my:field_2');
$form.hideGroup(name)
Masque l’ensemble d’un groupe (y compris l’en-tête) contenant l’élément d’entrée lié au champ défini. Si le groupe est déjà masqué, cette fonction n’exécute aucune opération.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.hideGroup('/my:myFields/my:field_1');
$form.language
$form.language n’est pas une fonction. Il s’agit d’une valeur de propriété. Contient le code de la langue préférée de l’instance de navigateur en cours.
Peut être utilisé comme argument dans une requête de connexion de données pour localiser les valeurs de liste déroulante dynamique (par exemple).
Les valeurs possibles se trouvent dans cette page W3schools.
Utilisation de $form.language pour traduire les listes déroulantes
Vous pouvez utiliser la variable $form.language pour filtrer les options de liste déroulante par langue.
Pour ce faire, vous devez ajouter un champ à une connexion de données externe (par exemple, à une liste SharePoint, une table SQL Server Table, etc.) qui contient le code de langue (limité à en, fr, es, it et de). En outre, la connexion de données doit avoir un champ value qui peut être répliqué pour chaque option dans chaque langue, et un champ de label qui contient le libellé traduit de chaque option déroulante.
Un exemple d’utilisation d’une liste SharePoint figure ci-dessous :
Dans le formulaire, les options déroulantes correspondant à la table ci-dessus se présentent comme suit:
$form.reloadDropDownOptions(name)
Recharge la liste d’options dans l’élément de liste déroulante ou de zone modifiable déroulante lié au champ défini. Cette fonction peut être utilisée pour déclencher le rechargement des options dynamiques dans une liste déroulante ou une zone modifiable déroulante depuis une source de données externe.
Paramètres
- name : Xpath du champ lié à la liste déroulante ou la zone modifiable déroulante
Exemple
$form.reloadDropDownOptions('/my:myFields/my:dynamicDropDownField');
$form.regExpExtract(pattern, text)
Extrait une sous-chaîne d’un texte en utilisant un groupe de capture d’expression régulière.
Paramètres
- Pattern : Expression régulière pour capturer des données
- Source : Données source pour appliquer une expression régulière
Exemples
Pour obtenir le premier groupe de chiffres contigus (comme décrit dans le tableau Fonctions dans la page du plug-in Définir une colonne) :
regExpExtract(/(\d+)/,$form.getValue('/my:myFields/my:field_x'))
Dans cet exemple, si la valeur du champ est « SomeFormName09032015AndSomething Else 00001133 », la fonction retourne 09032015.
L’exemple suivant extrait les 6 premiers chiffres :
regExpExtract(/(\d{6})/,$form.getValue('/my:myFields/my:field_x'))
Dans cet exemple, si le champ a la valeur « SomeFormName09032015AndSomething Else 00001133 », la fonction retourne 0903201
$form.setControlRequired(name, required)
Modifie l’élément d’entrée lié au champ défini qui nécessite ou non une valeur.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
- required : True ou False pour indiquer si ce contrôle nécessite une valeur
Exemple
$form.setControlRequired('/my:myFields/my:needThisField', true);
$form.setControlRequired('/my:myFields/my:dontNeedThisField', false);
$form.setDeleteRow(binding, enable)
Activer ou désactiver l’icône « Supprimer une ligne » pour un groupe ou une table répétitive.
Paramètres
- binding : Liaison d’un groupe répétitif
- enable : True pour activer, ou False pour désactiver
$form.setNewRow(binding, enable)
Activer ou désactiver le lien d’ajout de nouvel élément pour un groupe ou une table répétitive.
Paramètres
- binding : Liaison d’un groupe répétitif
- enable : True pour activer, ou False pour désactiver
$form.setStyle(name, styleName, styleValue)
Modifie le style CSS de l’élément lié au champ défini.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
- styleName : Nom du style CSS
- styleValue : Valeur de style CSS
Exemple
if ($form.getValue('/my:myFields/my:field_3')
$form.setStyle('/my:myFields/my:field_3', 'color', 'red');
$form.setValue(name, value)
Modifier la valeur en cours de l’élément d’entrée lié au champ défini
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
- value : Nouvelle valeur à attribuer à l’élément d’entrée
Exemple
$form.setValue('/my:myFields/my:field_2',
$form.getValue('/my:myFields/my:field_3') * 0.01);
$form.showControl(name)
Affiche le contrôle (élément d’entrée, libellé et sous-libellé) lié au texte défini
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.showControl('/my:myFields/my:field_2');
$form.showGroup(name)
Masque l’ensemble d’un groupe (y compris l’en-tête) contenant l’élément d’entrée lié au champ défini. Si le groupe est déjà visible, cette fonction n’exécute aucune opération.
Paramètres
- name : Xpath du champ lié à l’élément d’entrée
Exemple
$form.showGroup('/my:myFields/my:field_1');