« MyList/en » : différence entre les versions

De Documentations Patas-monkey
Aller à la navigation Aller à la recherche
Page créée avec « {{Note|The fields below only apply to price or number type fields.|warn}} »
Page créée avec « Feeding this field requires knowledge of the tables and the organization of the classes of the different elements of Dolibarr. Some examples of parameter formation: * 1st case: list from a table Table: <code>c_typent</code> (without the prefix) Key: <code>id</code> Label: <code>libelle</code> Parameter to indicate in the configuration of the myList field: <code>c_typent:id:libelle</code> * 2nd case: make the list results clickable »
Ligne 226 : Ligne 226 :
It allows you to make it clickable and/or filterable by drop-down list.
It allows you to make it clickable and/or filterable by drop-down list.


<div lang="fr" dir="ltr" class="mw-content-ltr">
Feeding this field requires knowledge of the tables and the organization of the classes of the different elements of Dolibarr.
L'alimentation de ce champ nécessite une connaissance des tables et de l'organisation des classes des différents éléments de Dolibarr.
Some examples of parameter formation:
Quelques exemples de formation du paramètre :
* 1st case: list from a table
* 1er cas : liste issue d'une table
Table: <code>c_typent</code> (without the prefix)
Table : <code>c_typent</code> (sans le préfixe)
Key: <code>id</code>
Clé : <code>id</code>
Label: <code>libelle</code>
Libellé : <code>libelle</code>
Parameter to indicate in the configuration of the myList field: <code>c_typent:id:libelle</code>
Paramètre à indiquer dans le paramétrage du champ de myList : <code>c_typent:id:libelle</code>
* 2nd case: make the list results clickable
* 2ème cas : rendre cliquables les résultats de liste
</div>


<div lang="fr" dir="ltr" class="mw-content-ltr">
<div lang="fr" dir="ltr" class="mw-content-ltr">

Version du 15 janvier 2025 à 14:49

This Module allows the creation of personalized lists,

it is also possible:

  • to create sums, cumulatives and averages of the numeric fields present in the list
  • to create an edition in PDF format of the list
  • to generate exports in CSV format of the lists

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.

Enabling export will allow the extraction of data present in the lists in CSV format for later reprocessing.

You will finally be able to activate the editions and choose the one used by default in the edition generation table.

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:

  • myList: the main entry myList allows you to display all the lists defined in your environment (even if they are not active). By clicking on the title of the list, you can view the list. This screen is very useful when developing a list that is not yet active. However, it is preferable to test these lists on a test environment and then use the import/export function to set it up in production.
  • New list: this entry will display the page for creating a new list.
  • My Lists: The My Lists link allows you to display the list of lists present in your environment. The link at the beginning of the line allows you to display the result of the list query in addition to its results.
  • Import a list: This entry will display a page allowing you to copy an import file of a list in XML format. (See "Importing a list" below).

Creating a list

Open the list creation page from the menu link Patas-M Tools > Mylist > New list:

Label

the label will be displayed as the title of the list display page.
Description a text presenting the list
Menu title the title will be displayed in the Dolibarr menus as a link to the list

Main menu and Secondary menu

to determine the location of the list in the Dolibarr menus, it is necessary to indicate them by filling in the fields with their exact name.

The values ​​to be entered here are present in the menu URLs:

Example of the third party main menu:

...htdocs/company/index.php?mainmenu=companies&leftmenu=

Example of a secondary menu:

...htdocs/societe/index.php?leftmenu=thirdparties

Tab in item List results can be displayed in a tab added to the cards of the item selected in this list (third parties, products, projects, third party and product categories) and filtered to only display results related to itself.

To make the link between the myList and the selected element, you must use the #ID# constant which will transmit the value to the query to filter the data.

Authorizations Dolibarr natively has advanced features to manage access rights to its menus. It is possible to use this field to enter an authorization condition to access the content of the page if the condition is not respected, the menu will be grayed out.

Generally, the authorizations are defined as follows: $user->rights->element->right where element corresponds to a Dolibarr module (quote, order, project, etc.) and right to authorization on the module (read, write, configure, etc.).

For example, to allow access only to users with read access to commercial proposals, you must enter $user->rights->propale->read.

To identify the authorization you want to use, a tip is to go to the configuration file of the module managing this authorization.

Language file in order to make the variable names more explicit when entering them and the column headers on the tables, it is possible to use the translation files.

Just add one or more language file names separated by a #

If the language file is not placed in the Dolibarr core folder, you must add @modulename to it.

Author
CSV Export conditions the display of a CSV export button for the list result
Printable document select here the orientation of the PDF that will be proposed to you by default to generate the results of your lists.
Note: To be able to select the documents, they must have been activated in the module configuration
Table query SQL query that will define the display of the data
Processing query will allow you to configure a processing on the list results such as DELETE, UPDATE
Default custom fields Custom fields entered here allow you to define a set of variables used by the query to pre-filter fields that are not necessarily displayed.

