Y a-t-il un moyen de trier les projets par numéro de projet dans les menus déroulants des devis, factures …?
J’utilise un numéro de projet pour chacune de mes affaires. Le nombre de projet grossissant, je commence à avoir un soucis d’utilisation. Lorsque j’affecte un projet à un devis, facture… le menu déroulant me montre mes projets triés selon le champs « Libellé » du projet et non selon son numéro PJXXX-XXXX. Mon libellé contient le nom de client, style M.Dupont… et non un numéro générique, puisque le PJXXXX-XXXX est censé le faire. Le dernier projet ouvert se retrouve à n’importe quelle position dans le menu déroulant. Le menu déroulant laisse de plus voir peu de caractères. Cela commence à être difficile pour retrouver mes projets, il me faut lire toute la colonne et chercher le bon numéro. Y a-t-il un moyen de trier les projets par numéro de projet dans les menus déroulants des devis, factures …?
Hello
le trie sur les projet de la liste s’effectue actuellement sur le titre du projet
pour trier sur la référence il faut modifier le fichier htdocs/lib/project.lib.php
ligne 174 remplacer : « p.title » par « p.ref »
si tu ne souhaites avoir que les projets associés à ton client dans la liste (sachant que les autres projets sont grisés (fonction dont je n’en vois pas l’intérêt au passage), il te faut juste décommenter (enlever // au début de la ligne) la ligne se trouvant juste au dessus…
Super merci !
J’ai aussi changé ASC en DESC et j’ai maintenant les projets classés par PJ et en ordre descendant, comme je le souhaite. Super pratique, le dernier créé apparait en premier.
Question subsidiaire : Quote « (sachant que les autres projets sont grisés (fonction dont je n’en vois pas l’intérêt au passage) »
re,
le fait de décommenter cette ligne fait disparaitre les projets grisés. Ce que je souhaite (si c’est possible ?) est que les projets grisés deviennent sélectionnable. Dit autrement, qu’un projet affecté à une société puisse être utilisé avec d’autre société. J’affecte ainsi un projet à mon client principal, mais je peux aussi créer d’autres actions avec d’autres intervenants (sous-traitants etc…).
Merci encore
Olviier
ah… j’avais fait une réponse, mais pas postée sans doute…
D’abord un grand merci pour ta réponse. Enlever ces lignes me permet d’avoir accès à un projet avec divers intervenants. Après une nuit dessus, je réalise qu’en fait il s’agit d’un bug de dolibarr.
Imaginons que je créé un projet de construction de maison pour le futur heureux propriétaire M. Lheureux. Je met donc « M. Lheureux » dans la champ « société » du projet. Dans ce projet, j’ajoute la société « Constructeur » comme intervenant. Et pourtant, quand j’effectue une action (propal, action agenda…)pour « Constructeur », je ne pas pas prendre le projet de M. Lheureux ce qui n’est pas normal. Dans l’onglet « Fiche » du Tiers « Constructeur », on ne voit pas non plus le projet dédié à ce tiers alors qu’on le voit bien pour M. Lheureux. Je vais reporter cette partie de mon past dans la partie « bug ».
Avec ton aide, je peux maintenant commencer à faire de la gestion de projet. le faire et une action sur « Constructeur » apparait bien dans l’onglet « Référents » du projet. Mais on s’en doutait, ne voit pas le projet dans la fiche de « Constructeur ».
dans ton cas la société constructeur serai plus à associer en tant que fournisseur que client (d’ailleurs, je doute que tu factures le constucteur
Ce qu’il manque en fait sur la gestion de projet c’est la notion de prestataire externe…
J’ai besoin d’aide. La structure du fichier project.lib.php a changé dans la version 3.5 et je ne peux plus faire cette modification. J’en ai vraiment besoin. Help ! J’ai un peu tout essayé, mais je ne comprends pas le php
olivier
en fait le code ligne a été déplacé dans un autre fichier
html.formprojet.class.php
il faut toujours commenter les mêmes lignes mais dans cet autre fichier vers la ligne 121
mille merci defrance. Ouf tout fonctionne. Je revois tous mes projets dans les 2 sens.
Peux-tu encore m’aider, pour clore ce sujet ?
Le tri de mes 260 projets se fait sur le nom. Galère. Tu m’avais aidé pour faire le tri sur le numéro de PJ, voir citation en dessous. Mais dans la 3.5 cela ne fonctionne plus. Il y a un nouveau fichier à modifier ?
je m’auto-réponds. la réponse à ma question était toute bête : c’était encore le même fichier
Aller dans /dolibarr/htdocs/core/class/html.formprojet.class.php
1)Pour classer les projets par ordre de numéro descendant,vers ligne 80 changer
$sql.= " ORDER BY p.title ASC";
en
$sql.= " ORDER BY p.ref DESC";
2)Pour pouvoir utiliser un projet avec n’importe quel tiers, aller ver ligne 121 et décommenter
if ($socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid))
{
$disabled=1;
$labeltoshow.=’ - '.$langs->trans(« LinkedToAnotherCompany »);
}
Si defrance avait la gentillesse de répondre à ce message ? et le temps sans doute…
Le point 2) ci-dessus ne fonctionne plus.
J’ai fait la mise à jour de la 3.5.0 à 3.6.1. , le fichier ‹ html.formprojet.class.php › a changé. La seule solution que j’ai trouvée pour que cela fonctionne à nouveau est de mettre le fichier ‹ html.formprojet.class.php › de la 3.5.0 dans la version 3.6.1. C’est pas beau comme solution mais je ne sais pas faire mieux. Quelqu’un sait le faire plus proprement ?
Lors de la mise à jour de mon dolibarr de 3.6.1 en 3.9.3, j’ai dû modifier le fichier /dolibarr/htdocs/core/class/html.formprojet.class.php selon les points ci-dessous. Je ne programme pas en php, j’ai fait simple :
vers ligne 147
// if ($socid > 0) $sql.= " AND (p.fk_soc=".$socid." OR p.fk_soc IS NULL)";
// if (!empty($filterkey)) {
// $sql .= ’ AND p.title LIKE « %’.$this->db->escape($filterkey).’% »’;
// $sql .= ’ OR p.ref LIKE « %’.$this->db->escape($filterkey).’% »’;
// }
// $sql.= " ORDER BY p.ref ASC";
$sql.= " ORDER BY p.ref DESC";
vers ligne 209
// else if ($socid > 0 && (! empty($obj->fk_soc) && $obj->fk_soc != $socid))
// {
// $disabled=1;
// $labeltoshow.=’ - '.$langs->trans(« LinkedToAnotherCompany »);
// }
Tout à l’air de fonctionner… Un projet n’est plus pieds et poings lié à un seul Tiers.
Je vais tester plus en détail. J’ai maintenant ramené dolibarr sur mon LAN, je ne suis pas trop inquiet si j’ai affaiblit la sécurité du système par ces modifs.
Et tout cela sans déranger defrance qui m’avait bien aidé précédemment
olivier
autoréponse pour la version 7.0.1 et précédentes après 3.5.0
vers la ligne 160, en dessous de
$sql.= " WHERE p.entity IN (".getEntity(‹ project ›).")";
ajouter
$conf->global->PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY = ‹ all ›;
vers la ligne 175
commenter $sql.= " ORDER BY p.ref ASC";
et ajouter $sql.= " ORDER BY p.ref DESC";