09/08/20 Franck Bugnet Tuto Video

MagicFormula pour modifier en masse tous les types de données, à partir de formules libres - Colonnes calculées

MagicFormula, disponible nativement dans Merlin Backoffice à partir de la version 1.5, est un outil hyper puissant et flexible pour réaliser une infinité d'opérations de modification en masse des données. Outil très complémentaire à MagicEdit.

Quand l'utiliser :

  • Quand le modificateur en masse (plus rapide) ne permet pas de réaliser l'opération souhaitée.
  • Pour utiliser d'autres colonnes comme opérandes dans le calcul.
  • Pour copier ou concaténer une ou des colonnes dans une autre (également réalisable avec MagicEdit).
  • Pour ajouter dynamiquement des colonnes manquantes dans un fichier d'importation et les remplir par calcul.  
  • Pour réaliser des opérations en masse sur les textes non prévues dans MagicEdit.
  • Pour copier des données de la table produits dans les colonnes des tables enfants déclinaisons ou prix spécifiques. 
  • .../...

Les colonnes calculées sont un nouveau type de colonnes libres, aux nombre de 5 dans les tables produits, déclinaisons et prix spécifiques, non reliées à la base de données et pouvant être remplies automatiquement par calcul à chaque rafraichissement de la table, grâce à une formule créée avec MagicFormula.
Elles constituent une manière souple et simple pour calculer et afficher toutes sortes d'informations non disponibles sans cela, comme :
  • le taux de marque ou le taux de marge sur prix de vente.
  • le chiffre d'affaire ou bénéfice par produit.
  • le volume physique des articles.
  • un extrait du texte provenant d'une autre colonne.
  • .../...

Aide en ligne de MagicFormula pour modifier en masse les données PrestaShop à l'aide de formules


Interface de MagicFormula


Pour ouvrir MagicFormula, placez le curseur dans la colonne à modifier et faites un clic droit, ce qui a pour effet d'ouvrir le menu contextuel de la colonne.
Si MagicFormula est disponible sur cette colonne, deux possibilités s'offrent à vous, soit une action sur uniquement les lignes déjà sélectionnées, soit sur toutes les lignes: 
Comment lancer MagicFormula
Sélectionnez ou saisissez votre formule (voir la notice ci-dessous):
Interface de MagicFormula
Une fois la formule saisie, cliquez sur "Phase 1 : Pré-visualiser". le résultat de l'opération est affichée dans la table. Il vous reste juste à valider (sauvegarde réalisée dans la base) ou à annuler :
Valider ou annuler les modifications

Comment saisir une formule ?


Le champ de saisi peut recevoir toutes sortes de formules, pour remplir ou modifier en masse les valeurs dans les colonnes.

Il peut s'agir aussi bien de formules mathématiques, agissant et produisant des nombres, que des expressions de manipulation des textes, voir un mélange des deux.

Il est possible de sauver et ré-utiliser les formules. Vous pouvez aussi les supprimer et dupliquer :
Ajouter ou supprimer des formules


Chaque colonne de chaque table à sa propre liste de formules (liste filtrée). 
En décochant l'option de filtrage, il est possible d'utiliser dans une colonne une formule crée pour une autre colonne. Si vous dupliquez la formule, la copie sera associée à la colonne en cours. 

Cette liste est accessible en cliquant sur le petit icône en forme de double flêches bleues.

Vous pouvez soit taper au clavier vos formules, soit utilser les boutons de saisie rapide présent dans la barre titre de cette micro fenêtre.

Les formules peuvent utiliser les valeurs lues dans la même colonne que celle modifiée, avec le paramêtre {VA}. Ou les données d'autres colonnes (utilisez le sélecteur de colonnes ci-dessus, évitez de les taper au clavier), sous la forme {nom de la colonne}.

Si le texte est affiché en rouge, cela signifie qu'au moins une des colonnes utilisées dans la formule n'est pas présente dans la table, ce qui conduira certainement à un résultat incorect.

