# Appel du beforeSave au moment d'un refSelect

**URL:** <https://community.simplicite.io/t/appel-du-beforesave-au-moment-dun-refselect/12395>\
**Category:** Support\
**Tags:** v6-3\
**Created:** [June 2, 2026, 7:10am UTC](https://community.simplicite.io/t/appel-du-beforesave-au-moment-dun-refselect/12395 "2026-06-02T07:10:43Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [June 2, 2026, 7:10am UTC](https://community.simplicite.io/t/appel-du-beforesave-au-moment-dun-refselect/12395/1 "2026-06-02T07:10:43Z")

</div>

### Request description

Bonjour,

J’ai un souci avec le hook beforeSave qui se déclenche quand je clique sur la loupe d’une référence.

Mode opératoire :

- avoir un objet A avec une référence vers un objet B
- mettre un alert dans le beforeSave de A
- sur le form de A, cliquer sur la loupe vers B  
 → l’alert apparaît

On dirait que c’est l’appel à readValues qui déclenche le beforeSave.

 ![image](https://community.simplicite.io/uploads/default/original/2X/b/b88c55e51938c2d809c8c533e6e359b45b7a45ee.png)

Merci d’avance pour votre aide !  
Emmanuelle

[Platform]  
Status=OK  
Version=6.3.9  
Variant=full  
BuiltOn=2026-05-08 12:11  
Git=6.3/58e3ee3f94cecfc8aaa762e57a41f8e5bdf91454

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [June 2, 2026, 12:36pm UTC](https://community.simplicite.io/t/appel-du-beforesave-au-moment-dun-refselect/12395/2 "2026-06-02T12:36:01Z")

</div>

Bonjour,

La méthode `readValues` a été factorisée pour servir le `saveObject` et aussi le `selectReference` et `selectDatamap` pour envoyer les valeurs saisies “vues du front” pour un éventuel usage dans le hook back `initRefSelect` (pour filtrer les références en fonction du contexte).

L’idée était d’avoir la même règle/code pour préparer/forcer par hook les valeurs front “before save”, mais ici sans faire de sauvegarde quand on sélectionne une référence.

Le hook front `beforesave` pouvant bloquer le save, cela n’a pas trop de sens dans le cas d’une recherche de référence.

On va devoir séparer les 2 notions :

- `beforeSave` = à limiter à la méthode `saveObject`
- `before/afterReadValues` = nouveaux hooks pour modifier les données lues (avant usage qq soit l’appelant save ou ref select…) ?

Le code `beforeSave` qui modifierait les données lues, ne seront plus visibles de la recherche de référence, ce qui n’est pas toujours souhaitable. Mais on n’aurait plus le popup si le beforeSave affiche un popup + annule le save.

Pas simple de trouver un bon compromis.

---

<div class="post-metadata">

**Author:** ![Emmanuelle](https://community.simplicite.io/user_avatar/community.simplicite.io/emmanuelle/32/3012_2.png) [@Emmanuelle](https://community.simplicite.io/u/Emmanuelle)\
**Post date:** [June 2, 2026, 12:47pm UTC](https://community.simplicite.io/t/appel-du-beforesave-au-moment-dun-refselect/12395/3 "2026-06-02T12:47:28Z")

</div>

D’accord je comprends, sinon, il y a peut-être moyen d’indiquer au moment du beforeSave dans quel cas on est ? Ca permettrait de conditionner le code sans avoir à tout changer ?

---

<div class="post-metadata">

**Author:** ![Francois](https://community.simplicite.io/user_avatar/community.simplicite.io/francois/32/6448_2.png) [@Francois](https://community.simplicite.io/u/Francois)\
**Post date:** [June 2, 2026, 2:22pm UTC](https://community.simplicite.io/t/appel-du-beforesave-au-moment-dun-refselect/12395/4 "2026-06-02T14:22:53Z")

</div>

Oui mais cela impactera aussi la signature de la méthode.  
Il semble préférable de séparer les hooks pour éviter les confusions.

Après analyse il suffit d’ajouter

- un hook au niveau de la méthode `$ui.readForm` qui sert à lire tous les fields depuis le formulaire/row :

`obj.locals.ui.form.onread` = `UIBusinessObject.onReadForm(ctn, obj, params, cbk)`

Il permettra de modifier/completer les valeurs lues avant tout usage front. Ce sera avec callback explicite une fois réalisé pour permettre de lire des choses de façon asynchrone (un appel d’API…) comme le fait `beforSave`.

- le hook `beforeSave` sera utilisé par `saveObject` uniquement.

Il permettra de faire des vérifications (bloquantes) avant appel au back.

On va faire les évolutions nécessaires en 6.3.11.

---

<div class="post-metadata">

**Author:** ![system](https://community.simplicite.io/user_avatar/community.simplicite.io/system/32/4700_2.png) [@system](https://community.simplicite.io/u/system)\
**Post date:** [June 2, 2026, 3:23pm UTC](https://community.simplicite.io/t/appel-du-beforesave-au-moment-dun-refselect/12395/5 "2026-06-02T15:23:31Z")

</div>

Closed on June 2, 2026, 3:23pm UTC

This topic was automatically closed 60 minutes after the last reply. New replies are no longer allowed.
