🔎Vérifier si un enregistrement est déjà existant

Il est possible de vérifier si un enregistrement est déjà existant ou non dans une table Ksaar à partir d'un champ texte qui sert d'identifiant, ce qui peut permettre de rechercher un enregistrement et/ou d'éviter de créer des doublons.

🚧 Exemple depuis un workflow

Nous allons voir ça à travers l'exemple d'un workflow qui permets d'ajouter des contacts dans une application. Si l'utilisateur saisit une adresse mail qui est déjà dans les contacts, on va rediriger vers la fiche de ce contact au lieu de continuer le workflow de création, ce qui va éviter d'avoir le contact en double.

Voici les étapes à suivre pour faire cela :

1️⃣ On commence par créer une page qui contient le champ texte sur lequel on veut vérifier qu'un enregistrement existe déjà ou non. Dans notre cas, on va placer le mail du contact.

Cette astuce permettant d'identifier si deux enregistrements sont identiques se fait uniquement à partir d'un champ texte, ou d'une formule de type texte, qui aurait la même valeur pour les deux.

Donc dans le cas où cela devrait se faire par rapport à des champs qui ne sont pas du texte ou par rapport à plusieurs champs, on peut simplement utiliser une formule de type texte qui va les convertir et tous les regrouper

par exemple : {Nom} & "/" & {Prénom} & "/" & FORMAT_DATE({Date de naissance}, "DD/MM/YYYY")

On supprime aussi l'action qui permet de sauvegarder l'enregistrement pour l'instant, car on ne veut pas créer de nouvel enregistrement dans le cas où il existerait déjà. On ajoutera cette action plus tard, quand on sera sûr que l'enregistrement est nouveau et donc qu'il faut bien le sauvegarder.

2️⃣ Ensuite, on créé une liaison simple qui est liée à cette même table et qui a le champ texte ou formule de type texte à identifier dans le paramètre "Champ à afficher", l'email du contact dans notre cas.

Puis, on place une action de mise à jour de champ à la suite de notre première page qui met à jour cette liaison avec l'origine qui est "Une option qui est égale à un champ de la table" en précisant bien le champ qu'on souhaite identifier.

De cette manière, la liaison se remplit automatiquement s'il y a déjà un enregistrement avec le même email, et elle restera vide si ce n'est pas le cas.

3️⃣ À partir de là, il suffit de faire un scénario conditionnel pour séparer le cas où la liaison simple est non nulle, et donc qu'un enregistrement existe déjà, et le cas où la liaison est vide, et donc que c'est un nouvel enregistrement.

4️⃣ Dans le cas où un enregistrement serait existant, on place une action de redirection vers la fiche de l'enregistrement qui est dans la liaison, ce qui permet donc de rediriger vers les informations du contact déjà existant qu'on a trouvé.

5️⃣ Enfin, dans l'autre cas, notre enregistrement n'existe pas encore, donc on ajoute une page permettant de remplir les informations du contact dont on a besoin.

Puis, on ajoute l'action de sauvegarde d'enregistrement que l'on avait supprimé pour bien faire en sorte que notre contact soit créé.

🚧 Exemple depuis une automation

Si l'enregistrement n'est pas créé depuis un workflow, mais qu'il est par exemple importé depuis un outil comme Make, on peut obtenir un résultat similaire grâce à une automation qui se déclenche à la création d'un enregistrement.

La logique est légèrement différente car quand on est dans notre automation, l'enregistrement est déjà présent dans notre table, et il faudra donc le supprimer si on trouve un doublon. Aussi, si on veut faire la même technique de la liaison simple vers un enregistrement qui a le même email, il va se lier à lui-même, car il est déjà dans la table, et on ne pourra donc pas en déduire qu'il y a un doublon. On utilise cette fois-ci une boucle pour arriver au même résultat.

Pour faire la même chose sur une automation, on suit les étapes suivantes en repartant de la table Contacts :

1️⃣ On commence par mettre à jour le champ Liaison simple avec l'enregistrement en cours, on changera ensuite cette liaison si on trouve un autre enregistrement avec le même mail

2️⃣ On fait une boucle sur la table Contacts avec deux conditions :

La première étant que les enregistrements sur lesquels on va boucler soient différents de l'enregistrement qui est actuellement dans la liaison simple. On ne va donc pas boucler sur l'enregistrement qui vient d'être créé.

La deuxième condition est de boucler sur les enregistrements qui ont le même mail que l'enregistrement en cours.

3️⃣ En combinant ces deux conditions, on va boucler sur les enregistrements qui ont le même mails, mais qui sont différents de cet enregistrement, donc si on passe une fois dans la boucle, cela signifie qu'il y a un doublon.

On met alors une action de mise à jour de champs dans la boucle dans laquelle on change l'enregistrement dans la liaison simple pour l'enregistrement de la boucle qu'on a trouvé.

4️⃣ Dans notre scénario conditionnel, il suffit maintenant de mettre la condition que la liaison simple est différente de l'enregistrement en cours.

Dans ce cas, un doublon existe, donc on peut rajouter une action de suppression d'enregistrement pour supprimer celui qui vient d'être créé.

Dernière mise à jour