Si le 1er élément de la formule est un chiffre (ou le nom d'une colonne contenant un chiffre), la formule sera un calcul mathématique.
Si au contraire elle commence par un texte (ou le nom d'une colonne contenant du texte), elle manipulera les données de la formule, y compris les chiffres, comme des chaines de caractères et donnera comme résultat une chaine de caractères.
Pour forcer un chiffre, ou le contenu d'une colonne contenant un chiffre, à être vu et traité comme un texte, par exemple au début de la formule, placez ce chiffre ou ce nom de colonne entre deux guillemets doubles (" ").
Pour forcer une chaine issue d'une colonne de type texte, mais contenant des chiffres, à être traitée comme un nombre, utilisez la fonction Val().

Il est possible de saisir des formules et expressions du type "SI (condition) ALORS (valeur1) SINON (valeur2)", avec le petit bouton "?" de la barre titre.
La condition peut être multiple (de type ET/OU), en utilisant les boutons & et |).
Le mot "PAS" permet d'inverser une condition (ex : "PAS <=" veut dire "pas inférieur ou égal à").
Le bouton "!" permet d'insérer rapidement le mot "PAS".
Le bouton % (pourcentage), insère dans la formule "/100".
Par exemple "{VA}+{VA}*5/100" est la formule à connaitre pour augmenter les valeurs actuelles de 5%. Elle est aussi équivalente à celle ci : "{VA}*(1+5/100)".

Dans les formules mathématiques, les signes * et / (multiplier et diviser), sont prioritaires sur les + et - (ajouter et soustraire). Ajoutez des parenthèses si nécessaire.
Ex : A+B*C est équivalent à A+(B*C).
Si vous voulez d'abord ajouter A et B, saisir (A+B)*C.

Pour saisir des chiffres à virgules, utilisez le point (.) et non pas la virgule !

Pour concaténer des chaines de caractères (des textes), utilisez le signe +. Par exemple "{VA}+ " _ "+{name__ps_product}" va remplir chaque cellule avec son propre contenu suivi d'un espace, d'un tiret, d'un autre espace puis du nom du produit de la même ligne.

Attention, on ne peut construire les formules qu'avec les colonnes affichées. Mais si plus tard vous ré-utilisez une formule construite prédemment avec une colonne qui n'est plus affichée, le résultat sera forcément incorrect (contenu au mieux remplacé par une chaine vide voir une erreur).

Utilisation niveau expert(e) :

  • La manipulation des textes permet l'utilisation de toutes les fonctions de gestion des chaines de caractères du langage Windev. Par exemple Contient(), ChaineCommencePar(), Droite(), SansEspace(), ExtraitChaine(), Remplace(), etc...
  • De même vous pouvez effectuer des calculs complexes en utilisant les opérateurs arithmétiques du langage Windev, comme +=, -=, les fonctions mathématiques comme Abs() et les opérateurs binaires &, |, ||... La seule limite est votre imagination. Se référer à la documention Windev en accès libre sur le site de PCSoft. Nous avons fait une pré-sélection des fonctions les plus utiles, mais il en existe bien d'autres. Il va de soit que Sitolog ne pourra pas assurer de formation sur ce langage qui n'est pas le sien, dans le cadre du support gratuit. Mais pour les problématiques complexes, vous pouvez obtenir nos conseils grâce à nos tickets de service disponibles sur notre site.

Rappel de quelques rêgles :

  • Utilisez le. (le point et non pas la virgule) pour les chiffres décimaux.
  • Utilisez * pour la mulitplication et non pas la lettre x ni le point.
  • Pour utiliser une valeur à lire dans une colonne (une variable), utiliser le sélecteur, pour éviter les fautes de frappe.
  • Les variables sont écrites sous la forme du nom de la colonne entourée de crochets { }.
  • {VA} signifie "valeur actuelle du champ".
  • Toute parenthèse ouverte doit être fermée. Il doit y avoir le même nombre de ( que de ).
  • Deux variables ou chiffres doivent toujours être séparés par un opérateur.
  • Il est interdit de placer deux opérateurs l'un à coté de l'autre.
  • Il est interdit de diviser par 0.
  • Une parenthèse ne peut pas être vide.
  • Bien respecter la syntaxe des comparaisons : ( (A=B) ? (C) SINON (D) ) pour si A=B, inserer C, sinon insérer D . Les conditions possibles sont =, <, >, <=, >=, !=, DANS ( , , ) . La condition peut être inversée en ajoutant devant le mot PAS. Ainsi "A PAS= B" veut dire "si A est différent de B".
  • La formule ne doit ni commencer ni se terminer par un opérateur, mais par un chiffre ou une variable ou une parenthèse.

Tutoriel video complet avec de nombreux exemples, de l'outil de modification en masse MagicFormula

54 min

Pour tout connaitre sur MagicFormula et les colonnes calculées, aussi bien dans les tables de la fenêtre principale que dans l'outil d'importation. Après une explication complète de l'interface, les nombreux exemples détaillés vous permettrons de maîtriser l'outil et surtout d'adapter son usage à vos propres besoins.
La formation commence par un petit rappel des autres outils, comme le modificateur par calcul, afin de bien comprendre les différences et savoir quand utiliser l'un ou l'autre.




resolution
 Augmentez la résolution à 720p si la vidéo est trop floue, repassez-la en Auto si elle se fige.

Besoin d'administrer plus vite votre catalogue, lancez-vous sans risque pendant 15 jours grâce à notre garantie "satisfait ou remboursé" :


Autres articles de la même catégorie

Cet article vous a plu ? Partagez-le !