Champs calculés - attribut supplémentaire (ligne)

Bonjour,

Grace au forum et à quelques recherches j’ai réussie a soustraire 2 attributs supplémentaires grâce au champs calculés dans la partie « Attributs supplémentaire (facture) ». Néanmoins en réutilisant exactement la même formule (aux variables près) impossible que le logiciel effectue le calcul pour des « Attributs supplémentaire (lignes) »

                Voici la formule que j'utilise :
                ($object-\>array_options ['line_options_rcm1'])-($object-\>array_options ['line_options_rcm2'])

La formule doit être différente selon si je suis mode « facture » ou en « ligne »?

De plus, quelle doit être la formule si je veux pas exemple simplement créer un prix final ttc qui comprends le prix total ttc généré par dolibarr + un frais saisie en extra field?

Merci d’avance pour votre aide

Bonjour,

Champs calculés est un module?

Combien d’extrafields avez vous sur un contrat ?

Je ne suis pas sur mais je crois que vos formules ne fonctionneront pas si vous possédez plusieurs extrafields. En effet, $object->array_options retourne un array et non pas une simple valeur.

Je pourrais essayer de vous aiguiller si vous pouviez me donner plus d’informations sur vos extrafields sur une facture et sur une ligne de facture.

Cordialement.

Bonjour,

Par mégarde j’ai supprimé mon premier post …
Ma problématique était de pouvoir calculer automatiquement une différence via « champs calculés » dans attributs supplémentaires (ligne) à partir de 2 attributs supplémentaires que j’ai créé.

Concrètement j’ai besoin que lors de l’ajout d’un produit (pas prédéfinis) dans une facture je puisse saisir 2 relevés compteurs, puis que dolibar effectue la différence entre les deux et même dans l’idéal (mais je pense que mes compétences en codage s’arrête largement avant cela) que le nombre calculé devienne la quantité de mon produit :

Capture1.png

Capture4.png

Capture2.png

Capture3.png

(que mon nombre de page devient la quantité de mon produits essai)

Voilà si quelqu’un peut m’éclairer sur la formule qui doit simplement être fausse …

Bonjour,
J’essayerais sans espace entre array_options et l’accolade.
Sans garantie, je n’ai pas fait d’essai.

Non ça ne change rien …

Bonjour

$object->array_options['options_xxxxx']

Fred

Bonjour Fred,
Non toujours pas de calcul, Dolibarr affiche 0
Merci quand même

Bonjour

$object->line->array_options[options_xxxxx]-$object->line->array_options[options_xxxxx]

dans la formule tu peux aussi mettre var_dump($object) pour voir le contenu de $object

Fred

1 « J'aime »

Ça fonctionne ! Merci beaucoup Fred ce détail me bloquait depuis quelques jours, super!

Est-ce possible à présent de transformer ce nombre calculé en quantité pour le produit en question? (sans avoir à ressaisir/modifier la quantité à la main?)

Bonjour
Où peut on trouver une documentation permettant de comprendre et d’utiliser les formules pour ces attributs supplémentaires.?

2 « J'aime »

Bonjour

Je suis confronté au même problème et je tiens déjà à vous remercier parce que vos réponses me permettent d’avancer toutefois même avec ce que Fred à fait le calcul me retourne 0 et var_dump affiche NULL

si vous avez des idées sur quel pourrait être le problème je suis preneur :wink:

C’est bon j’ai pu résoudre mon problème.

j’ai fait var_dump qui m’a affiché mon tableau et je me suis rendu compte que je n’avais pas besoin d’écrire ->line vu qu’il n’y étais pas chez moi . et ça marche comme sur des roulettes :tongue:

Bonjour
Où peut on trouver une documentation permettant de comprendre et d’utiliser les formules pour ces attributs supplémentaires.?

Bonjour à tous,

Ce sujet m’intéresse pour un usage légèrement différent :
Peut on dans un extrafield ligne de facture faire afficher la valeur d’un attribut produit qui est natif dans dolibarr?

Si oui…
Peut-on le multiplier par la quantité de produits de la ligne en question (via un extrafield calculé).

Dans la théorie, je sais que c’est possible (vu dans un autre post - mais la modification est lourde).
Mais en pratique je cherche la solution la plus légère possible!

Merci.

Ce champ calculé je peux le mettre dans mon pdf?

Bonjour (ça fait toujours plaisir),

Oui c’est possible d’imprimer un champ calculé dans une facture.

@+

Bonjour,

Merci cela ma aidé à avancer.
J’aimerais pouvoir l’utiliser dans un filtre pour attribut supplémentaire « Liste issue d’une table ».

location_taux:libelle:rowid::fk_duree=$object->array_options[options_locduree]

J’ai cette erreur la

Error in request SELECT rowid as rowid, libelle FROM llx_location_taux WHERE fk_duree=$object->array_options[options_locduree] ORDER BY libelle You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '>array_options[options_locduree] ORDER BY libelle' at line 1. Check setup of extra parameters

Merci de votre aide

Bonjour,

La suggestion d’utiliser var_dump m’a aidé : après des recherches fastidieuses, j’ai enfin compris comment accéder à mon attribut.

Si vous voulez accéder à un attribut nommé « mon_attribut » dans la formule d’un champ calculé, il faut utiliser (valable sous Dolibarr 17.0.2 en tout cas) :
$objectoffield->array_options["options_mon_attribut"]

Notez donc bien qu’il faut ajouter le préfixe options_ devant « mon_attribut ».

Il fallait deviner ! Je n’ai pas trouvé cette information dans la documentation. Si un contributeur passe par ici… je suis novice sur Dolibarr, mais il me semblerait judicieux de documenter cette syntaxe dans la fenêtre modale qui s’ouvre quand on clique sur le « i » à côté du label « Champ calculé », c’est-à-dire au sein du texte qui commence par « Vous pouvez entrer ici une formule en utilisant d’autres propriétés de l’objet ».

C’est vrai que c’est une excellente question à laquelle on aimerait bien trouver réponse !