Module 3 · Expressions et transformation des donnéesEnviron 1 min
Trois exemples de code à copier
Trois cas tirés du travail de Salma. Collez-les dans un nœud Code, choisissez le mode indiqué en commentaire, puis vérifiez la colonne OUTPUT.
1. Ajouter le montant TTC
javascript
// Mode : Run Once for All Items
// Ajoute le montant TTC (TVA au taux normal de 20 %) à chaque demande.
for (const item of $input.all()) {
const ht = Number(item.json.montant_ht);
item.json.montant_ttc = Math.round(ht * 1.2 * 100) / 100;
}
return $input.all();2. Compter les demandes et totaliser les budgets par ville
javascript
// Mode : Run Once for All Items
// Un item par ville, avec le nombre de demandes et le budget total.
const villes = {};
for (const item of $input.all()) {
const ville = item.json.ville || "Non précisée";
villes[ville] ??= { ville, demandes: 0, budget_total_dh: 0 };
villes[ville].demandes += 1;
villes[ville].budget_total_dh += Number(item.json.budget_dh) || 0;
}
return Object.values(villes);3. Mettre les numéros au format international
javascript
// Mode : Run Once for Each Item
// « 06 12 34 56 78 » devient « +212612345678 » ; un numéro illisible devient null.
let chiffres = String($input.item.json.telephone ?? "").replace(/\D/g, "");
if (chiffres.startsWith("00212")) chiffres = chiffres.slice(2);
if (chiffres.startsWith("0")) chiffres = "212" + chiffres.slice(1);
$input.item.json.telephone_international =
/^212[5-7]\d{8}$/.test(chiffres) ? "+" + chiffres : null;
return $input.item;Dans le troisième, un numéro illisible donne null plutôt qu’un faux numéro : un nœud If placé après peut envoyer ces demandes à Salma pour vérification. Pour le deuxième, Summarize ferait aussi l’affaire ; le code devient utile quand la règle se complique.
Testez chaque code sur des données épinglées qui contiennent un cas difficile : un budget vide, une ville absente, un numéro saisi avec des espaces. Un code qui ne marche que sur la demande parfaite cassera au premier vrai formulaire.