Valeur par défaut

Bonjour,

Je tente (en vain) de faire fonctionner l’outil « Valeur par défaut » afin de faire que lors de la création d’une facture, le premier compte en banque soit sélectionné par défaut.
J’ai configuré comme suit, mais sans succès…Pourriez-vous me dire ou j’ai faux ?
Merci

valdef.jpg

Bonjour bagu,

question idiote mais en haut à droite tu as bien « Autoriser l’enregistrement par défaut de valeurs personnalisées » à ON ?

Il n’y a pas de question idiote :wink:

Oui, c’est bien activé :wink:

J’ai testé sur la version hors production 6.0.4 et c’est pareil, :unhappy:

est ce que la valeur ne serait pas un rowid dans la table des compte bancaire ?

( je testerai un peu plus tard ) :happy:

Ah oui, j’ai oublié de préciser que j’étais sur dolibarr 6.0.6.
Il me semble que dans ce cas, l’id est bien 1 (idem rowid and co)

Je me demande si le nom du champs est le bon…

<select id="selectfk_account" class="flat selectbankaccount" name="fk_account"><option value="-1">&nbsp;</option><option value="1">...

J’ai pris le name et l’option value 1

(J’ai testé avec selectfk_account au lieu de fk_account sans plus de succès…)

J’ai essayé comme toi les différentes option mais

je n’ai rien trouvé, mes connaissances sont limitées dans ce domaine :huh:

Visiblement nous ne sommes pas les seuls : https://www.dolibarr.org/forum/3-installation/27073-default-values-in-version-6

Un dev pourrait-il se pencher sur le problème ?

Bonjour,
Je suis allé voir de près le code concernant les options de valeurs par défaut.
Le remplissage de la valeur lorsqu’on a activé cette fonctionnalité se passe dans la fonction GETPOST de core/lib/function.lib.php
Le remplacement ne peut avoir lieu que si cette fonction est appelée. Or ce n’est pas le cas pour tous les champs.
Lors de la création d’une facture client, c’est-à-dire à la page compta/facture/card.php, le champ « Compte bancaire » est par exemple prérenseigné par le code :

// Bank Account
if (isset($_POST['fk_account'])) {
	$fk_account = $_POST['fk_account'];
}


Ce code n’utilise pas la fonction GETPOST. Le champ ne peut donc pas recevoir de valeur par défaut.
Si j’ajoute les lignes suivantes :

// Bank Account
if (isset($_POST['fk_account'])) {
	$fk_account = $_POST['fk_account'];
}
else {
	$fk_account = GETPOST('fk_account','int');
}

alors là, je peux définir une valeur par défaut, avec les paramètres suivant :

  • compta/facture/card.php pour le lien
  • 2 pour la valeur, ce qui correspond à l’ « id » du compte bancaire que je souhaite voir par défaut.

Je ne sais pas si le code est correct, car je ne sais pas à quoi correspond le cas isset($_POST['fk_account']). Cependant, cela montre que le problème vient du code, au niveau des formulaires qui ne sont pas prévus pour être complétés avec le mécanisme de valeur par défaut.

2 « J'aime »

Intéressant.

C’est effectivement dommage lorsque, (comme pour beaucoup d’auto-entrepreneurs typiquement) certains champs comme le compte bancaire par exemple est toujours le même.

Bonjour
Vous avez vu que vous pouvez mettre les valeurs par défaut par client, ce qui est logique, on ne traite pas forcément tous les clients de la même manière. Dans le Tiers, sous onglet Client.
Mais j’aimerais bien aussi des valeurs par défaut lorsque dans le Tiers il n’y a rien…