CustomTabs - Création d'onglets personnalisés

C’est le contraire normalement. Tu pousses dans la version où se trouve le problème (3.8 dans notre cas) et Laurent pousse dans les versions supérieures.

Bonjour,

Dans un onglet CustomTab de type Fiche, avec 3/4 champs de type « Monétaire » (coût d’achat HT, TVA, coût d’achat TTC etc) est-il possible de faire du calcul simple et si oui, comment ? (une addition du nombre d’un champ avec celui d’un autre champ par exemple, le tout devant s’afficher dans la même fiche finale).

Merci !

Bonjour
pour le moment la réponse est non mais pour la prochaine version de janvier (1.3.1), j’ai ajouté un hook permettant d’ajouter des données supplémentaire au niveau de l’entête de l’onglet
Dans votre cas il faudra ajouter un hook effectuant et affichant le calcul au dessus des autres champs saisies

1 « J'aime »

OK, merci !

Autre question : possible d’avoir un bouton « Imprimer » qui n’imprime que la fiche CustomTab, en l’isolant de l’interface de Dolibarr ?

1 « J'aime »

Il est déjà possible de récupérer les infos saisies au niveau d’un customTabs à partir d’un ODT, mais si vous souhaitez récupérer les infos sur un pdf, il faudra passer par une éditions personnalisés (nous en réalisons sur demande après devis)
on dois aussi pouvoir faire des choses avec myList et myListMore mais cela dépend de votre besoin…

Oui, c’est vrai qu’il y a la génération ODT ! Mais on ne peut pas - je crois - en générer depuis une fiche Produit ? (qui dispose lui-même un CustomTab de type fiche)

Je confirme l’absence d’édition (odt comme pdf) au niveau de la fiche produit
c’est un vrai manque, pourtant ce n’est pas compliqué à rajouter

Bonjour,
Y-a-t-il un moyen pour trier les valeurs dans les dictionnaires lors de l’affichage ?
En liste et liste avec case à cocher…
Merci pour votre réponse.
Stéphane

Bonjour,

Utilisatrice de Customtabs, que je trouve top, je suis confrontée à une problématique de syntaxe.
Dans un de mes Customtabs, je souhaite créer une liste issue d’une table, dont le lien serait dynamique.
J’arrive bien à créer un lien non dynamique : la syntaxe est très clairement expliquée dans les différentes sources que j’utilise (depuis peu, le Book ‹ Bien gérer son entreprise avec Dolibarr ›)

C’est au niveau de cette syntaxe-ci que cela pêche : cela ne fonctionne pas chez moi

syntaxe_liste_issue_table_dynamique.png

J’ai donc tenté de copier-coller (et taper pour éviter les erreurs de copier-coller) de ces façons dans le champ ‹ Valeur › :

  1. Comme indiqué dans l’exemple : Facture:/compta/facture/class/facture.class.php:facture:libellé
  2. Sans majuscules ni accent : facture:/compta/facture/class/facture.class.php:facture:libelle

Voici le message d’erreur que j’obtiens :

erreur_sql.png

J’ai essayé également de linker à ma fiche des liens vers les propales, des contacts tiers, en vain :unhappy: C’est le même écueil : pb syntaxe SQL.

Je me frotte un peu à MySQL et Php depuis la découverte de Dolibarr, je me demande donc si je comprends bien de quoi la syntaxe se compose.

Voici ma compréhension de cette syntaxe ; en restant sur l’exemple des factures, pour coller à l’exemple :
Voici la syntaxe à insérer dans le champ valeur :
nom_de_la_classe:Chemin_du_fichier_définissant_la_classe:Nom _de_la_table:nom_du_champ

Cela se compose de la façon suivante :

1/ nom_de_la_classe: C’est l’appellation de l’élément qui m’intéresse dans les fichiers Php.
Dans le cas présent, c’est tout bonnement facture:
Quand je consulte les fichiers dans htdocs, cela apparaît sous le nom ‹ facture › (=classe de l’élément) :

