Comment définir des formules pour les champs calculés

Cet article explique comment les administrateurs peuvent définir des formules à utiliser dans leurs champs personnalisés

Sous les paramètres d'administrateur, un administrateur peut définir une formule (sous forme de code JavaScript) qui peut être utilisée pour les champs personnalisés calculés.

Veuillez noter que les formules ne devraient être modifiées que par des utilisateurs avancés, car une définition incorrecte pourrait potentiellement affecter le modèle. Pour toute question, contactez-nous à support@pilario.com.

Lors de la création d'une formule, l'administrateur peut définir les attributs suivants :

Section générale :

  • Nom : Le nom de la formule. Il est conseillé de préfixer le modèle où elle sera utilisée.
  • Notes : Description de ce que fait la formule. Cela apparaît sous forme de tooltip pour aider les administrateurs à identifier la bonne formule pour les champs calculés (attribut facultatif).
  • Valeur : Code JavaScript contenant la formule. Il doit toujours inclure une instruction return pour être utilisable.
Exemple

Voyons comment nous pouvons définir une formule à utiliser dans nos champs personnalisés. Dans cet exemple, nous montrerons comment un administrateur peut définir une formule qui additionne tous les poids d'entrée. Cette formule sera utilisée dans un modèle d'emballage.

Dans le menu de gauche, allez à Admin > Formules

Cliquez sur le bouton en haut à droite Ajouter une formule, et ajoutez les informations suivantes

  • Nom : Packaging_Comp_Weight_Sum
  • Notes : Additionne le poids des éléments d'un composant d'emballage
  • Valeur :
const { asset, subAsset, subAssets, input, getLookupTableValue, getFieldValue } = context

const params = ['pack_rawmat_l2comp_alu_weight','pack_rawmat_l2comp_steel_weight','pack_rawmat_l2comp_stainlesssteel_weight','pack_rawmat_l2comp_pet_weight','pack_rawmat_l2comp_pp_weight','pack_rawmat_l2comp_hdpe_weight','pack_rawmat_l2comp_ldpe_weight','pack_rawmat_l2comp_ps_weight','pack_rawmat_l2comp_pc_weight','pack_rawmat_l2comp_pvc_weight','pack_rawmat_l2comp_pse_weight','pack_rawmat_l2comp_glass_weight','pack_rawmat_l2comp_cardboard_weight','pack_rawmat_l2comp_paper_weight','pack_rawmat_l2comp_wood_weight','pack_rawmat_l2comp_plasticizer_weight','pack_rawmat_l2comp_cork_weight','pack_rawmat_l2comp_adhesive_weight']

let result = 0

params.forEach(param => {

result = result + Number(getFieldValue(subAsset,param) || 0)

})

return result.toFixed(3)

C'est tout ! Nous pouvons maintenant utiliser cette formule pour étendre les fonctionnalités de notre modèle grâce aux champs personnalisés.