« MyList/en » : différence entre les versions
Page créée avec « <code>...htdocs/company/index.php?mainmenu=companies&leftmenu=</code> » |
Page créée avec « Example of a secondary menu: » |
||
Ligne 111 : | Ligne 111 : | ||
<code>...htdocs/company/index.php?mainmenu=companies&leftmenu=</code> | <code>...htdocs/company/index.php?mainmenu=companies&leftmenu=</code> | ||
Example of a secondary menu: | |||
<div lang="fr" dir="ltr" class="mw-content-ltr"> | <div lang="fr" dir="ltr" class="mw-content-ltr"> |
Version du 15 janvier 2025 à 14:44
Presentation
The myList Module allows you to create your own personalized lists from the information contained in your database and make them accessible from the Dolibarr menus. The information is retrieved by SQL query.
From the custom lists, different actions can be performed from additional processing requests (deletion, update, etc.).
MyList comes with three list import files to inspire you to create your own lists: contacts to call back, list of unpaid invoices and turnover.
myList also includes:
Sums and averages of the calculated fields of myList on screen and on edition | |
PDF editions |
myList also includes two new field types that allow the display of a tooltip of additional field values from a list or dictionaries.
Configuration of the module features
Configuration
The module configuration is done from the modules administration page accessible via the menus Home > Configuration > Modules by clicking on the icon or at the end of the line.
The myList module configuration page contains the settings provided by myListMore. Mylistmore therefore does not require any specific settings.
https://www.youtube.com/watch?v=1ZKnTFTGxfM
Permissions
Access to the module's features can be restricted to existing users and groups or those created after the module's installation. Click on the – to add a permission. A granted permission is symbolized by a green check mark ( ).
- User and group permissions
Fichier:Myliste Permissions-Utilisateurs.png | Access to the module's features can be restricted to users and groups, from their profile then Permissions tab, according to the permissions |
- Default permissions
The default permissions (Home > Configuration > Security > Default permissions), granted to any user created after the installation of the module, if he is not added to a group, are the following |
Getting started
The features of myList are accessible from the main menu tab Patas-M Tools. The features of MyListMore are added to those of MyList when creating new lists. Your secondary menu then presents the following menu entries:
Creating a list
Open the list creation page from the menu link Patas-M Tools > Mylist > New list:
Exemple de création d'une liste simple
Page de création
Pour l'exemple, créons une liste des produits et services affichant leur prix de vente, de revient et PMP, accessible depuis le menu principal Produits/Services :
Ouvrez la page de création d'une nouvelle liste et saisissez les données ci-contre puis terminez la première étape de création de la liste en cliquant sur le bouton Créer | |||
Une fois la liste créée, trois nouveaux champs sont affichés et peuvent être modifié en édition de la fiche :
|
Trois boutons sont présent en bas de l'écran :
- Modifier vous permettra d'entrer en édition de la liste pour en modifier la requête ou tout autre élément (menus d'accès, onglets d'affichage …
- Importation / Exportation de la page générera le fichier XML que vous pourrez modifier avant de le copier pour l'exporter
- Supprimer effacera la liste de votre base de données. Désactivez toujours une liste avant de la supprimer. Si vous effectuez une suppression sans avoir désactivé la liste auparavant, elle restera présente dans votre base de donnée et sur votre interface, mais vidée de son contenu|warn
Champs de la liste
A partir de l'écran de la liste, il est possible de créer des champs, cliquez sur le bouton Nouveau champ ou le l'icone (+) en bout de titre:
|
Liste des types possibles
- Texte : affiche le champs au format texte
- Prix : affiche un nombre en utilisant le format de précision défini dans Dolibarr
- Pourcentage : affiche un nombre en pourcentage
- Date : affiche une date au format « jour »
- Durée : affiche la valeur numérique au format heure (ex: la valeur 7200 s'affichera 2:00)
- Boolean : affiche un oui ou un non dans la cellule de la ligne
- Statut/Etat : correspond au format des statuts des éléments (attention ce type nécessite un paramétrage supplémentaire
- Liste : Affiche le contenu du champs mais aussi une liste de filtrage
- Extrafield de type liste : pour faire ressortir sur une myList la valeur d'un champ supplémentaire sur les fiches, sélectionnez ce type de champ. Son paramètre sera alors
NomDeLElement:NomDuCHamp
. Par exemple, pour affiche le contenu de l'extrafieldextrafield
enregistré sur la fiche d'un produit, saisissezproduct:extrafield
. - Eval : permet de saisir dans les paramètres un code php qui utilise la fonction dol_eval des champs supplémentaires calculés
selon le type de champs crée il d'autres champs peuvent apparaitre en modification.
- Totalisation du champ : affichera un tableau avec les totaux des champs pour lesquels la fonctionnalité aura été activée.
- Moyenne du champ : affichera un tableau avec les moyennes des champs pour lesquels
Paramètre du champ
Cette fonctionnalité est liée au paramétrage des champs de type clé (rowid
et fk_xxx
) pour les champs de liste de type texte, liste et statut.
Elle permet de rendre cliquable et/ou filtrable par liste déroulante.
L'alimentation de ce champ nécessite une connaissance des tables et de l'organisation des classes des différents éléments de Dolibarr. Quelques exemples de formation du paramètre :
- 1er cas : liste issue d'une table
Table : c_typent
(sans le préfixe)
Clé : id
Libellé : libelle
Paramètre à indiquer dans le paramétrage du champ de myList : c_typent:id:libelle
- 2ème cas : rendre cliquables les résultats de liste
Exemple de saisie d'un champ cliquable pour les contacts |
|
- Paramètres les plus fréquemment utilisés :
- Tiers :
Societe:/societe/class/societe.class.php
- Contact :
Contact:/contact/class/contact.class.php
- Utilisateurs :
User:/user/class/user.class.php:user:lastname
- Produit :
Product:/product/class/product.class.php
- proposition commerciale :
Propal:/comm/propal/class/propal.class.php
- Commande client :
Commande:/commande/class/commande.class.php:commande:ref
- Facture client :
Facture:/compta/facture/class/facture.class.php
- Projet :
Project:/projet/class/project.class.php
- Taches :
Task:/projet/class/task.class.php
- Contrat :
Contrat:/contrat/class/contrat.class.php
- Intervention :
Fichinter:/fichinter/class/fichinter.class.php
- Expédition :
Expedition:/expedition/class/expedition.class.php
- Commande fournisseur :
CommandeFournisseur:/fourn/class/fournisseur.commande.class.php
- Facture fournisseur :
FactureFournisseur:/fourn/class/fournisseur.facture.class.php
- Entrepôt :
Entrepot:/product/stock/class/entrepot.class.php
- Événement :
ActionComm:/comm/action/class/actioncomm.class.php
- Banque :
Account:/compta/bank/class/account.class.php
- Catégorie :
Categorie:/categories/class/categorie.class.php
- Tiers :
- pour les champs de type texte contenant une url, il est possible de les rendre cliquable en ajoutant le paramètre "url"
Champ de type catégorie
pour les champs de type catégorie il convient de réaliser le paramétrage suivant :
Voici d'autres exemples de paramètre de catégorie :
| |
Il est alors possible de sélectionner plusieurs catégories pour le filtrage.
Si l'on utilise la coche, le filtrage de plusieurs catégories se fera par OU au lieur de ET
|
Filtrage sur les champs
- Options de filtrage sur les valeurs du champ.
Durée, Nombre, Somme, Prix Résultat < 20000 nombres < et = à 200000 200000-300000 nombres de 200000 à 300000 inclus Date 2008 toutes les dates de 2008 du 01/01 au 31/12 inclus 2006-2009 toutes les dates du 01/01/2006 au 31/12/2009 inclus >2004 toutes les dates supérieures (ou =) au 01/01/2004 20060401 Tous les éléments correspondant au jour saisi au format AAAMMJJ
- Boolean, Liste, Statut : dans le cas d’un filtre booléen, trois valeurs sont sélectionnables dans la liste :
- vide : le champ n’est pas filtré
vrai
: sélectionne les valeurs saisies à « vrai »faux
: sélection des valeurs saisies à « faux »- Dans les autres cas, cela dépend du paramétrage additionnel du champ.
- Boolean, Liste, Statut : dans le cas d’un filtre booléen, trois valeurs sont sélectionnables dans la liste :
Remarques sur le filtrage
- Une zone au format Check n’est pas filtrable
- Dans le cas d'un filtrage par la société d'un utilisateur (par exemple pour filtrer une liste sur les facture) il faut utiliser la valeur #SOCID# comme valeur par défaut sur un champ contenant la clé de la société
- Dans le cas d'un filtrage par l'utilisateur par défaut, il faut utiliser la valeur #USERID# comme valeur par défaut sur un champ contenant la clé l'utilisateur
Champs Calculés
Il est possible d'afficher un champ calculé dans la liste depuis du code php saisie dans les paramètres additionnels.
ce type de champs reprend le fonctionnement natif des attributs supplémentaires (extrafields) et la fonction dol_eval(). |
Gestion des clés spécifiques (rowid
, fk_statut
)
- Champs rowid : les champs rowid ont un fonctionnement particulier dans myList, associés à des paramètres, ils permettent de créer un lien vers l’élément dont ils sont la clé.
- Rendre un champ cliquable est sans doute la problématique la plus complexe de myList car elle implique de comprendre un peu l’architecture de Dolibarr.
- Tout d’abord il est nécessaire de repérer dans les répertoires de Dolibarr où se trouve la classe de l’élément que l’on souhaite appeler et comment celle-ci se nomme dans le fichier
- Si l’on souhaite par exemple rendre cliquable une commande fournisseur, il faut trouver le fichier de la classe associée à cet élément (
/fourn/class/fournisseur.commande.class.php
) puis regarder le nom de la classe objet (CommandeFournisseur).
- Champs fk_statut : les champs fk_statut servent à connaître l'état d'un élément. Cependant, le nombre et le type d'état est propre à chaque élément. Les choix sélectionnables sont donc à ajouter aux paramètres supplémentaires des champs. Comme pour le
rowid
, il convient donc de repérer la classe utilisée pour définir l'élément mis ajouter les états que l'on souhaite utiliser en les séparant par des #.- exemple pour les tickets : Ticket:/ticket/class/ticket.class.php:0#1#2#3#5#7#8#9 )
- pour les factures, il y a une valeur spécifique "P" pour le statut "payé" de la facture ( Facture:/compta/facture/class/facture.class.php:0#1#2#P )
Pour que la liste soit accessible depuis les menus de Dolibarr, il vous suffit de modifier la liste pour la rendre active.
Avant de rendre la liste active, vous pouvez l'afficher avec sa requête en utilisant le lien de menu Outils Patas-M > MyList.
Cette astuce ne fonctionne que sur les liste non encore activées. |
Une fois la liste activée, elle apparaîtra depuis les liens définis sur sa page de création.
Le bouton Export en CSV permet d'effectuer un export des résultats de la liste au format CSV pour un traitement externe. Il est nécessaire d'avoir activé la fonctionnalité d'export dans la "Configuration" et dans le paramétrage enregistré lors de la "Champs de la page de création d'une liste". |
Si vous avez paramétré la liste pour l'afficher dans l'onglet d'une fiche, les résultats seront filtrés selon l'élément.
|
Autres fonctionnalités
Onglet dans l'élément
Il est possible d'afficher un myList comme un onglet d'un élément pour cela il faut utiliser dans la requete SQL un alias particulier pour la table associé à l'élément
prefix | Element |
s | Tiers (société) |
p | Produit |
e | Stock (entrepot) |
p | Projet |
p | Propal |
c | commande |
f | Facture |
pf | Demande de prix |
cf | commande fournisseur |
ff | Facture Fournisseur |
Import d'une liste
Il est possible d'enregistrer une liste et le paramétrage de ses champs en important un fichier XML.
Des exemples de liste sont livrés avec le module MyList dans le dossier XMLsample |
Depuis la page Outils Patas-M > MyList > Importer une liste, collez le fichier XML dans la zone de saisie et cliquez sur le bouton Lancer l'importation.
Activez la liste depuis sa fiche et elle sera accessible depuis vos menus de Dolibarr |
Activez la liste depuis sa fiche et elle sera accessible depuis vos menus de Dolibarr.
Requêtes de traitement
En complément de la requête d'affichage de la liste, une requête de traitement peut donner la possibilité d'effectuer de nouvelles actions, toujours à partir de requêtes SQL.
Partons d'une liste de contacts et ajoutons dans le champ 'Requête de traitement la ligne DELETE FROM 'llx_socpeople' WHERE rowid=#ROWID# permettant leur suppression.
|
Modifiez l'un des champs pour l'enregistrer au type checkable. La liste devient alors tel que ci-contre.
Les cases à cocher serviront à sélectionner les résultats de la liste auxquels appliquer le traitement indiqué dans la requête. Dans notre exemple, les contacts sélectionnés seront supprimés de la base de données. |
Sélection des champs à l'affichage des listes
En activant DataTables dans la "Configuration", vous pouvez choisir les colonnes de la liste à afficher ou non par cases à cocher depuis le bouton Autres colonnes |
Questions fréquentes
soucis généraux
Ce chapitre répertorie les difficultés rencontrées avec le module. Vous y trouverez donc des éléments de réponse quant à son utilisation. Si vous rencontrez une autre erreur que celles décrites ci-dessous lors de l'utilisation de ce module :
- Désactivez et réactivez le module,
- Vérifier sur le ChangeLog si une nouvelle version a été publiée,
- Ré-installez/mettez à jour le module,
- Vérifiez que le remplacement de fichiers natifs de Dolibarr ne soit pas nécessaire au bon fonctionnement du module.
- Vérifiez qu'aucune incompatibilité avec un autre module ne soit indiquée. Le cas échéant, suivez nos préconisations.
Si, malgré ces manipulations, l'erreur persiste, contactez-nous en utilisant le formulaire dédié (http://docs.patas-monkey.com/support/).
Les résultats de la liste ne sont pas ceux attendus
- Le meilleur moyen de s'assurer de la qualité de votre requête SQL est d'interroger directement votre base de données via phpmyadmin ou logiciel équivalent. Adapter la requête de la liste pour la coller dans la zone SQL de phpmyadmin. Si les résultats sont les mêmes que la liste, revoyez votre requête.
Dans le cas contraire, myList peut présenter un bug. Contactez-nous ! (docs.patas-monkey.com/support).
Suite à une mise à jour du module ou des listes elles-mêmes, même si vos listes indiquent qu'elles sont activées, vous devrez les réactivez en entrant en édition du champ Active et en enregistrant à nouveau.
Il est aussi possible de recharger l'ensemble des listes depuis la liste des listes avec le bouton suivant |
Message d'erreur au lancement du myList
Message d'erreur DB_ERROR_NOSUCHFIELD ou DB_ERROR_NOSUCHTABLE |
Vous avez indiqué dans votre requête un champ ou une table qui n'existent pas dans votre base de donnée ou qui n'est pas identifiable. Revoyez votre requête SQL. Il s'agit souvent d'une faute de frappe ou d'une mauvaise liaison dans votre requête. Le contenu du message vous aidera à identifier l'erreur avec les lignes Code retour dernier accès en base en erreur et Information sur le dernier accès en base en erreur. |
Liste supprimée toujours présente
Vous avez supprimé la liste sans la désactiver d'abord. Mylist ne peut plus supprimer la liste : vous devrez nettoyer votre base de données en supprimant la liste de la table llx_mylist depuis phpmyadmin.
Message d'erreur à la création de la liste
Si vous avez effectué une mise à jour de MyList depuis une ancienne version, il est possible que vous rencontriez un message d'erreur à la création d'une liste.
Pour le corriger, vous devrez effectuer la requête suivante sur votre base de données : ALTER TABLE `llx_mylist` CHANGE `model_pdf` `model_pdf` VARCHAR(255) NULL DEFAULT NULL;