PRODUCT_USE_UNITS...

Bonjour,

Totalement par hasard (qui fait bien les choses, encore une fois), alors que j’étudiais pour un client une solution pour rajouter une colonne Unité dans les devis/factures (3.8.4), je tombe dans le code sur cette variable non documenté PRODUCT_USE_UNITS.
Elle est assez parlante pour l’essayer…

Activée, elle correspond plutôt bien au besoin (aux libellés prés, j’y reviens), je n’ai plus qu’à customiser un devis et une facture PDF.

Mais pourquoi cette variable n’est-elle pas commentée (ici par exemple) ?

Et puis, pourquoi les libellés de llx_c_units ne sont-ils pas traduits ? Apparemment, ça devrait se passer aux alentours des lignes 2894 et 2898 de html.form.class.php (en 3.8.4), pourtant products.lang contient les traductions…

Et puis pas de dictionnaire modifiable ?.. Et en 3.9 ?

Salut Manuel,
Le dictionnaire existe sur ma 3.9.1. Par contre effectivement je ne connaissait pas cette constante.
Une fois activé ça permet de préciser l’unité d’un produit dans sa fiche, intéressant car du fait c’est mentionné dans les factures du coup.
@+

Edit : pour te faire plaisir, j’ai complété le wiki !

Merci Philippe,

Oui, dans les devis et factures, sans doute dans les autres documents. C’est exactement ce que mon client dans le bâtiment voulait !

Élégante manière de me laisser entendre que j’aurai aussi pu le faire moi-même… :wink:

J’en ai profité pour corriger « Enable unity… » par « Enable units… »
(hope you don’t mind)

Et pour le dictionnaire en 3.8.4, j’y suis allé directement dans la table c_units…

1 « J'aime »

Bonjour à toutes et tous,
Merci pour les informations ci-dessous.
En ajoutant « PRODUCT_USE_UNITS », j’obtiens bien une colonne unité (en ce qui me concerne, ce sont des services).
Les unités qui m’intéressent sont « jour » et « heure ».
Lorsque j’établis ma facture, en lieu et place de « jour », j’ai « j » et en lieu et place de « heure », j’ai « h ». Est-il possible de renseigner ce champ avec plus qu’une lettre ?
Autre question s’y rapportant : j’établis des factures en anglais, est-il possible d’avoir ces unités traduites ?
Merci d’avance pour vos retour.
Cordialement,
IML

Bonjour,
Il est inutile de poster le même message en deux endroits différents.
Pour la traduction, il suffit d’ajouter une traduction en français et une en anglais avec l’unité « h » par exemple et ce que tu veux comme traduction.
Dans Configuration - Traductions

Bonjour Yves57,
Merci pour ta réponse et désolé pour le « léger » retard de la mienne. Je n’ai pas reçu de mail d’avertissement me disant que j’avais reçu une réponse sur le forum, donc je n’avais plus regardé. J’ai sûrement oublié de cocher la case pour être notifié…
Désolé également d’avoir posté ce même message sur un autre sujet, j’essayais d’optimiser mes chances de retour.

Concernant ma première question, j’ai pu mettre « Jour » à la place de « j » en modifiant le « Libellé court » dans « Dictionnaires - Unités » (voir point 1 fichier attaché).
Par contre, lorsque j’édite une facture en anglais, « Jour » n’est pas transformé en « Day » (voir point 2 fichier attaché).

Aussi, je ne comprends pas pourquoi lorsque je veux modifier une des lignes, le « Libellé » ou le « Libellé court », ces champs basculent en anglais (voir point 3 fichier attaché).
Pour changer « j » en « Jour », je dois écrire « Day » dans le « Libellé court », ou pour « Heure », « Hour », etc…

Il y a également dans les « Libellé », un mix entre français et anglais (voir point 4 fichier attaché). Je n’ai rien touché (à part « Jour »), c’est par défaut comme cela. Pourquoi ?

