Nérim Posted July 13, 2011 Share Posted July 13, 2011 Bonjour,je vois que l'utilité de ce champ n'amène à rien.Prestashop ne dispose pas d'une visualisation de stock, il n'a pas de bon de préparation sur lequel il pourrait apparaitre, ou sur le bon de livraison.C'est dommage, car la partie logistique n'est pas à négliger, même lors de son lancement, rien que voir afficher ce champ sur le bl serait très pratique.Si quelqu'un connait des modules qui prennent en compte ce champ, n'hésitez pas à le faire savoir.Merci Link to comment Share on other sites More sharing options...
marider Posted July 14, 2011 Share Posted July 14, 2011 BonjourIl me semble que "Emplacement (entrepôt)" serre à pouvoir donner un indice de rayonnage ou d'une allée pour pouvoir localisé facilement un artlcle dans les magasins ou entrepôtsCordialement Link to comment Share on other sites More sharing options...
Nérim Posted July 15, 2011 Author Share Posted July 15, 2011 Bonjour, cela je l'ai très bien compris, ma demande est simple existe il un module utilisant ce champ, car à l'heure actuel j'ai l'impression qu'il n'est pas exploité.Un ex : Si l'adresse d'emplacement notifier ressortait sur le Bon de livraison, cela permettrait un gain de temps non négligeable sur la préparation de commande, car là on tourne sur du va chercher lycos... Link to comment Share on other sites More sharing options...
marider Posted July 15, 2011 Share Posted July 15, 2011 BonjourA ma connaissance j'en connais pasCordialement Link to comment Share on other sites More sharing options...
marider Posted July 23, 2011 Share Posted July 23, 2011 Bonjour A tu trouvé une solution ? Cordialement Link to comment Share on other sites More sharing options...
RMULLER Posted September 25, 2011 Share Posted September 25, 2011 Bonjour Avez-vous trouvé une solution pour afficher l'emplacement sur le bon de livraison ? Merci. Régis Link to comment Share on other sites More sharing options...
Nérim Posted September 27, 2011 Author Share Posted September 27, 2011 Bonjour, oui on peu l'afficher sur le bon de livraison, il faut modifier deux fichiers du coeur de prestashop (sauvegarde du fichier conseillé avant modif). Il s'agit de order.php et pdf.php dans "prestashop\classes" il faut trouver ce code dans order.php : public function getProductsDetail() { return Db::getInstance()->ExecuteS(' SELECT * FROM `'._DB_PREFIX_.'order_detail` od WHERE od.`id_order` = '.intval($this->id)); } Et le remplacer par public function getProductsDetail() { return Db::getInstance()->ExecuteS(' SELECT od.*, p.`location` AS location, m.`name` AS name FROM `'._DB_PREFIX_.'order_detail` od LEFT JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = od.`product_id` LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (m.`id_manufacturer` = p.`id_manufacturer`) WHERE od.`id_order` = '.intval($this->id)); } Ensuite ouvrir le fichier pdf.php Trouver ceci vers la ligne 700 else { $header = array( array(self::l('Description'), 'L'), array(self::l('Reference'), 'L'), array(self::l('Qty'), 'C'), ); $w = array(120, 30, 10); } et ajouter la ligne suivante parmis les autres là ou vous le souhaitez par rapport à l'ordre d'affichage dans le pdf (perso je l'ai mis avant le champ qte) array(self::l('Location'), 'L'), // Add Location Après là ou il y est inscrit 120, 30, 10, il faut rajouter une valeur par ex : 120, 30, 30, 10. Cela correspond à la taille du champ pour la mise en page, faites des tests avec une commande fictive pour bien positionner le champ sans décalage*. Même modif ici, ajouter une valeur ici (ligne 730) : * Product table with price, quantities... */ public function ProdTab($delivery = false) { if (!$delivery) $w = array(100, 15, 30, 15, 30); else $w = array(120, 30, 10); la ligne qui contient les cinq valeurs ne correspond pas au bl mais à la facture, donc on ne touche pas. Ensuite dernière modif, cherchez cette ligne plus bas dans le fichier pdf.php $this->Cell($w[++$i], $lineSize, ($product['product_reference'] ? $product['product_reference'] : '--'), 'B'); Ajoutez le code suivant sous la ligne précédement indiqué : if ($delivery) // Add location (do not forget to change the code in order.php) $this->Cell($w[++$i], $lineSize, $product['location'], 'B'); // Add location Voilà normalement cela doit fonctionner. *Attention toute commande passé avant la mise en place de ce code, ne contiendra pas de valeur dans le champ location sur le bon de livraison. Si vous inscrivez un emplacement sur un produit après que celui soit commandé, il n'apparaitra pas. Si vous remplissez le champ avant une commande, l'emplacement s'affichera, la commande sauvegardera le champ emplacement. Voilà c'est quelques peu fastidieux, il aurait pu être plus simple de ma part de mettre le fichier pdf.php en téléchargement, je ne l'ai pas fait, car je trouve qu'il est important de connaître les modifications que l'on fait, surtout sur des fichiers du coeur de prestashop... Edit : modification effectué sur prestashop 1.4+, je ne sais pas si cela fonctionne sur la 1.3. 1 Link to comment Share on other sites More sharing options...
i-accessoires Posted September 29, 2011 Share Posted September 29, 2011 Bonjour, Je suis pas un spécialiste mais j'ai testé ces modifs et elles ne fonctionnent pas. En modifiant le ORDER.PHP, les commandes ne s'affichent plus dans le BO. Pour le fichier PDF.PHP c'est le prix qui s'affiche à la place de l'emplacement. Quelqu'un d'autre a testé? Link to comment Share on other sites More sharing options...
Nérim Posted September 29, 2011 Author Share Posted September 29, 2011 Bonjur, Je viens de tester à l'instant avec le code que j'ai inscrit dans ce sujet, pas d'erreur, cela fonctionne. Votre erreur avec le order.php viens surement d'un mauvais remplacement de code ou de la suppression d'une balise pendant la modif. L'erreur du pdf n'est pas une erreur à mon avis, vous avez surement mal paramétré les valeurs créant un décalage, essayez là ou il y est inscrit à la base 120, 30, 10 par 90, 30, 30, 10 (modif à faire sur deux lignes 700 & 730). Cdlt Link to comment Share on other sites More sharing options...
Kahuna_ben Posted July 6, 2012 Share Posted July 6, 2012 (edited) En ce qui me concerne, la personne que j'ai aidé à installer sa boutique prestahop (1.4.8) ne souhaitait pas que l'emplacement apparaisse dans les .pdf qu'elle édite. Elle le voulait dans directement dans Admin > Commande Dans le tableau récapitulatif des produits achetés. Pour y arriver, voilà ce qu'il a fallu faire : dans admin/tabs/AdminOrders.php 1/ Ajout du titre et de la colonne "Emplacement" dans le tableau. Vers la ligne 726, après : <th>'.$this->l('Product').'</th> Nous avons ajouté : <th>Emplacement</th> 2/ On va chercher la variable concernant l'emplacement dans la base de données Quelques parts aux alentours de la ligne 770, juste au dessus du commentaire // Customization display Nous avons ajouté : $emplacement = Db::getInstance()->getRow(' SELECT location FROM '._DB_PREFIX_.'product WHERE id_product = '.(int)($product['product_id'])); 3/ On injecte la variable dans le tableau Puis au dessus de : <td align="center">'.Tools::displayPrice($product_price, $currency, false).'</td> Nous avons ajouté : <td align="center">'.$emplacement['location'].'</td> Edited July 6, 2012 by Kahuna_ben (see edit history) 1 Link to comment Share on other sites More sharing options...
guillaume78 Posted August 27, 2012 Share Posted August 27, 2012 Bonjour Je viens de faire la modification de Nérim et ça fonctionne parfaitement pour les emplacements des fiches produits, mais pas pour les déclinaisons, la zone emplacement du PDF reste vide. J'ai bien trouvé un module qui affiche les emplacements sur le bon de commande et qui prend en charge les déclinaisons, mais je trouve dommage d'enlever les modifications et d’investir dans un autre module alors que je suis si près du but. Quelqu'un aurait il une solution? Merci Link to comment Share on other sites More sharing options...
guillaume78 Posted August 29, 2012 Share Posted August 29, 2012 Je viens de modifier le code de nérim pour le fichier order.php et maintenant l'emplacement des déclinaisons est bien affiché sur le bon de préparation, mais l'emplacement des produits sans déclinaison ne s'affiche plus. public function getProductsDetail() { return Db::getInstance(_PS_USE_SQL_SLAVE_)->ExecuteS(' SELECT od.*, p.`location` AS location, n.`location` AS location, m.`name` AS name FROM `'._DB_PREFIX_.'order_detail` od LEFT JOIN `'._DB_PREFIX_.'product` p ON p.`id_product` = od.`product_id` LEFT JOIN `'._DB_PREFIX_.'product_attribute` n ON n.`id_product_attribute` = od.`product_attribute_id` LEFT JOIN `'._DB_PREFIX_.'manufacturer` m ON (m.`id_manufacturer` = p.`id_manufacturer`) WHERE od.`id_order` = '.intval($this->id)); Je suis déjà surpris du résultat car je modifie le code sans vraiment tous comprendre. Pour le reste, je sèche, alors si quelqu’un peut m'aider sa serai vraiment sympa. Merci Link to comment Share on other sites More sharing options...
jokoss Posted January 19, 2013 Share Posted January 19, 2013 Bonjour, vous avez trouvé une solution pour le bug des déclinaisons ? Link to comment Share on other sites More sharing options...
mizou125 Posted March 14, 2013 Share Posted March 14, 2013 Bonsoir, Une solution pour PS 1.5.2 ?? Link to comment Share on other sites More sharing options...
amine.bahou Posted April 26, 2013 Share Posted April 26, 2013 (edited) Bonjour, une solution pour PS 1.5.4 , les emplacements des fichiers à configurer ne sont pas les même, je n'arrive pas à trouver order.php ? et AdminOrders.php? Edited April 26, 2013 by amine.bahou (see edit history) Link to comment Share on other sites More sharing options...
mizou125 Posted April 27, 2013 Share Posted April 27, 2013 Bonsoir, SVP une solution pour PS 1.5 Link to comment Share on other sites More sharing options...
SONYX Posted September 1, 2013 Share Posted September 1, 2013 Je me permet de relancer ce POST car je n'arrive pas a adapter le code sur la version 1.5 Merci Link to comment Share on other sites More sharing options...
Tristan de VGO Posted September 1, 2013 Share Posted September 1, 2013 (edited) Bonsoir vous voulez adapter l'ancien champ emplacement ou le nouveau? Edited September 1, 2013 by Tristan de VGO (see edit history) Link to comment Share on other sites More sharing options...
SONYX Posted September 1, 2013 Share Posted September 1, 2013 Je veux afficher l'emplacement du produit sur le bon de livraison, le champs qui se trouve dans produits --> entrepôt, pour me permettre de preparer les colis plus rapidement. Merci de ton aide Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now