ChelOne Posted March 20, 2013 Share Posted March 20, 2013 Salve a tutti, dopo anni di oscommerce mi sto convertendo a PrestaShop, questo è il mio primo messaggio qui sul forum e colgo l'occasione per salutare la community Vorrei sapere se esiste un modulo che faccia l'export degli ordini in partenza per creare le lettere di vettura per il corriere SDA con il programma SDA InvioWeb. E' una cosa relativamente semplice, si tratta di esportare in un file di testo o csv i nominativi con gli indirizzi e i dati su contrassegno, peso, ecc... In giro non ho trovato niente, se non generici moduli di export che non so se riescono a generare un file esattamente come vuole Invioweb. Link to comment Share on other sites More sharing options...
profi Posted April 24, 2013 Share Posted April 24, 2013 Salve, questa funzione serve anche a me. E' strano che non si possano esportare gli ordini già come default. E' una funzione semplicissima, basta creare un interfaccia con MySQL. Ce la potremmo far fare su misura volendo. SDA con il software proprietario InvioWeb poi offre l'importazione. Probabilmente anche altri corrieri come BRT Bartolini oppure GLS sarebbero in grado di importare il file per non dover inserire i dati per la lettera di vettura a mano. C'è qualcuno che sa quali corrieri Italiani offrono già una soluzione completa compativile con Prestashop? Ho fatto un post qualche giorno fa, chiedendo come sono gestibili i supplementi dei corrieri per "contrassegno" oppure per "contrassegno su appuntamento", ma non ho avuto ancora nessun riscontro. C'è qualcuno che mi può aiutare? Grazie mille ciao Link to comment Share on other sites More sharing options...
LorenzoProdon Posted April 24, 2013 Share Posted April 24, 2013 Posso sapere qual'è la struttura del file da importare in SDA InvioWeb? Cioè proprio i nomi dei campi e l'ordine.. Poi il salvataggio avviene in .csv? Link to comment Share on other sites More sharing options...
profi Posted April 24, 2013 Share Posted April 24, 2013 Ciao Lorenzo, SDA ha una documentazione tecnica molto precisa. Praticamente loro permettono di importare tutti i campi che loro utilizzano, fino al minimo dettaglio, cioè anche cose che di solito usano solo pochissimi. Saranno una sessantina di campi. L'importazione nel software SDA InvioWeb avviene in .csv. Per amministrare gli ordini semplici bastano ca. 10-15 informazioni, cioè i dati del destinatario... Ditta, Nome, CAP, Via, Località, Prov., Telefono, poi ci vuole l'informazione se si tratta di spedizione Raccomandata oppure Pacchetto normale, il peso di solito viene comunicato sempre con Kg 1, dato che il peso viene preso nello smistamento in automatico, poi collo o multicollo, se contrassegno allo l'importo, servizi speciali come .. consegna su appuntamento, oppure consegna entro ore ... più o meno è tutto. In allegato ho caricato la parte del manuale del software SDA dove sono specificati i tracciati che servono per l'importazion in automatico. Il punto 11.4 del manuale spiega il tracciato per la creazone delle lettere di vettura con barcode. Diciamo che per chi spedisce più di 3 pacchetti al giorno è un notevole risparmio di tempo, perché le lettere di vettura con i dati che già il cliente uan volta ha compilato online non bisogna più inserirli. Saluti Roberto Manuale-SDA-tracciato-LDV.pdf Link to comment Share on other sites More sharing options...
LorenzoProdon Posted April 26, 2013 Share Posted April 26, 2013 Si potrebbe creare un piccolo modulo... Quali sarebbero gli ordini da esportare? Quelli con stato ordine "Preparazione in Corso" ? Link to comment Share on other sites More sharing options...
profi Posted April 26, 2013 Share Posted April 26, 2013 Buongiorno Lorenzo, si, è dagli ordini "preparazione in corso" che servono i dati. Io sto appena iniziando ad usare prestashop e per me è importante avere un "workflow" snello e veloce. Fino ad ora ho lavorato solo con lo shop ttproducts di TYPO3 ma non si è dimostrato vantaggioso per la SEO. Un modulo per Prestashop che esporta tutti i campi necessari per spedire via corriere sarebbe molto utile. E' quasi indifferente con che corriere si spedisce perché più o meno tutti i corrieri lavorano con lo stesso pool di dati. Una volta esportati i dati da Prestashop in .csv ognuno si potrà arrangiare con il software del suo corriere per importare quei campi che servono nel loro sistema. Se hai bisogno di ulteriori informazioni sono a tua piena disposizone. Saluti Roberto Link to comment Share on other sites More sharing options...
Totti Posted May 7, 2013 Share Posted May 7, 2013 Magari poi se i corrieri ti mandano un flusso di ritorno con i tracking number da impostare in automatico su PS, sarebbe ancora più completo. Link to comment Share on other sites More sharing options...
profi Posted May 7, 2013 Share Posted May 7, 2013 Centrato. Il tracking number di un corriere diventa sempre più importante per allegerire il problema dell'assenza alla consegna del corriere. Con il tracking number possiamo dare più responsabilità al cliente che è in attesa del pacco ed è in grado di organizzarsi meglio per prenderlo in consegna. Se il pacco torna i deposito e va in giacenza, sono costi che mordono al guadagno del venditore. Ma come si fà ad automatizzare il tracking number? Questo viene emesso solo al momento dell'emissione della lettera di vettura e ce l'abbiamo su carta, spesso con BARCODE. Ma devo tornare in Prestashop Backoffice ad inserire il tracking number manualmente? Un bel lavoraccio! Qualcuno ha un'idea? Ciao Roberto Link to comment Share on other sites More sharing options...
conidig Posted May 7, 2013 Share Posted May 7, 2013 Centrato. Il tracking number di un corriere diventa sempre più importante per allegerire il problema dell'assenza alla consegna del corriere. Con il tracking number possiamo dare più responsabilità al cliente che è in attesa del pacco ed è in grado di organizzarsi meglio per prenderlo in consegna. Se il pacco torna i deposito e va in giacenza, sono costi che mordono al guadagno del venditore. Ma come si fà ad automatizzare il tracking number? Questo viene emesso solo al momento dell'emissione della lettera di vettura e ce l'abbiamo su carta, spesso con BARCODE. Ma devo tornare in Prestashop Backoffice ad inserire il tracking number manualmente? Un bel lavoraccio! Qualcuno ha un'idea? Ciao Roberto magari si potesse tornare in backoffice e inserire, ancora purtroppo non c'è la funzione che permetta di inviare il codice di tracking al cliente che io sappia. Forse esiste al massimo qualche modulo che fa questo lavoro. Link to comment Share on other sites More sharing options...
Totti Posted May 9, 2013 Share Posted May 9, 2013 Come no, in PS puoi benissimo impostare il Tracking number. Link to comment Share on other sites More sharing options...
profi Posted May 9, 2013 Share Posted May 9, 2013 Ciao Totti, per quanto che sappia si può fare ma è un lavoraccio farlo manualmente. Meno male che mi son comprato un barcode reader con questo già andrà meglio. Ma poi, avendo inserito il tracking number nell'ordine casella spedizioni, devo avvisare il cliente via e-mail manualmente oppure ci pensa PS a mandarlo in automatico? Come fate voi? Link to comment Share on other sites More sharing options...
Totti Posted May 9, 2013 Share Posted May 9, 2013 Ci pensa PS ad inviare l'email. Link to comment Share on other sites More sharing options...
alfredopacino Posted February 13, 2014 Share Posted February 13, 2014 Ci pensa PS ad inviare l'email. posso sapere qualcosa in più? magari anche con un link.. non ho capito ancora come si gestiscono i corrieri: ok inserisco tutti i dati, i costi, il peso dei pacchi..ma all'atto pratico? chi comunica effettivamente col corriere? dove si pesca il tracker id? Link to comment Share on other sites More sharing options...
Totti Posted February 14, 2014 Share Posted February 14, 2014 Tu devi esportare un file da caricare successivamente sul programma che il corriere ti fornirà. Dipende da che corriere usi. 1 Link to comment Share on other sites More sharing options...
alfredopacino Posted February 14, 2014 Share Posted February 14, 2014 (edited) Tu devi esportare un file da caricare successivamente sul programma che il corriere ti fornirà. Dipende da che corriere usi. dove posso esportare? per favore ogni info è ben accetta sono ancora pieno di dubbi su questa questione dei corrieri se avessi saputo dell'assenza di una guida per lo sviluppatore approfondita in italiano per PS credo ci avrei pensato un po' di più su prima di scegliere.. Edited February 14, 2014 by alfredopacino (see edit history) Link to comment Share on other sites More sharing options...
Totti Posted February 17, 2014 Share Posted February 17, 2014 Ci sono o moduli già fatti oppure tramite mysql te li esporti da solo. Purtroppo non sapendo bene cosa devi fare posso darti solo questi consigli. Link to comment Share on other sites More sharing options...
alfredopacino Posted February 18, 2014 Share Posted February 18, 2014 (edited) Ci sono o moduli già fatti oppure tramite mysql te li esporti da solo. Purtroppo non sapendo bene cosa devi fare posso darti solo questi consigli. non so ancora quale corriere useranno credo mail boxes etc, che voi sappiate ha un software apposito? ho notato che anche inserendo a mano il tracking number parte la mail al cliente con "oggetto pacco in viaggio", ma non contiene il tracking number! neanche nell'account cliente sul sito ve n'è traccia! ma come si gestiscono le spedizioni? altra cosa: ma posso sapere per favore se lo status ordine "in attesa di pagamento", "pagamento accettato", "preparazione in corso" devo cambiarlo io o ci pensa PS? Edited February 18, 2014 by alfredopacino (see edit history) Link to comment Share on other sites More sharing options...
Totti Posted February 19, 2014 Share Posted February 19, 2014 Per quanto riguarda il Tracking , devi configurare anche il link quando configuri il corriere. Link to comment Share on other sites More sharing options...
pinarello Posted February 21, 2014 Share Posted February 21, 2014 io ho realizzato tool che esporta file già funzionanti per GLS ed SDA. Chiaramente ho creato una connessione diretta al database, ma sarebbe interessante realizzare un modulino che esporti per qualsiasi corriere all'interno del backoffice. Non sono un programmatore esperto, ne lo faccio per professione, non sono ancora riuscito a capire bene la logica di Prestashop per agganciarmi all'interno, ma se qualcuno si vuole cimentare possiamo farlo insieme. <?php if ($id_order != "") { $query="select o.id_shop, oi.id_order_invoice,cus.date_add, s.iso_code, a.id_country, a.id_state, s.name AS sname, c.name AS cname, cu.id_currency, cu.name AS currname, cu.conversion_rate AS currrate from ". _DB_PREFIX_."orders o"; $query .= " left join ". _DB_PREFIX_."order_invoice oi on o.id_order=oi.id_order"; $query .= " left join ". _DB_PREFIX_."address a on o.id_address_delivery=a.id_address"; $query .= " left join ". _DB_PREFIX_."country_lang c on a.id_country=c.id_country AND c.id_lang='".$id_lang."'"; $query .= " left join ". _DB_PREFIX_."state s on a.id_country=s.id_country AND a.id_state=s.id_state"; $query .= " left join ". _DB_PREFIX_."currency cu on cu.id_currency=o.id_currency"; $query .= " left join ". _DB_PREFIX_."customer cus on cus.id_customer=o.id_customer"; $query.=" WHERE o.id_order ='".mysql_real_escape_string($id_order)."'"; $res=dbquery($query); $row=mysql_fetch_array($res); $id_country = $row['id_country']; $id_state = $row['id_state']; $id_shop = $row['id_shop']; $id_order_invoice = $row['id_order_invoice']; $provincia = $row['iso_code']; $order_currency = $row['id_currency']; $order_currname = $row['currname']; $conversion_rate = $row['currrate'] / $cur_rate; $data_cliente = $row['date_add']; $nation =$row['cname']; if ($id_order) { $query="select distinct o.*,a.* from ". _DB_PREFIX_."orders o LEFT JOIN "._DB_PREFIX_."address a ON a.id_address=o.id_address_delivery"; $query .= " where o.id_order=".mysql_real_escape_string($id_order); $res=dbquery($query); if (mysql_num_rows($res)>0) { $order=mysql_fetch_array($res); $id_customer=$order['id_customer']; $id_lang=$order['id_lang']; $id_cart=$order['id_cart']; $payment=$order['payment']; $module=$order['module']; $invoice_number=$order['invoice_number']; $delivery_number=$order['delivery_number']; $total_paid_tax_incl=$order['total_paid_tax_incl']; $total_products=$order['total_products']; $total_discounts=$order['total_discounts']; $total_shipping=$order['total_shipping']; $total_wrapping=$order['total_wrapping']; $firstname=$order['firstname']; $lastname=$order['lastname']; $company=$order['company']; $carrier = $order['id_carrier']; $address = $order ['address1']; $postcode = $order ['postcode']; $city = $order ['city']; $phone = $order ['phone']; $reference = $order ['reference']; $mobile =$order ['phone_mobile']; $codice_ficale =$order ['dni']; } } Con queste 2 query si possono reperire tutti i campi voluti, mi sembra manchi la mail. Per GLS ho creato poi un array con i campi necessari e dopo averli assegnati ho salvato il file .txt (i campi devono avere anche degli spazi). Per SDA ho usato una funziona che mi salva lo stesso array in un file CSV con tutti i campi Se qualcuno vuole collaborare e farmi capire come posso fare la stessa cosa all'interno di Prestashop, vorrei che fosse possibile aggiungere un pulsante nel dettaglio dell'ordine, e quindi salvare direttamente da li il file. Con il mio tool purtroppo devo uscire da prestashop ed inserire il mio numero d'ordine da cercare grazie a tutti Link to comment Share on other sites More sharing options...
alfredopacino Posted February 21, 2014 Share Posted February 21, 2014 (edited) ragazzi scusate l'ot ma io ho parlato col commercialista, e anche la fattura generata da PS non è granché a norma di legge per l'italia (a voler essere buoni) servono i dati dell'azienda in intestazione qui ho postato la richiesta d'aiuto http://www.prestashop.com/forums/topic/309867-invoice-customization/?do=findComment&comment=1569569 e questo è un ordine dei dati decente shop name COMPANY REAL NAME REGISTRATION CODE ADDRESS ADDRESS LINE2 CITY (PROVINCE) - COUNTRY TELEPHONE - FAX se qualcuno sapesse realizzarla sarebbe d'aiuto a tutta la comunità italiana anche i dati del cliente devono avere un ordine diverso, quindi bisogna trovare il modo di cambiare l'ordine Edited February 21, 2014 by alfredopacino (see edit history) Link to comment Share on other sites More sharing options...
pinarello Posted February 27, 2014 Share Posted February 27, 2014 Ragazzi io sto cercando di realizzare questo modulo, ma non riesco a capire come passare una variabile al Template. Mi spiego meglio, nel dettaglio ordine lato Admin ho creato un box dove devo aggiungere i miei pulsanti. tutto funziona fino ad ora. Ho creato quindi il mio controller: <?php /* * 2007-2013 PrestaShop * * NOTICE OF LICENSE */ class AdminCarrierRaf extends AdminOrdersControllerCore{ public function __construct() { $this->table = 'order'; $this->className = 'Order'; $this->lang = false; $this->addRowAction('view'); $this->explicitSelect = true; $this->allow_export = true; $this->deleted = false; $this->context = Context::getContext(); $this->_select = ' a.id_currency, a.id_order AS id_pdf, CONCAT(LEFT(c.`firstname`, 1), \'. \', c.`lastname`) AS `customer`, osl.`name` AS `osname`, os.`color`, IF((SELECT COUNT(so.id_order) FROM `'._DB_PREFIX_.'orders` so WHERE so.id_customer = a.id_customer) > 1, 0, 1) as new'; $this->_join = ' LEFT JOIN `'._DB_PREFIX_.'customer` c ON (c.`id_customer` = a.`id_customer`) LEFT JOIN `'._DB_PREFIX_.'order_state` os ON (os.`id_order_state` = a.`current_state`) LEFT JOIN `'._DB_PREFIX_.'order_state_lang` osl ON (os.`id_order_state` = osl.`id_order_state` AND osl.`id_lang` = '.(int)$this->context->language->id.')'; $this->_orderBy = 'id_order'; $this->_orderWay = 'DESC'; $this->shopLinkType = 'shop'; if (Tools::isSubmit('id_order')) { // Save context (in order to apply cart rule) $order = new Order((int)Tools::getValue('id_order')); if (!Validate::isLoadedObject($order)) throw new PrestaShopException('Cannot load Order object'); $this->context->cart = new Cart($order->id_cart); $this->context->customer = new Customer($order->id_customer); } parent::__construct(); } public function displayContent() { global $cart; $order = new Order((int)Tools::getValue('id_order')); self::$smarty->assign('orderTotal', ($cart->getOrderTotal() / 1.24) - $cart->getOrderShippingCost()); $order = new Order($this->id_order); $cart = new Cart($order->id_cart); $description=""; foreach ($cart->getProducts() AS $k=>$v){ $description.=$v['name']."X".$v['quantity']; } $description=urlencode($description); $this->context->smarty->assign(array( 'total_to_pay'=>$order->getOrdersTotalPaid(), 'description'=>$description )); parent::displayContent(); } public function generateInvoicePDFByIdOrder($id_order) { $order = new Order((int)$id_order); if (!Validate::isLoadedObject($order)) die(Tools::displayError('The order cannot be found within your database.')); $order_invoice_list = $order->getInvoicesCollection(); Hook::exec('actionPDFInvoiceRender', array('order_invoice_list' => $order_invoice_list)); $this->generatePDF($order_invoice_list, PDF::TEMPLATE_INVOICE); } public function processGenerateInvoicesPDF() { $order_invoice_collection = OrderInvoice::getByDateInterval(Tools::getValue('date_from'), Tools::getValue('date_to')); if (!count($order_invoice_collection)) die(Tools::displayError('No invoice was found.')); $this->generatePDF($order_invoice_collection, PDF::TEMPLATE_INVOICE); } } dove dovrei creare il mio metodo che si aggancia al pulsante, e funziona tutto solo per il fatto che non riesco a prelevare la variabile id_order. Credo che dovrei passarla con in metodo init? Aiutatemi Link to comment Share on other sites More sharing options...
maipiusenza Posted March 14, 2014 Share Posted March 14, 2014 Se può esservi utile, io ho scritto un software che crea i file CSV, compatibili con GLS, eBoost, SDA, BRT e SpedireWeb. Inoltre ho creato un modulo per prestashop che permette di passa al mio software tutte le informazioni del destinatario, il peso dell'ordine, l'eventuale importo del contrassegno e, impostando correttamente alcuni settings, crea automaticamente il file CSV in una cartella sull'HD al singolo click dalla pagina "dettaglio ordine" di prestashop. Se il sito/software del corriere viene quindi impostato per la stampa "automatica"/"in background" ascoltando la cartella creata dal mio software, stampa subito anche la LDV. Trovate tutti i detagli qui: http://www.maipiusenza.com/LDV/ Modulo prestashop: http://www.maipiusen..._prestashop.php Inoltre sto lavorando ad una funzione aggiuntiva del software che permetta di elaborare in un colpo solo un file contenete i dati di ordini multipli (esportati da prestashop, ebay, amazon o qualsiasi altra fonte visto che gli si può spiegare l'ordine dei campi che riceve per assegnarli in modo corretto a nome, cap, via ecc.). Elaborato tale file il software crea un CSV multiriga compatibile con i vari corrieri, così da stampare in un colpo un tot di LDV. Con questa funzione aggiuntiva potrebbe quindi lavorare bene con il modulo al quale sta lavorando pinarello se invece di creare il CSV per il singolo ordine, lo si creasse per un tot di ordini selezionati dalla pagina con la lista degli ordini. Nadia Link to comment Share on other sites More sharing options...
godlo Posted September 16, 2014 Share Posted September 16, 2014 (edited) Ragazzi io sto cercando di realizzare questo modulo, ma non riesco a capire come passare una variabile al Template. Mi spiego meglio, nel dettaglio ordine lato Admin ho creato un box dove devo aggiungere i miei pulsanti. tutto funziona fino ad ora. Ho creato quindi il mio controller: <?php /* * 2007-2013 PrestaShop * CUT ... ... } } dove dovrei creare il mio metodo che si aggancia al pulsante, e funziona tutto solo per il fatto che non riesco a prelevare la variabile id_order. Credo che dovrei passarla con in metodo init? Aiutatemi salve, mi chiedevo se poi questo progetto è andato avanti. Conosco già LDV ma mi chiedevo se pinarello avesse proseguito. Edited September 16, 2014 by KintaroOe (see edit history) 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