viger Posted September 11, 2016 Share Posted September 11, 2016 (edited) Ciao a tutti, riporto qui la mia procedura per aggiungere in maniera chiara il telefono (o i telefoni), il codice fiscale e/o la P. IVA in fattura. Ho testato il tutto su una installazione pulita e funziona. Faccio riferimento alla versione 1.6.1.4 nel BO settare la nazione Italia in questo modo (non aggiungere la voce "dni" all'elenco!) aprire il file /classes/pdf/HTMLTemplateInvoice.php cercare (circa riga 318): $data = array( 'order' => $this->order, 'order_invoice' => $this->order_invoice, 'order_details' => $order_details, 'cart_rules' => $cart_rules, 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'addresses' => array('invoice' => $invoice_address, 'delivery' => $delivery_address), 'tax_excluded_display' => $tax_excluded_display, 'display_product_images' => $display_product_images, 'layout' => $layout, 'tax_tab' => $this->getTaxTabContent(), 'customer' => $customer, 'footer' => $footer, 'ps_price_compute_precision' => _PS_PRICE_COMPUTE_PRECISION_, 'round_type' => $round_type, 'legal_free_text' => $legal_free_text, ); modificarlo in: $data = array( 'order' => $this->order, 'order_invoice' => $this->order_invoice, 'order_details' => $order_details, 'cart_rules' => $cart_rules, 'delivery_address' => $formatted_delivery_address, 'invoice_address' => $formatted_invoice_address, 'addresses' => array('invoice' => $invoice_address, 'delivery' => $delivery_address), 'tax_excluded_display' => $tax_excluded_display, 'display_product_images' => $display_product_images, 'layout' => $layout, 'tax_tab' => $this->getTaxTabContent(), 'customer' => $customer, 'footer' => $footer, 'ps_price_compute_precision' => _PS_PRICE_COMPUTE_PRECISION_, 'round_type' => $round_type, 'legal_free_text' => $legal_free_text, 'indni_value' => $invoice_address->dni, 'invat_value' => $invoice_address->vat_number, 'phone_value' => $invoice_address->phone, 'm_phone_value' => $invoice_address->phone_mobile ); aprire il file /pdf/invoice.addresses-tab.tpl cercare (circa riga 31) {$delivery_address} {/if} </td> <td width="33%"><span class="bold">{l s='Billing Address' pdf='true'}</span><br/><br/> {$invoice_address} </td> modificarlo in: {$delivery_address} {if $phone_value}<br />tel: {$phone_value}{/if} {if $m_phone_value}<br />mob: {$m_phone_value}{/if} {/if} </td> <td width="33%"><span class="bold">{l s='Billing Address' pdf='true'}</span><br/><br/> {$invoice_address} {if $invat_value}<br />P.IVA: {$invat_value}{/if} {if $indni_value}<br />CF: {$indni_value}{/if} </td> salvare tutto, chiudere, pulire la cache e fare un po' di ordini di prova. Ovviamente per le nazioni dove il CF non sia obbligatorio il campo non apparirà, così come non apparirà il campo telefono ove questo sia vuoto (se il cliente mette solo il mobile apparirà solo quello, ecc). Queste alcune fatture di test: Italia tel fisso, tel mobile, CF e P.IVA: Italia tel fisso, tel mobile, CF: Italia tel mobile, CF: Italia tel fisso, CF: Regno Unito tel fisso: Spero sia utile! Edited September 14, 2016 by viger (see edit history) Link to comment Share on other sites More sharing options...
Bluenight26 Posted January 28, 2017 Share Posted January 28, 2017 Grazie per la guida, utilissima! Ho fatto le modifiche indicate, quando genero la fattura però mi ritrovo con i campi sdoppiati, uno correttamente con la sigla (es: Tel) e l'altro solo con il numero? Come posso risolvere? Esempio: MARIO ROSSI PALLINO SRL 046573823 Via Mazzini 8 Roma Italia 3496774071 P.IVA: 046573823 Cell: 3496774071 Link to comment Share on other sites More sharing options...
Fluetube Posted April 27, 2017 Share Posted April 27, 2017 La soluzione sembra essere quella giusta anche per il mio caso ma non ne sono certo. Il problema che ho riscontrato con le impostazioni attualmente settate sul mio store Prestashop è questo.Se il cliente è un privato nessuna particolare problematica: compila i campi obbligatori (tra cui anche il codice fiscale) e in fattura questi appaiono più o meno correttamente. Se invece si tratta di un'azienda o comunque di una partita iva le cose cambiano: il fatto di dover inserire obbligatoriamente nome, cognome e codice fiscale di una persona fisica oltre alle voci "Azienda" e "Partita Iva", crea un problema in fatturazione, nel senso che il nome della persona fisica e il suo codice fiscale vengono pubblicati insieme a quelli dell'azienda. Non capisco bene la logica di questa situazione e le eventuali soluzioni... Se qualcuno potesse darmi una informazione in merito sarebbe fantastico, anche perchè sembra essere una questione abbastanza dibattuta con Prestashop (e non solo). Ovviamente sono disponibile anche a sostenere eventuali costi per una eventuale consulenza in grado di risolvere il problema.GRAZIE Link to comment Share on other sites More sharing options...
morando Posted January 16, 2018 Share Posted January 16, 2018 On 28/1/2017 at 4:39 PM, Bluenight26 said: Grazie per la guida, utilissima! Ho fatto le modifiche indicate, quando genero la fattura però mi ritrovo con i campi sdoppiati, uno correttamente con la sigla (es: Tel) e l'altro solo con il numero? Come posso risolvere? Esempio: MARIO ROSSI PALLINO SRL 046573823 Via Mazzini 8 Roma Italia 3496774071 P.IVA: 046573823 Cell: 3496774071 stesso problema hai per caso risolto? grazie Link to comment Share on other sites More sharing options...
viger Posted January 23, 2018 Author Share Posted January 23, 2018 Ciao, scusate il ritardo della risposta, ma non seguo più tanto il forum, poco tempo e il mio shop ora che funziona benone non lo tocco più! Circa la fattura, la modifica a me funziona molto bene. Avete la versione 1.6.1.4? Perché per questa è testata, per le altre non so. Avete fatto tutto ciò che è descritto alla lettera? Perché ho controllato e questo è il risultato della fattura appena emessa nel mio shop di prova in locale: Link to comment Share on other sites More sharing options...
morando Posted January 24, 2018 Share Posted January 24, 2018 riprovato, sulla 1.7 mi sdoppia i dati come già descritto Link to comment Share on other sites More sharing options...
viger Posted January 29, 2018 Author Share Posted January 29, 2018 (edited) On 24/1/2018 at 10:09 PM, morando said: riprovato, sulla 1.7 mi sdoppia i dati come già descritto Beh, come chiaramente scritto nel post di apertura, la modifica è per la 1.6.1.4, per le altre, specie per un major update come la 1.7 è ovvio che non funzioni... Comunque, per il vostro (e mio) diletto, mi sono divertito a trovare la soluzione anche per la 1.7.2.4, la ultima versione al momento scaricabile. Le modifiche qui di seguito proposte fanno fede alla versione out-of-the-box e solo per la fattura, la correzione dell'indirizzo per resi, bolle, ecc non è contemplata, ma non credo sia cosa impossibile. Questa la fattura standard di PS: Questa quella modificata (vanno tradotte le voci): Per le modifiche: - aprire il file /classes/pdf/HTMLTemplateInvoice.php - dopo la riga 314: $layout = $this->computeLayout(array('has_discount' => $has_discount)); inserire queste righe: $state_invo = (new State($invoice_address->id_state))->name; /* Get invoice State name from ID */ $state_deli = (new State($delivery_address->id_state))->name; /* Get delivery State name from ID */ - dopo la riga 339 (legal_free_text): 'ps_price_compute_precision' => _PS_PRICE_COMPUTE_PRECISION_, 'round_type' => $round_type, 'legal_free_text' => $legal_free_text, aggiungere queste righe: /* Start mod for custom address format */ 'firstname_invo' => $invoice_address->firstname, 'lastname_invo' => $invoice_address->lastname, 'company_invo' => $invoice_address->company, 'address1_invo' => $invoice_address->address1, 'address2_invo' => $invoice_address->address2, 'postcode_invo' => $invoice_address->postcode, 'city_invo' => $invoice_address->city, 'state_name_invo' => $state_invo, 'country_name_invo' => $invoice_address->country, 'phone_invo' => $invoice_address->phone, 'phone_mobile_invo' => $invoice_address->phone_mobile, 'vat_number_invo' => $invoice_address->vat_number, 'dni_invo' => $invoice_address->dni, 'firstname_deli' => $delivery_address->firstname, 'lastname_deli' => $delivery_address->lastname, 'company_deli' => $delivery_address->company, 'address1_deli' => $delivery_address->address1, 'address2_deli' => $delivery_address->address2, 'postcode_deli' => $delivery_address->postcode, 'city_deli' => $delivery_address->city, 'state_name_deli' => $state_deli, 'country_name_deli' => $delivery_address->country, 'phone_deli' => $delivery_address->phone, 'phone_mobile_deli' => $delivery_address->phone_mobile, /* End mod for custom address format */ - aprire il file /pdf/invoice.addresses-tab.tpl - cercare la riga 28: {$delivery_address} e sostituirla con: {l s='Name Surname' d='Shop.Pdf' pdf='true'}: {$firstname_deli} {$lastname_deli}<br /> {if $company_deli}{l s='Company' d='Shop.Pdf' pdf='true'}: {$company_deli}<br />{/if} {l s='Address' d='Shop.Pdf' pdf='true'}: {$address1_deli}<br /> {if $address2_deli}{l s='Address' d='Shop.Pdf' pdf='true'}: {$address2_deli}<br />{/if} {l s='ZIP Code' d='Shop.Pdf' pdf='true'}: {$postcode_deli}<br /> {l s='City' d='Shop.Pdf' pdf='true'}: {$city_deli}<br /> {if $state_name_deli}{l s='State' d='Shop.Pdf' pdf='true'}: {$state_name_deli}<br />{/if} {l s='Country' d='Shop.Pdf' pdf='true'}: {$country_name_deli}<br /> {if $phone_deli}{l s='Phone' d='Shop.Pdf' pdf='true'}: {$phone_deli}<br />{/if} {if $phone_mobile_deli}{l s='Mobile' d='Shop.Pdf' pdf='true'}: {$phone_mobile_deli}<br />{/if} - al posto della riga: {$invoice_address} incollare queste righe: {l s='Name Surname' d='Shop.Pdf' pdf='true'}: {$firstname_invo} {$lastname_invo}<br /> {if $company_invo}{l s='Company' d='Shop.Pdf' pdf='true'}: {$company_invo}<br />{/if} {l s='Address' d='Shop.Pdf' pdf='true'}: {$address1_invo}<br /> {if $address2_invo}{l s='Address' d='Shop.Pdf' pdf='true'}: {$address2_invo}<br />{/if} {l s='ZIP Code' d='Shop.Pdf' pdf='true'}: {$postcode_invo}<br /> {l s='City' d='Shop.Pdf' pdf='true'}: {$city_invo}<br /> {if $state_name_invo}{l s='State' d='Shop.Pdf' pdf='true'}: {$state_name_invo}<br />{/if} {l s='Country' d='Shop.Pdf' pdf='true'}: {$country_name_invo}<br /> {if $phone_invo}{l s='Phone' d='Shop.Pdf' pdf='true'}: {$phone_invo}<br />{/if} {if $phone_mobile_invo}{l s='Mobile' d='Shop.Pdf' pdf='true'}: {$phone_mobile_invo}<br />{/if} {if $vat_number_invo}{l s='VAT' d='Shop.Pdf' pdf='true'}: {$vat_number_invo}<br />{/if} {if $dni_invo}{l s='DNI' d='Shop.Pdf' pdf='true'}: {$dni_invo}<br />{/if} Salvare, cancellare la cache e fare un ordine di prova. Le voci vanno tradotte dall'inglese nel BO e sono comunque facilmente personalizzabili, così come il loro ordine. Fate sempre un backup dei file prima di metterci mano e se qualcosa non va o volete modificarlo, fatemi sapere. Ovviamente, in caso di upgrade dello shop, le modifiche andranno rifatte. Tutto questo a vostro rischio e pericolo! Edited January 29, 2018 by viger (see edit history) 1 Link to comment Share on other sites More sharing options...
morando Posted January 29, 2018 Share Posted January 29, 2018 funziona perfettamente, sei un grande!! grazie mille!! Link to comment Share on other sites More sharing options...
viger Posted January 29, 2018 Author Share Posted January 29, 2018 Figurati! Però non riesco a fare la traduzione da BO, non conosco la 1.7 e hanno cambiato parecchio. Tu riesci? Link to comment Share on other sites More sharing options...
morando Posted January 29, 2018 Share Posted January 29, 2018 le traduzioni delle altre parole della fattura le ho fatte da: internazionale>traduzioni traduzioni dei temi>classic>italiano espandi fino a: shop>pdf ma queste non le trovo eventualemte possiamo mettere le parole in Italiano sul file pdf/invoice.addresses-tab.tpl ?? Link to comment Share on other sites More sharing options...
viger Posted January 29, 2018 Author Share Posted January 29, 2018 (edited) Ho corretto la mod, c'era un bug nella provincia di spedizione. Ricontrollate le modifiche, ho corretto le righe da incollare. Ad ogni modo, al posto di $state = (new State($invoice_address->id_state))->name; /* Get State name from ID */ dovete incollare $state_invo = (new State($invoice_address->id_state))->name; /* Get invoice State name from ID */ $state_deli = (new State($delivery_address->id_state))->name; /* Get delivery State name from ID */ e al posto di /* Start mod for custom address format */ 'firstname_invo' => $invoice_address->firstname, 'lastname_invo' => $invoice_address->lastname, 'company_invo' => $invoice_address->company, 'address1_invo' => $invoice_address->address1, 'address2_invo' => $invoice_address->address2, 'postcode_invo' => $invoice_address->postcode, 'city_invo' => $invoice_address->city, 'state_name_invo' => $state, 'country_name_invo' => $invoice_address->country, 'phone_invo' => $invoice_address->phone, 'phone_mobile_invo' => $invoice_address->phone_mobile, 'vat_number_invo' => $invoice_address->vat_number, 'dni_invo' => $invoice_address->dni, 'firstname_deli' => $delivery_address->firstname, 'lastname_deli' => $delivery_address->lastname, 'company_deli' => $delivery_address->company, 'address1_deli' => $delivery_address->address1, 'address2_deli' => $delivery_address->address2, 'postcode_deli' => $delivery_address->postcode, 'city_deli' => $delivery_address->city, 'state_name_deli' => $state, 'country_name_deli' => $delivery_address->country, 'phone_deli' => $delivery_address->phone, 'phone_mobile_deli' => $delivery_address->phone_mobile, /* End mod for custom address format */ dovete incollare /* Start mod for custom address format */ 'firstname_invo' => $invoice_address->firstname, 'lastname_invo' => $invoice_address->lastname, 'company_invo' => $invoice_address->company, 'address1_invo' => $invoice_address->address1, 'address2_invo' => $invoice_address->address2, 'postcode_invo' => $invoice_address->postcode, 'city_invo' => $invoice_address->city, 'state_name_invo' => $state_invo, 'country_name_invo' => $invoice_address->country, 'phone_invo' => $invoice_address->phone, 'phone_mobile_invo' => $invoice_address->phone_mobile, 'vat_number_invo' => $invoice_address->vat_number, 'dni_invo' => $invoice_address->dni, 'firstname_deli' => $delivery_address->firstname, 'lastname_deli' => $delivery_address->lastname, 'company_deli' => $delivery_address->company, 'address1_deli' => $delivery_address->address1, 'address2_deli' => $delivery_address->address2, 'postcode_deli' => $delivery_address->postcode, 'city_deli' => $delivery_address->city, 'state_name_deli' => $state_deli, 'country_name_deli' => $delivery_address->country, 'phone_deli' => $delivery_address->phone, 'phone_mobile_deli' => $delivery_address->phone_mobile, /* End mod for custom address format */ Adesso la fattura viene giustamente visualizzata con le due province differenti tra fatturazione e consegna. Sorry! Edited January 29, 2018 by viger (see edit history) Link to comment Share on other sites More sharing options...
viger Posted January 29, 2018 Author Share Posted January 29, 2018 8 minutes ago, morando said: le traduzioni delle altre parole della fattura le ho fatte da: internazionale>traduzioni traduzioni dei temi>classic>italiano espandi fino a: shop>pdf ma queste non le trovo eventualemte possiamo mettere le parole in Italiano sul file pdf/invoice.addresses-tab.tpl ?? Infatti non le trovo neanche io, il che è strano, con la 1.6 mi apparivano istantaneamente da tradurre nel BO. Sì, si possono mettere direttamente in italiano, ma non è molto professionale, dovrei guardarci dentro per capire cosa è cambiato e come fare per far apparire le traduzioni mancanti nel BO. Ad ogni modo, per una soluzione pratica e veloce, nel file /pdf/invoice.addresses-tab.tpl trovi le parole in inglese, facilmente le puoi tradurre in italiano. Link to comment Share on other sites More sharing options...
viger Posted January 30, 2018 Author Share Posted January 30, 2018 Ho fatto un po' di ricerca nei vari forum, pare che il nuovo sistema di traduzione di PS 1.7 sia un disastro, ho trovato tante domande ma nessuna risposta. Onestamente non sono venuto a capo di nulla e sono felice di non aver fatto l'upgrade. Se qualcuno ha qualche soluzione, ben venga! Link to comment Share on other sites More sharing options...
Carlo86 Posted March 2, 2018 Share Posted March 2, 2018 Buongiorno a tutti, io ho la versione 1.6.1.18 e la modifica indicata nel primo post funziona perfettamente per quanto riguarda la fattura. Solo che avendo eliminato dni, phone e altro nella sintassi dell'indirizzo (per evitare di farli stampare due volte, come da istruzioni) non mi escono più i numeri di telefono nel DDT, che è il documento che invio ai privati quando non mi richiedono fattura. Potete indicarmi gentilmente come fare lo stesso lavoro sul DDT? Mi servono solo i numeri di telefono, perchè i corrieri li prendono da li... Grazie mille Link to comment Share on other sites More sharing options...
viger Posted March 2, 2018 Author Share Posted March 2, 2018 Ciao, nel BO ==> Localizzazione->Nazione->Italia->Formato Indirizzo dovresti avere queste voci: firstname lastname company vat_number address1 address2 postcode city State:name Country:name phone phone_mobile Con queste e le modifiche riportate, nella versione 1.6.1.4, non dovrebbe raddoppiare nulla in fattura. Per altre versioni non so, ho fatto quella della 1.7, per la 1.6.1.18 non ho idea se la modifica funzioni! Con le modifiche riportate, nella 1.6.1.4 ho questi risultati: Fattura: DDT: I dati ci sono tutti, non sono formattati come nella fattura, ovviamente, ma si può fare con poco. Ora non so se nella 1.6.1.18 funziona così... Link to comment Share on other sites More sharing options...
LuiMai91 Posted April 30, 2020 Share Posted April 30, 2020 Salve a tutti! Grazie mille a @viger per questa fantastica soluzione! Volevo chiedere se anche a voi non visualizza l'indirizzo di fatturazione nelle note di credito, esce scritto il titolo "indirizzo di fatturazione" ma nessun dato. Da quando ho apliccato questa modifica mi succede questo, uso prestashop 1.7.6.1 Grazie a tutti! 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