way to make working the option PRODUCT_ADD_TYPE_IN_DOCUMENTS:
with admin user:
go to menu « home->setup->other setup » and add the value PRODUCT_ADD_TYPE_IN_DOCUMENTS in the name field, value 0 or 1 in the value field (disabled or active).
J’ai la même erreur.
Lorsque c’est un produit dans la base de données, aucun problème.
Par contre lorsqu’il s’agit des lignes rajoutées manuellement en service ou produit, ils se mettent tous en Produit même si c’est un service.
Je pense que la fonction $prodser->isService() dans pdf.lib.php ne fonctionne pas sur les lignes manuelles.
En effet, mais je me suis dis qu’il n’était pas nécessaire de créer un nouveau.
Je corrige actuellement le problème… et posterai le nouveau code d’ici peu
Voici le code qui permet de mettre si c’est un produit ou service sur les lignes entrées manuellement.
if (!empty($conf->global->PRODUCT_ADD_TYPE_IN_DOCUMENTS)) // In standard mode, we do not show this
{
if (isset($prodser->id))
{
if ($prodser->isService())
{
$prefix_prodserv = $outputlangs->transnoentitiesnoconv("Service")." ";
}
else
{
$prefix_prodserv = $outputlangs->transnoentitiesnoconv("Product")." ";
}
}
else
{
if ($object->lines[$i]->product_type == 1)
{
$prefix_prodserv = $outputlangs->transnoentitiesnoconv("Service")." ";
}
else if ($object->lines[$i]->product_type == 0)
{
$prefix_prodserv = $outputlangs->transnoentitiesnoconv("Product")." ";
}
}
}
Je fais un teste sur $prodser->id, je suppose que si c’est un produit entrée manuellement, il n’a pas d’ID dans la base de données.
Cela implique de modifier le fichier pdf.lib.php qui sera écrasé à la prochaine MAJ.