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
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.
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…