[RESOLU]Ou renseigner l'emplacement d'un article ?

Bonjour :happy:

en appliquant la logique suivante : l’emplacement est défini une seule fois au niveau de la fiche produit

dans la boucle qui traite toutes les lignes de commandes, il suffit de remplacer le code

					
$object->lines[$i]->fetch_optionals($object->lines[$i]->rowid);
$optionkeyname="emplacement";
$unityvalue = $extrafieldsline->showOutputField($optionkeyname, $object->lines[$i]->array_options['options_'.$optionkeyname]);

par

if ($object->lines[$i]->fk_product_type == 0 && $object->lines[$i]->fk_product)
	{
	$produit = new Product($db);
	$extrafields = new ExtraFields($db);
	$extralabels = $extrafields->fetch_name_optionals_label($produit->table_element);

	$produit->fetch($object->lines[$i]->fk_product);
	$produit->fetch_optionals($object->lines[$i]->fk_product,$extralabels);
	$unityvalue = $produit->array_options ['options_emplacement'];
	}

Bonne continuation

Bonjour,

Je viens d’essayer, mais cela me retourne une erreur HTTP 500 lorsque je génère le pdf, j’ai modifié les 2 $db en $this->db (je ne sais pas s’il fallait faire ça ou pas), je n’ai plus l’erreur, mais la valeur du champ ne s’affiche pas dans le PDF.

Ouuuuppsss ! :pinch:

Le champ s’affiche bien ! Comme j’ai fait des essais, j’avais supprimé le champ sur les produits puis recréé… sans penser à remplir le champ dans les articles ! Je viens donc de renseigner les champs et ca fonctionne bien, je retrouve bien la valeur dans le PDF.

Merci beaucoup :laugh:

:sunglasses:
Marque le sujet comme [Résolu] dans le titre :wink:

Pour ceux qui veulent le fichier final, il est en PJ de ce post.
Je précise que j’ai du utiliser un seul champ au niveau du produit et utiliser le code de « pcbleu », c’est la seule manière qui a fonctionné chez moi.

Une dernière question, car je n’ai pas bien compris comment fonctionnait la mise en page du pdf par php, est’il possible de créer une colonne « emplacement » ? car là mon champ est complètement à gauche, pas sur que ça passe à l’impression. Et cela ferait plus propre d’avoir une colonne dédiée.

Quelqu’un a t’il déja réussi à mettre des extrafield dans les templates ODT ? (ils sont plus simple à modifier qu’un fichier php qui génère un pdf…)

Merci à tous pour votre aide.

Pièces jointes :

Bonjour à tous,

J’ai beau chercher je ne comprend pas à quel endroit sont générer les colonnes. J’aimerai pouvoir rajouter une colonne « Emp. » afin de rajouter l’emplacement dedans.
Avez-vous une idée de comment faire ?

Merci,

Je viens de trouver !
La librairie qui génère les pdf est FPDF, cela permet déja de trouver la doc et un peu mieux comprendre ! http://www.fpdf.org/

En PJ le fichier pdf modifié, ce n’est surement pas très propre au niveau de la gestion des tailles de cellule, mais ca à le mérite de fonctionner dans mon cas ! :happy:

Pièces jointes :

1 « J'aime »

Hello,

Merci à benjamin45 pour ces investigations qui vont faire gagner du temps à tous.
Pour ma part, plutôt que de modifier le template rouget, j’en ai fait une copie que j’ai appelé merlan et que j’ai activé dans la configuration.
Cela nous laissera le choix d’avoir ou pas les emplacements. Et des fois que rouget évolue…

Bonjour,

nous avons nous aussi un besoin de gestion de l’emplacement d’un produit dans le stock.

Nous utilisons plusieurs entrepôts, et la gestion des lots.

Notre version de Dolibarr est 5.0.7.

Au début nous avons ajouté le numéro d’emplacement dans le numéro de lot. Par exemple C2-xxxxxxx, xxxxxx étant le numéro de lot.
Cela permettait l’affichage sur les pages gérant les stocks (réception commande, envoi, modification de stock).

Par contre, il n’est pas possible de modifier le numéro de lot à l’écran, donc pas possible de « déménager » un lot sur un autre emplacement.

Nous avons ensuite créé une variable « location » dans les attributs complémentaires du module lot. Cette variable ne s’affiche ou ne s’édite que depuis la page du lot sous le menu produits, par contre il n’est pas facile d’y accéder directement.

Nous souhaiterions que cette variable « location » ou « emplacement » soit accessible depuis les pages liées à la gestion de stock, comme le sont les variables « lots » ou « date limite » etc.

Question 1 :
Je n’ai pas trouvé de module sous Dolistore traitant ce genre de problème, est-ce qu’il existe une solution simple pour le faire ?

Question 2 :
S’il n’existe pas de solution simple, est-ce qu’une modification relativement simple du code de products.php et dispatch.php permettrait de faire cet affichage ?

En vous remerciant d’avance.

Vincent