filezilla_z.png

2/ chemin_du_fichier_definissant_la_classe= c’est le chemin du fichier ‹ class › de mon élément dans htdocs+le nom du fichier class.php de mon élément
Dans le cas présent, c’est /compta/facture/class/facture.class.php:
Je trouve ces éléments ici :

filezilla2.png

3/ nom_de_la_table C’est le nom de la table de mon élément dans MySQL.
Dans le cas présent, c’est facture:, CAD le nom de ma table SQL sans le préfixe ‹ llx_ ›

4/ nom_du_champ c’est le nom de la colonne SQL qui m’intéresse, et que je veux voir apparaître dans mon champ pour le sélectionner et en faire un élément cliquable.
Dans le cas présent, j’ai indiqué le nom de la colonne, à savoir facnumber car c’est la colonne SQL de la table llx_facture qui m’intéresse et que je souhaite pouvoir linker de manière dynamique dans ce champ.
A noter que le message d’erreur est le même que j’indique ici ‹ libelle › (comme dans l’exemple) ou ‹ facnumber › …

D’abord, je souhaiterais savoir si ma compréhension de la syntaxe est juste, si je vais chercher mes infos aux bons endroits, à savoir :
Points 1 et 2 = notion de classe, donc Php (htdocs)
Point 3 et 4 = notion de table, donc MySQL.

Par ailleurs, j’aimerais comprendre où je fais une erreur …

Voilà, c’était la question relou du vendredi après-midi

A vous lire et vous remerciant par avance pour votre aide.

bonjour
il y a une confusion entre le paramétrage d’un lien et d’une table liée
pour la table il suffit de saisir le nom de la table et le libellé utilisé par celle-ci dans votre cas => facture:numfact

1 « J'aime »

Bonjour,

Fervante utilisatrice de Customtabs, et notamment la création de liste de Dictionnaires (= tables SQL), j’aurais une suggestion d’amélioration, car cette fonctionnalité est vraiment top.
Je m’excuse à l’avance si cela a déjà été mentionné dans un autre sujet (mais je n’ai pas trouvé)

Il m’arrive de créer des dictionnaires assez longs (genre 300 lignes).
Lorsque je souhaite ou modifier ou supprimer, sauf erreur de ma part, il faut le faire ligne à ligne (en cliquant ligne à ligne sur le logo qui va bien selon l’action que l’on souhaite faire).

Ce qui serait formidable, c’est qu’il y ait une case vide à cocher en début de ligne, si l’on souhaite réaliser cette action en masse sur des lignes bien identifiées (cocher les lignes + sélectionner ou ‹ modification › ou ‹ suppression ›).

En tout cas, merci à vous pour ce Customtabs qui offre un bel éventail de possibilités.

Bonne soirée

Bonsoir et merci pour votre retour
Généralement il est rare de supprimer/modifier en masse des éléments d’un dictionnaire, c’est pour cette raison que je n’ai pas mis en place cette fonction (en ajouter plusieurs à la fois oui, c’est pourquoi la fonction existe déjà d’ailleurs)
Techniquement ce n’est effectivement pas très compliqué de rajouter une telle fonction
Juste pour comprendre votre besoin, pouvez-vous m’expliquer pourquoi vous supprimer/modifier autant de lignes à la fois?

1 « J'aime »

Bonjour Defrance,

Merci de votre retour rapide.

Certains des dictionnaires me servent ou pour mettre une requête SQL derrière ou pour créer des ‹ Listes issue d’une table › dans des attributs complémentaires créer dans les éléments.
Le contenu de certains champs de ces customtabs (donc champs de dictionnaire) peuvent être amenés à être modifiés ‹ en masse ›.

