Je voudrais utiliser le modules projet pour gérer des chantiers chez des clients.
Dans la carte projet j’ai donc ajouté un type de contact qui est « Adresse du chantier » Parfois celui-ci correspond à l’adresse du Tiers, parfois pas, notamment lorsque le client a plusieurs chantiers à différentes adresses.
Dans la proposition commerciale et dans les factures je cherche donc à avoir en plus des cadres « émetteur » et « adressé à » un cadre « adresse chantier ». J’aimerais aussi récupérer le libellé du projet.
Est-ce que mon approche de gestion de chantier vous semble bonne?
Si oui :
1° j’adapte « pdf_azur.modules.php » moi même, bof est-ce difficile ou impossible?? J’ai réussi à ajouter des extrafields liés à la propale dans « pdf_azur.modules.php » mais je ne vois pas comment récupérer des informations liées au projet.
OU
2° vous connaissez un module qui fait déjà tout ça, super je suis preneur… pour le moment je ne l’ai pas trouvé.
Merci, c’est déjà bien de savoir que c’est possible! Existe-t-il des wiki / tuto qui expliquent comment personnaliser les template pdf. Mis à part https://wiki.dolibarr.org/index.php/Create_a_PDF_document_template qui reste assez basique et ancien je ne trouve pas beaucoup d’information. C’est bien dommage car générer des pdf est beaucoup plus pratique que des ODT.
J’ai reçu un mail de votre part « Voici une première piste -> » avec un lien non fonctionnel. Bizarrement ce message n’apparait pas dans le forum. Pouvez-vous resoumettre le lien ?
J’essaye d’avancer avec cette fonction mais je bloque…
J’ai réussi à adapter htdocs/core/modules/propale/doc/doc_generic_proposal_odt.modules.php de manière à créer une série de tags avec pour préfixe « worksite_ » que j’utilise dans le template ODT pour compléter une adresse de chantier. Cela marche bien lorsque j’ajoute une adresse intitulée « WORKSITE » de type externe liée à la propale.
Par contre comment faire pour qu’une adresse liée à un projet lui même associé à la propale soit récupéré???
Pouvez-vous me mettre sur la bonne piste
// If WORKSITE contact defined on proposal, we use it // Julien
$useworksitecontact = false;
$arrayidcontact = $object->getIdContact('external', 'WORKSITE');
if (count($arrayidcontact) > 0) {
$useworksitecontact = true;
$result = $object->fetch_contact($arrayidcontact[0]);
}
if (!empty($useworksitecontact)) {
$contactworksiteobject = $object->contact;
//var_dump($contactworksiteobject);
//}
}
if ($useworksitecontact)
$array_worksite_contact = $this->get_substitutionarray_contact($contactworksiteobject, $outputlangs, 'worksite'); // Julien