J’ai aussi tenté de rajouter un type d’unité (qui ne veut rien dire, c’était juste pour faire un test) dans « Dictionnaires - Unités » (voir point 5 fichier attaché).
Lorsque je veux ajouter un type de service et que je choisi l’unité (voir point 6 fichier attaché), au lieu d’avoir « PYOUK », j’ai « unitPY » dont l’orthographe semble être une « Key ». Les autres types d’unités d’ailleurs (Pièce, Positionner, Seconde, etc.), n’ont pas la même syntaxe que dans « Dictionnaires - Unités » (piece, ensemble, seconde, etc.) non plus.

Qu’est-ce-que je ne comprends pas, qu’est-ce-qui m’échappe ??? Je deviens dingue à tourner en rond !!!

Pour résumer, je veux juste pouvoir éditer une facture avec comme seules unités possibles « Heure », « Jour » ou « Forfait », et il faut que ces unités soient en anglais dans ma facture. Aurais-tu la solution ? Merci d’avance.

Cordialement,
IML

PRODUCT_USE_UNITS.pdf (512 KB)

Bonjour à toutes et tous,
Je relance le sujet car toujours pas trouvé de solution…
J’ai une problématique que je pense somme toute simple et ne comprends pas pourquoi est-ce aussi difficile d’arriver à mes fins sur Dolibarr…
Lorsque j’édite une facture en français, tout est en français.
Lorsque j’édite une facture en anglais, tout est en anglais sauf les unités…
Pour rappel, je n’ai que 3 unités : « Heure », « Jour » ou « Forfait ».
Lorsque j’édite une facture en français, je veux donc que mes unités soient : « Heure », « Jour » ou « Forfait ».
Lorsque j’édite une facture en anglais, je veux donc que mes unités soient : « Hour », « Day » ou « Flat Rate ».
Est-ce possible ? Simplement ?
Merci d’avance pour vos retour.
Cordialement,
IML

Bonjour,

Quelle version de Dolibarr ?
Avez-vous regardé dans les traductions ?

Cordialement,
Sylvain Legrand.

Bonjour M. Legrand,

Merci pour votre retour.

J’utilise Dolibarr 7.0.1.

J’ai regardé les traduction effectivement mais peut être sans chercher là où je devrais chercher, je ne suis plus sûr de rien…

Si je vais dans Dictionnaires/Unités, j’ai par exemple le Code « D » pour une unité de jour :
Code « D » / Libellé « jour » / Libellé court « j ».
Si je clique sur « Modifier », j’ai alors : Code « D » / Libellé « day » / Libellé court « d » (en modifiant, les champs basculent automatiquement en anglais).

Mettons que je remplace le Libellé court par « Day », lorsque j’enregistre, j’ai alors :
Code « D » / Libellé « jour » / Libellé court « Jour ».
Pour moi cela veut bien dire que Dolibarr « sait » que c’est « Jour » en français et « Day » en anglais non ?

Si maintenant j’édite une facture en français, mon unité indique bien « Jour », mais si j’édite une facture en anglais, mon unité indique toujours « Jour » et non pas « Day »…

L’unité qui s’affiche dans les factures, provient bien du « Libellé court » non ?

Dois-je rajouter une traduction quelque part alors qu’il semble que Dolibarr « sache » déjà que « Jour » = « Day » ?

Est-ce-que les « Libellés courts » réfèrent à une clef ? Pour « Jour » et « Day », je trouve la clef « unitD » par exemple dans « Rechercher une traduction », mais est-ce vraiment lié ?
Car si je change le « Libellé court » par « day » (sans majuscule donc), une fois avoir cliqué sur « Modifier », j’ai bien le terme « jour » qui s’affiche (sans majuscule donc), cela veut bien dire qu’il a été « traduit » quelque part. Par contre je ne trouve pas de clef correspondante dans « Rechercher une traduction ». Sauf erreur de ma part, il n’y a aucune traduction de « jour ».

J’avoue que je tourne en rond avec ces questions…

Merci d’avance pour vos lumières.

Cordialement,
IML

1 « J'aime »