It is possible to create multiple custom fields by separating them with :

Example of creating a simple list

Creation page

For the example, let's create a list of products and services displaying their selling price, cost and PMP, accessible from the main Products/Services menu:

Open the page for creating a new list and enter the data opposite, then complete the first step of creating the list by clicking on the Create button
Once the list is created, three new fields are displayed and can be modified when editing the form:
  • CSV export allowed: this feature will allow the CSV export of the results of the list for later reprocessing.
  • Force display of all results: this feature will force the display of all the results of the list without filtering.
Depending on the complexity of your query and the amount of information to be processed, activating this feature can slow down the system
  • Active list: following its creation, a list is by default, Inactive. Modify its status to allow its display from the menu links declared on its form.

There are three buttons at the bottom of the screen:

  • Modify will allow you to edit the list to modify the query or any other element (access menus, display tabs, etc.)
  • Import / Export the page will generate the XML file that you can modify before copying it to export it
  • Delete will erase the list from your database. Always deactivate a list before deleting it. If you delete it without having deactivated the list beforehand, it will remain present in your database and on your interface, but emptied of its content|warn

List fields

From the list screen, it is possible to create fields, click on the New field button or the (+) icon at the end of the title:

  • Field name: name of the field as it is present in the Dolibarr tables
  • Alias: this is the alias of the field in the database sense. This alias is not mandatory
  • Name: column title displayed in the list
  • Width: the width entered here will apply to the field on the screen
  • Width on edition: the width entered here will apply to the PDF edition
  • Alignment
  • Active: the field will be present and displayed by default. Its display can be modified from the other columns button.
  • Visible: the field will be displayed in the list
  • Default filter: adding a default filter allows the recording of an active filter value as soon as the list is displayed.
  • Type: this parameter generally follows the operation of Dolibarr's native additional fields.

List of possible types

  • Text: displays the field in text format
  • Price: displays a number using the precision format defined in Dolibarr
  • Percentage: displays a number as a percentage
  • Date: displays a date in "day" format
  • Duration: displays the numeric value in time format (e.g. the value 7200 will be displayed as 2:00)
  • Boolean: displays a yes or no in the cell of the line
  • ​​Status/State: corresponds to the format of the statuses of the elements (be careful, this type requires additional configuration
  • List: Displays the content of the field but also a filter list
  • List type extrafield: to highlight the value of an additional field on the sheets on a myList, select this type of field. Its parameter will then be ElementName:FieldName. For example, to display the content of the extrafield extrafield recorded on a product sheet, enter product:extrafield.
  • Eval: allows you to enter in the parameters a php code which uses the dol_eval function of the additional calculated fields


depending on the type of fields created, other fields may appear for modification.

The fields below only apply to price or number type fields.
  • Field Totalization: Will display a table with the totals of the fields for which the feature has been enabled.
  • Field Average: Will display a table with the averages of the fields for which the feature has been enabled.

Field Setting

This feature is related to the setting of key type fields (rowid and fk_xxx) for list fields of type text, list and status.

It allows you to make it clickable and/or filterable by drop-down list.

Feeding this field requires knowledge of the tables and the organization of the classes of the different elements of Dolibarr. Some examples of parameter formation:

  • 1st case: list from a table

Table: c_typent (without the prefix) Key: id Label: libelle Parameter to indicate in the configuration of the myList field: c_typent:id:libelle

  • 2nd case: make the list results clickable

Exemple de saisie d'un champ cliquable pour les contacts

Nom de la classe de l'élément à rendre cliquable : Facture:
Chemin du fichier définissant la classe : /compta/facture/class/facture.class.php
Nom de la table : :facture
Champ à afficher : nom_du_champ
Paramètre à indiquer dans le paramétrage du champ de myList : Facture:/compta/facture/class/facture.class.php:facture:nom_du_champ

Résultat affiché pour l'exemple ci-contre 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
  • 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 :

  • nom de champ : le champs qui fait le lien entre la liste et la catégorie
  • Paramètre de champ : la valeur avant la séparation correspond au nom de la table catégorie (dans l'exemple llx_categorie_member) la seconde valeur correspond au lien vers le champs saisie dans le nom du champ (ici fk_element)

Voici d'autres exemples de paramètre de catégorie :

  • fournisseur:fk_soc
  • societe:fk_soc
  • contact:fk_socpeople
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.

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 )
Terminez la création des champs sur le modèle ci-contre

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.
Le filtrage de l'affichage des résultats de la liste nécessite la présence d'une condition dans sa requête SQL. Si aucune n'est présente, ajoutez par exemple WHERE 1 = 1

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 :

  1. Désactivez et réactivez le module,
  2. Vérifier sur le ChangeLog si une nouvelle version a été publiée,
  3. Ré-installez/mettez à jour le module,
  4. Vérifiez que le remplacement de fichiers natifs de Dolibarr ne soit pas nécessaire au bon fonctionnement du module.
  5. 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).

Vos listes n'apparaissent pas/plus dans vos menus

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;