Vu que nous ne sommes pas encore en production, et que la politique commerciale de notre société n’est pas encore totalement figée (mais que je mets déjà en place ces tables) il est fréquent qu’au fil des réunions, certains éléments évoluent … et par conséquent, que je doive reprendre le contenu de mes tables (et parfois le contenu d’un champ sur l’ensemble des lignes).

La possibilité de sélectionner puis éditer l’ensemble des lignes sur lesquelles il faut apporter des ajustements serait un gros plus, c’est certain.

Bonne journée

1 « J'aime »

OK
Je comprend un peu plus votre besoin, on est pas dans une logique de production mais plus de « bricolage pré-prod » si vous me permettez le terme.
Ce qui me gène dans ses logiques de mise à jour suppression en masse, c’est que dans un ongliet dictionnaire on conserve l’intégrité des clé unique d’enregistrement (on modifie la valeur mais l’id reste unique, ce qui permet de conserver les liens déjà existants vers d’autres tables)

Il existe déjà dans customTabs une fonction d’import en masse de lignes à partir d’un fichier CSV, pensez-vous que si je rajoute une fonction de suppression (activable ou non) de la totalité des données avant l’import cela pourrait répondre à votre demande.

Dans votre cas il suffirait d’exporter le dictionnaire, le modifier dans excel, libreoffice on un éditeur de texte puis de réimporter le fichier
Par contre on ne conserverai pas la fameuse clé d’unicité mais si vous passer par une liste issue d’une table, vous pouvez passer par une autre valeur.

1 « J'aime »

Cela pourrait effectivement une solution tout à fait adaptée en effet.
Ce serait super !

Bonjour
La fonction de suppression des lignes en masse sera dans la prochaine version de customTabs, qui devrait être diffusée à partir de la semaine prochaine (le temps de faire les tests d’usage, mettre à jour la doc, …)
Il faudra d’abord activer la fonction dans le paramétrage de l’onglet puis lancer le traitement qui une fois traité désactivera de nouveau la fonction (c’est une sécurité…)

1 « J'aime »

Bonjour,

Énorme ! merci de votre réactivité et de votre écoute.

Bonne journée

Bonjour,

J’étudie actuellement votre solution CustomTabs et je suis confronté à une problématique sur votre site de test. Il s’agit des templates HTML qui fonctionnent pour les LABEL mais pas pour les FIELDS. En effet après avoir créé mes champs et monté une table en HTML, les valeurs #LABEL-test# ressortent correctement, mais les valeurs #FIELD-test# restent despérement vides. Est-ce une problématique connue chez vous? Dans l’attente de votre réponse, qui motivera certainement mon achat

Code html testé

<table class="border" width="100%"><tbody><tr class="liste_titre"><th colspan="4">Champs de saisie de l'onglet</th></tr><tr>
  <td width="19%" nowrap="">#LABEL-licenwin#</td>
  <td width="21%">#FIELD-licenwin#</td>
      <td width="20%">#LABEL-nbposte#</td>
      <td width="40%">#FIELD-nbposte#</td>
</tr>
<tr><td width="19%" nowrap="">&nbsp;</td><td colspan="3"></td></tr>
<tr>
  <td width="19%" nowrap="">#LABEL-espaceserver#</td><td>#FIELD-espaceserver#</td>
  <td><strong>"#LABEL-test#"</strong></td>
  <td><strong>"#FIELD-test#"</strong></td>
</tr>
</tbody></table>
1 « J'aime »

Bonsoir
J’ai fait un test et tous fonctionne correctement avec mon compte admin, alors j’ai poussé un peu plus loin …
Il y avait un soucis avec le compte utilisateur de base au niveau de la requete de gestion des habilitations pour les utilisateurs non admin
La correction est en ligne sur notre serveur de démo, vous pouvez donc continuer vos tests.
Je vous remercie pour la remonté d’anomalie
PS : l’extrafields de type séparateur n’est pas saississable

1 « J'aime »

Bravo ! quel réactivité, j’adore !

Merci à vous.