Jump to content

[Modulo Gratuito] Campi aggiuntivi per Fattura Elettronica Italiana 2019


disarci

Recommended Posts

Salve, ho visto nella descrizione che il modulo è compatibile con Danea. Ho effettuato l'installazione i campi compaiono sia nel FO che nel BO.

Quando scarico un ordine con Danea i campi SDI e Fattura sono vuoti. 

C'è qualcosa che devo fare per abilitare il tutto?

Link to comment
Share on other sites

15 hours ago, mygrashop said:

Scusate ma una volta installato il modulo poi come fate a convertire le fatture di prestashop che sono in pdf nel formato xml? Esiste un modulo aggiuntivo oppure ce un altro sistema?

Ciao, io ho trovato questo; https://addons.prestashop.com/it/contabilita-fatturazione/42408-fattura-elettronica.html

però non è compatibile con prestashop 1.5

Link to comment
Share on other sites

Guest Kingtonino
On 17/12/2018 at 11:27 AM, disarci dice:

Ciao a tutti,

vorrei condividere con voi un modulo per poter richiedere i campi obbligatori per la fatturazione elettronica:

Codice Univoco SDI e PEC

 

Il modulo è molto semplice, non fa verifica particolari, ovviamente è in codice aperto e siete liberi di personalizzarlo per i vostri usi.

Faccio notare che ho fatto richiesta a prestashop per avere i campi "standard" ed evitare che ogni programmatore crei i campi con il proprio nome, purtroppo i tempi di progettazione e risposta di prestashop sono molto lunghi, per chi è con noi da molti anni, avevamo già fatto questa discussione per il codice fiscale, creando addirittura una versione italiana.... poi siamo riusciti ad ottenere il campo dni per tutti.

Funzioni:

1) compatibilità 1.6.x e 1.7.x

2) Richiesta campo non obbligatorio Codice Univoco SDI

3) Richiesta campo non obbligatorio PEC

4) richiesta dei campi in nuova registrazione

5) visualizzazione e modifica dei campi in area privata - informazioni generali

6) avviso (disattivabile) in fse ordine - tab spedizioni - con riepilogo e richiesta campi.

7) Back office - visualizzazione campi in dettaglio ordine

8 ) Back office - visualizzazione e modifica campi in dettaglio cliente

9) Stampa dei dai in fattura pdf.

10) Tutti i messaggi sono gestibili tramite traduzioni.

11) Pagina diretta per richiesta campi a chi è registrato, ad esempio da mandare via mail per richiedere inserimento campi a chi era già registrato. (v.1.06 e succ.)

 

NB questo modulo è compatibile con tutti i nostri moduli di gestione e scaricamento ordini, come Danea Easyfatt, Atelier98, MagicStore etc.etc.

 

Per qualunque richiesta o suggerimento, scrivere qui, ovviamente i moduli gratuiti sono gestiti anche da altri, quindi le risposte e correzioni sono benvenute.

v. 1.02

alcuni fix su campo Codice univoco, es. se iniziasse con 0.s

v. 1.03

aggiunta link pagina ordini

v. 1.04

correzione campo alfanumerico invece di numerico

campo maxlength per 7 caratteri

aggiunta controlli e debug per evitare warning

 

v. 1.05

ripristino richiesta campi in fase di registrazione nuovo cliente

 

v. 1.06

aggiunta pagina (in my-account e raggiungibile via link) per aggiunta / modifica campi direttamente

fix alcuni warning

 

 

 

 

tobewebto_fattura_elettronica.zip

1.06.tobewebto_fattura_elettronica.zip

Salve, manca un dettaglio. Allego foto ---> a.jpg.a2971491405e378451168ca07e20aa5e.jpgb.jpg.3d5647022f5585e8fa1cd5e32b8f5580.jpg

Link to comment
Share on other sites

On 17/1/2019 at 6:18 PM, mygrashop dice:

Scusate ma una volta installato il modulo poi come fate a convertire le fatture di prestashop che sono in pdf nel formato xml? Esiste un modulo aggiuntivo oppure ce un altro sistema?

Questo modulo aggiunge i campi mancanti. Per la fatturazione elettronica il discorso cambia totalmente

Link to comment
Share on other sites

salve a tutti

ho installato il modulo ma purtroppo non funzione bene, se mi iscrivo come nuovo cliente mi fa inserire i dati pec e codice.

Ma se sono un cliente iscritto non vedo nessun campo da compilare nell'area personale, nemmeno cliccando in fase di ordine.

Pur avendo il template di default, non ho nel file identity.tpl la stringa {$HOOK_CUSTOMER_IDENTITY_FORM}, per caso qualche anima pia potrebbe indicarmi come e dove inserirla con esattezza?

Grazie in anticipo, un saluto a tutti.

Jeosh

 

Link to comment
Share on other sites

@Jeosh

forse devi attivare la modalitá B2B....io non ho nessun problema. Cliente vecchio vede perfettamente i due campi dove inserire i dati al tab Informazioni Personali....in fondo relativamente alle info della societá compaiono i due campi correttamente.

ciao

Link to comment
Share on other sites

@Fabry

non era attivato il B2B, l'ho attivato ma mi inserisce dei campi SIRET e API che non riesco a togliere, e i campi per inserire Pec e Codice non ci sono.

Sapresti gentilmente indicarmi come risolvere? versione prestashop 1.6.1.15

Nel frattempo ti ringrazio per la risposta.

Jeosh

Link to comment
Share on other sites

ricevevo degli errori quando il cliente non é registrato, arrivando al chechout ricevevo degli errori con delle variabili non dichiarate. risolto in questo modo: incollo il contenuto del file tobewebto_fattura_elettronica.php nel caso possa servire allo sviluppatore.
prestashop 1.7.5

<?php
/**
* copyright 2beweb2.com.
*
* NOTICE OF LICENSE
*
* This source file is subject to Commercial Licence Copyright
* You can modifify this and use only on the site declared when you bought it.
*
*    @author    2beweb2 <[email protected]>
*    @copyright 2beweb2 - Plante-i sarl France
*    @license   Coomercial Licence
*    International Registered Trademark & Property of PrestaShop SA
*/

if (!defined('_PS_VERSION_')) {
    exit;
}

class Tobewebto_fattura_elettronica extends Module
{
    protected $config_form = false;

    public function __construct()
    {
        $this->name = 'tobewebto_fattura_elettronica';
        $this->tab = 'administration';
        $this->version = '1.0.6';
        $this->author = '2beweb2';
        $this->need_instance = 0;

        $this->bootstrap = true;

        parent::__construct();

        $this->displayName = $this->l('tobewebto Fattura Elettronica');
        $this->description = $this->l('Hi, this module ask to a customer to insert PEC email account and Unique Target Code, and it generate the xml file to Revenue Service');

        $this->confirmUninstall = $this->l('ATTENTION, if you did not choose preserve table all customer data will be deleted');
        $this->ps_version = (bool)version_compare(_PS_VERSION_, '1.7', '>=');
        $this->ps_versions_compliancy = array('min' => '1.6', 'max' => _PS_VERSION_);
    }


    public function install()
    {
        Configuration::updateValue('TOBEWEBTO_FATTURA_ELETTRONICA_LIVE_MODE', true);
        Configuration::updateValue('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ORDER', true);
        Configuration::updateValue('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ACCOUNT', true);
        include(dirname(__FILE__).'/sql/install.php');
        return parent::install() &&
            $this->registerHook('header') &&
            $this->registerHook('backOfficeHeader') &&
            $this->registerHook('displayAdminCustomers') &&
            $this->registerHook('DisplayAdminOrder') &&
            $this->registerHook('displayCustomerAccount') &&
            $this->registerHook('displayCustomerAccountForm') &&
            $this->registerHook('displayInvoice') &&
            $this->registerHook('actionCustomerAccountAdd') &&
            $this->registerHook('actionCustomerAccountUpdate') &&
            $this->registerHook('displayPDFInvoice') &&
            $this->registerHook('displayCustomerIdentityForm') &&
            $this->registerHook('displayAfterCarrier') &&
            $this->registerHook('displayBeforeCarrier');
    }

    public function uninstall()
    {

        if (!Configuration::get('TOBEWEBTO_FATTURA_ELETTRONICA_LIVE_MODE'))
        {
            Configuration::deleteByName('TOBEWEBTO_FATTURA_ELETTRONICA_LIVE_MODE');
            Configuration::deleteByName('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ORDER');
            Configuration::deleteByName('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ACCOUNT');
            include(dirname(__FILE__).'/sql/uninstall.php');
        }

        return parent::uninstall();
    }

    public function getContent()
    {

        if (((bool)Tools::isSubmit('submitTobewebto_fattura_elettronicaModule')) == true) {
            $this->postProcess();
        }

        $this->context->smarty->assign('module_dir', $this->_path);

        $output = $this->context->smarty->fetch($this->local_path.'views/templates/admin/configure.tpl');

        return $output.$this->renderForm();
    }


    protected function renderForm()
    {
        $helper = new HelperForm();

        $helper->show_toolbar = false;
        $helper->table = $this->table;
        $helper->module = $this;
        $helper->default_form_language = $this->context->language->id;
        $helper->allow_employee_form_lang = Configuration::get('PS_BO_ALLOW_EMPLOYEE_FORM_LANG', 0);

        $helper->identifier = $this->identifier;
        $helper->submit_action = 'submitTobewebto_fattura_elettronicaModule';
        $helper->currentIndex = $this->context->link->getAdminLink('AdminModules', false)
            .'&configure='.$this->name.'&tab_module='.$this->tab.'&module_name='.$this->name;
        $helper->token = Tools::getAdminTokenLite('AdminModules');

        $helper->tpl_vars = array(
            'fields_value' => $this->getConfigFormValues(),
            'languages' => $this->context->controller->getLanguages(),
            'id_language' => $this->context->language->id,
        );

        return $helper->generateForm(array($this->getConfigForm()));
    }


    protected function getConfigForm()
    {
        return array(
            'form' => array(
                'legend' => array(
                'title' => $this->l('Settings'),
                'icon' => 'icon-cogs',
                ),
                'input' => array(
                    array(
                        'type' => 'switch',
                        'label' => $this->l('Preserve Tables'),
                        'name' => 'TOBEWEBTO_FATTURA_ELETTRONICA_LIVE_MODE',
                        'is_bool' => true,
                        'desc' => $this->l('Choose No only if you are testing the module, so if you reset the modules, you preserve the customrs datas'),
                        'values' => array(
                            array(
                                'id' => 'active_on',
                                'value' => true,
                                'label' => $this->l('Enabled')
                            ),
                            array(
                                'id' => 'active_off',
                                'value' => false,
                                'label' => $this->l('Disabled')
                            )
                        ),
                    ),
                    array(
                        'type' => 'switch',
                        'label' => $this->l('ORDER MESSAGE'),
                        'name' => 'TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ORDER',
                        'is_bool' => true,
                        'desc' => $this->l('Choose yes and you will have a message asking for PEC and Code in order procedure'),
                        'values' => array(
                            array(
                                'id' => 'active_on',
                                'value' => true,
                                'label' => $this->l('Enabled')
                            ),
                            array(
                                'id' => 'active_off',
                                'value' => false,
                                'label' => $this->l('Disabled')
                            )
                        ),
                    ),
                    array(
                        'type' => 'switch',
                        'label' => $this->l('Dedicated page on my account'),
                        'name' => 'TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ACCOUNT',
                        'is_bool' => true,
                        'desc' => $this->l('Choose yes and you will have dedicated page (linkable) in my-account'),
                        'values' => array(
                            array(
                                'id' => 'active_on',
                                'value' => true,
                                'label' => $this->l('Enabled')
                            ),
                            array(
                                'id' => 'active_off',
                                'value' => false,
                                'label' => $this->l('Disabled')
                            )
                        ),
                    ),

                ),
                'submit' => array(
                    'title' => $this->l('Save'),
                ),
            ),
        );
    }


    protected function getConfigFormValues()
    {
        return array(
            'TOBEWEBTO_FATTURA_ELETTRONICA_LIVE_MODE' => Configuration::get('TOBEWEBTO_FATTURA_ELETTRONICA_LIVE_MODE'),
            'TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ORDER' => Configuration::get('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ORDER'),
            'TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ACCOUNT' => Configuration::get('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ACCOUNT'),
        );
    }


    protected function postProcess()
    {
        $form_values = $this->getConfigFormValues();

        foreach (array_keys($form_values) as $key) {
            $result = Configuration::updateValue($key, Tools::getValue($key));

        }
    }


    public function hookBackOfficeHeader()
    {
        if (Tools::getValue('module_name') == $this->name) {
            $this->context->controller->addJS($this->_path.'views/js/back.js');
            $this->context->controller->addCSS($this->_path.'views/css/back.css');
        }
    }


    public function hookHeader()
    {
        $this->context->controller->addJS($this->_path.'/views/js/front.js');
        $this->context->controller->addCSS($this->_path.'/views/css/front.css');
    }



    public function hookActionCustomerAccountAdd($params)
    {
        $newCustomer = $params['newCustomer'];



        $sql = "INSERT INTO `"._DB_PREFIX_."tobewebto_fattura_elettronica`(id_customer,tobewebto_sdicode,tobewebto_pec)
            	   VALUES (".$newCustomer->id.",'".pSQL(Tools::getValue('tobewebto_sdicode'))."','".pSQL(Tools::getValue('tobewebto_pec'))."')";
                   Db::getInstance()->Execute($sql);

        if (0) {
        $handle = fopen(dirname(__FILE__).'/notify.html', 'a');
        fwrite($handle, "*********new*********<br>\n");
        fwrite($handle, 'start: '." \n<br>\n [".date('Y-m-d h-m-s')."]<br><br>\n");

        fwrite($handle, "pec:".Tools::getValue('tobewebto_pec'));
        fwrite($handle, "sdicode:".Tools::getValue('tobewebto_sdicode'));
        fwrite($handle, "customer:".$newCustomer->id);
        fwrite($handle, "sql:".$sql);

        fwrite($handle, 'end: '." \n<br>\n [".date('Y-m-d h-m-s')."]<br><br>\n");
        fclose($handle);
        }
    }



    public function hookDisplayAdminCustomers()
    {

        $sdi_code = Tools::getValue('tobewebto_sdicode');
        if (!$sdi_code or strlen($sdi_code) <= 1)
        {
            $sdi_code = '0000000';
        }
        if (Tools::getValue('id_tobewebto_fattura_elettronica')>0)
        {
        $sql = "update `"._DB_PREFIX_."tobewebto_fattura_elettronica` set tobewebto_sdicode = '".pSQL($sdi_code)."',tobewebto_pec='".pSQL(Tools::getValue('tobewebto_pec'))."'
        where id_tobewebto_fattura_elettronica = ".(int)Tools::getValue('id_tobewebto_fattura_elettronica')." ";
                   Db::getInstance()->Execute($sql);
        } else {
        $sql = "INSERT INTO `"._DB_PREFIX_."tobewebto_fattura_elettronica`(id_customer,tobewebto_sdicode,tobewebto_pec)
            	   VALUES (".pSQL(Tools::getValue('id_customer')).",'".pSQL($sdi_code)."','".pSQL(Tools::getValue('tobewebto_pec'))."')";
                   Db::getInstance()->Execute($sql);
        }

        $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = ".Tools::getValue('id_customer')."";
        $result = Db::getInstance()->getRow($sql);

		$linkController = $this->context->link->getAdminLink("AdminCustomers", true) . "&id_customer=".Tools::getValue('id_customer')."&viewcustomer";
        $this->context->smarty->assign('linkController', $linkController);
        $this->context->smarty->assign('id_tobewebto_fattura_elettronica', $result['id_tobewebto_fattura_elettronica']);
        $this->context->smarty->assign('tobewebto_sdicode', $result['tobewebto_sdicode']);
        $this->context->smarty->assign('tobewebto_pec', $result['tobewebto_pec']);

        $output = $this->context->smarty->fetch($this->local_path.'views/templates/admin/admin_customer.tpl');
        return $output;
    }

    public function hookDisplayAdminOrder($params)
    {
        $idOrder = (int) $params['id_order'];
        $order = new Order($idOrder);

        $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = ".(int)$order->id_customer."";
        $result = Db::getInstance()->getRow($sql);

		$linkController = $this->context->link->getAdminLink("AdminCustomers", true) . "&id_customer=".(int)$order->id_customer."&viewcustomer";
        $this->context->smarty->assign('linkController', $linkController);
        $this->context->smarty->assign('id_tobewebto_fattura_elettronica', $result['id_tobewebto_fattura_elettronica']);
        $this->context->smarty->assign('tobewebto_sdicode', $result['tobewebto_sdicode']);
        $this->context->smarty->assign('tobewebto_pec', $result['tobewebto_pec']);


        $output = $this->context->smarty->fetch($this->local_path.'views/templates/admin/admin_order.tpl');
        return $output;

    }

    public function hookDisplayCustomerAccount()
    {

        if (Configuration::get('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ACCOUNT'))
        {
            $this->context->smarty->assign('ps_version', $this->ps_version);
            return $this->display(__FILE__, 'views/templates/hook/customer_account.tpl');
        }
    }

    public function hookDisplayCustomerAccountForm($params)
    {
        if ($params['cookie']->id_customer)
        {
        $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = ".$params['cookie']->id_customer."";
        $result = Db::getInstance()->getRow($sql);
        $this->context->smarty->assign('id_tobewebto_fattura_elettronica', $result['id_tobewebto_fattura_elettronica']);
        $this->context->smarty->assign('tobewebto_id_customer', $params['cookie']->id_customer);
        $this->context->smarty->assign('tobewebto_sdicode', $result['tobewebto_sdicode']);
        $this->context->smarty->assign('tobewebto_pec', $result['tobewebto_pec']);
        return $this->display(__FILE__, 'views/templates/hook/customer_reg_form.tpl');
        }
        else {
          $this->context->smarty->assign('id_tobewebto_fattura_elettronica', '');
          $this->context->smarty->assign('tobewebto_id_customer', $params['cookie']->id_customer);
          $this->context->smarty->assign('tobewebto_sdicode', '');
          $this->context->smarty->assign('tobewebto_pec', '');

          return $this->display(__FILE__, 'views/templates/hook/customer_reg_form.tpl');
        }


}


    public function hookDisplayCustomerIdentityForm($params)
    {
        /* HOOK FOR 1.6 compatibility */
        $sdi_code = Tools::getValue('tobewebto_sdicode');
        if (!$sdi_code or strlen($sdi_code) <= 1)
        {
            $sdi_code = '0000000';
        }

        if (Tools::getValue('id_tobewebto_fattura_elettronica')>0)
        {
        $sql = "update `"._DB_PREFIX_."tobewebto_fattura_elettronica` set tobewebto_sdicode = '".pSQL($sdi_code)."',tobewebto_pec='".pSQL(Tools::getValue('tobewebto_pec'))."'
        where id_tobewebto_fattura_elettronica = ".(int)Tools::getValue('id_tobewebto_fattura_elettronica')." ";
                   Db::getInstance()->Execute($sql);
        } elseif (Tools::getValue('tobewebto_id_customer')) {
        $sql = "INSERT INTO `"._DB_PREFIX_."tobewebto_fattura_elettronica`(id_customer,tobewebto_sdicode,tobewebto_pec)
            	   VALUES (".pSQL(Tools::getValue('tobewebto_id_customer')).",'".pSQL($sdi_code)."','".pSQL(Tools::getValue('tobewebto_pec'))."')";
                   Db::getInstance()->Execute($sql);
        }
        if ($params['cookie']->id_customer)
        {
            $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = ".$params['cookie']->id_customer."";
            $result = Db::getInstance()->getRow($sql);
        }
        $this->context->smarty->assign('id_tobewebto_fattura_elettronica', $result['id_tobewebto_fattura_elettronica']);
        $this->context->smarty->assign('tobewebto_id_customer', $params['cookie']->id_customer);
        $this->context->smarty->assign('tobewebto_sdicode', $result['tobewebto_sdicode']);
        $this->context->smarty->assign('tobewebto_pec', $result['tobewebto_pec']);
        return $this->display(__FILE__, 'views/templates/hook/customer_reg_form.tpl');
    }



    public function hookActionCustomerAccountUpdate($params)
    {

        $sdi_code = Tools::getValue('tobewebto_sdicode');
        if (!$sdi_code or strlen($sdi_code) <= 1)
        {
            $sdi_code = '0000000';
        }


        if (Tools::getValue('id_tobewebto_fattura_elettronica')>0)
        {
        $sql = "update `"._DB_PREFIX_."tobewebto_fattura_elettronica` set tobewebto_sdicode = '".pSQL($sdi_code)."',tobewebto_pec='".pSQL(Tools::getValue('tobewebto_pec'))."'
        where id_tobewebto_fattura_elettronica = ".(int)Tools::getValue('id_tobewebto_fattura_elettronica')." ";
                   Db::getInstance()->Execute($sql);
        } elseif (Tools::getValue('tobewebto_id_customer')) {
        $sql = "INSERT INTO `"._DB_PREFIX_."tobewebto_fattura_elettronica`(id_customer,tobewebto_sdicode,tobewebto_pec)
            	   VALUES (".pSQL(Tools::getValue('tobewebto_id_customer')).",'".pSQL($sdi_code)."','".pSQL(Tools::getValue('tobewebto_pec'))."')";
                   Db::getInstance()->Execute($sql);
        }

    }

    public function hookDisplayBeforeCarrier($params)
    {
                /* HOOK FOR 1.6 compatibility */
        if (Tools::substr(_PS_VERSION_, 0, 3) < 1.7)
        {
            if (Configuration::get('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ORDER'))
            {
            $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = ".$params['cookie']->id_customer."";
            $result = Db::getInstance()->getRow($sql);
            $this->context->smarty->assign('id_tobewebto_fattura_elettronica', $result['id_tobewebto_fattura_elettronica']);
            $this->context->smarty->assign('tobewebto_sdicode', $result['tobewebto_sdicode']);
            $this->context->smarty->assign('tobewebto_pec', $result['tobewebto_pec']);
            return $this->display(__FILE__, 'views/templates/hook/order.tpl');

            }
        }
    }



    public function hookDisplayAfterCarrier($params)
    {
        if (Configuration::get('TOBEWEBTO_FATTURA_ELETTRONICA_VIEW_ON_ORDER'))
        {
        $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = ".$params['cookie']->id_customer."";
        $result = Db::getInstance()->getRow($sql);
        $this->context->smarty->assign('id_tobewebto_fattura_elettronica', $result['id_tobewebto_fattura_elettronica']);
        $this->context->smarty->assign('tobewebto_sdicode', $result['tobewebto_sdicode']);
        $this->context->smarty->assign('tobewebto_pec', $result['tobewebto_pec']);
        return $this->display(__FILE__, 'views/templates/hook/order.tpl');

        }
    }

    public function hookDisplayPDFInvoice()
    {

        $order = new Order(Tools::getValue('id_order'));

        $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = ".(int)$order->id_customer."";
        $result = Db::getInstance()->getRow($sql);

        $tab = '<table style="border: solid 1pt black; padding:0 10pt">
        <tr><td><b>'.$this->l('SDI Code').':</b></td><td><b>'.$this->l('Pec').':</b></td></tr>
        <tr><td>'.$result['tobewebto_sdicode'].'</td><td>'.$result['tobewebto_pec'].'</td></tr>
        </table>';
        return $tab;
    }


}

 

Link to comment
Share on other sites

1 hour ago, Jeosh said:

@Fabry

non era attivato il B2B, l'ho attivato ma mi inserisce dei campi SIRET e API che non riesco a togliere, e i campi per inserire Pec e Codice non ci sono.

Sapresti gentilmente indicarmi come risolvere? versione prestashop 1.6.1.15

Nel frattempo ti ringrazio per la risposta.

Jeosh

 

SIRET e API sono "roba" francese che a noi non serve per cui >>> prendi indentity.tpl....e elimina il relativo codice html.

 

Il fatto che non funzioni non posso dirti nulla. Sulla 1.6.1.23 funziona perfettamente....

 

ciao

Link to comment
Share on other sites

16 hours ago, Fabry said:

 

SIRET e API sono "roba" francese che a noi non serve per cui >>> prendi indentity.tpl....e elimina il relativo codice html.

 

Il fatto che non funzioni non posso dirti nulla. Sulla 1.6.1.23 funziona perfettamente....

 

ciao

Potresti essere più preciso per piacere? 

mi spiego meglio dove si trova quel tpl? sul tema che si usa o il suo ? e le righe da cancellare sullo specifico? 

sempre se e' possibile grazie.

Link to comment
Share on other sites

Ciao,

 

non c'entrano nulla i campi del b2b (francesi o spagnoli che siano 😉 )

basta che nel tema ci siano gli hook standard che ci sono nel tema standard di prestashop,

faccio un esempio trovato su un tema della 1.7 oggi, file:

templates/customer/_partials/customer-form.tpl

se vedete manca proprio hook:

      {$hook_create_account_form nofilter}

      {$hook_create_account_form nofilter}

basta aggiungerlo con un copia incolla e si vedono i campi....

Screen Shot 2019-01-23 at 12.21.14.png

Link to comment
Share on other sites

1 hour ago, disarci said:

Ciao,

 

non c'entrano nulla i campi del b2b (francesi o spagnoli che siano 😉 )

basta che nel tema ci siano gli hook standard che ci sono nel tema standard di prestashop,

faccio un esempio trovato su un tema della 1.7 oggi, file:

templates/customer/_partials/customer-form.tpl

se vedete manca proprio hook:

      {$hook_create_account_form nofilter}


      {$hook_create_account_form nofilter}

basta aggiungerlo con un copia incolla e si vedono i campi....

Screen Shot 2019-01-23 at 12.21.14.png

Perdonami io ho la versione 1.6.05 e in effetti sul file indentity.tpl esce in effetti questo 

<div class="form-group">
                    <label for="siret">{l s='SIRET'}</label>
                    <input type="text" class="form-control" id="siret" name="siret" value="{if isset($smarty.post.siret)}{$smarty.post.siret}{/if}" />
                </div>
                <div class="form-group">
                    <label for="ape">{l s='APE'}</label>
                    <input type="text" class="form-control" id="ape" name="ape" value="{if isset($smarty.post.ape)}{$smarty.post.ape}{/if}" />
                </div>

la cosa che mi faccio strano che anche se li' cancello compaiono sempre...

non capisco dove posso eliminare. tutti i file con quel nome sia su theme che default sono state cancellate queste righe ma continuo a vederle.

Link to comment
Share on other sites

Ciao,

 

1) il mio esempio era della 1.7 solo un esempio basta in generale cercare hook e poi copiarlo più o meno nella posizione dove dovrebbe essere ..... al massimo si sposta, ma bisogna un minimo sapere come si fa.

Chiaramente se il tema è comprato chi l'ha fatto deve dare assistenza sugli hook mancanti.

 

2) per quanto riguarda siret e ape disattivate la funzione b2b da prestashop cancellarla dal form non è sufficiente e potrebbe causare problemi.

Link to comment
Share on other sites

16 minutes ago, disarci said:

Ciao,

 

1) il mio esempio era della 1.7 solo un esempio basta in generale cercare hook e poi copiarlo più o meno nella posizione dove dovrebbe essere ..... al massimo si sposta, ma bisogna un minimo sapere come si fa.

Chiaramente se il tema è comprato chi l'ha fatto deve dare assistenza sugli hook mancanti.

 

2) per quanto riguarda siret e ape disattivate la funzione b2b da prestashop cancellarla dal form non è sufficiente e potrebbe causare problemi.

purtroppo mio sito e' un b2b mi servirebbe un modo per poter cancellare quelle due parti.

Link to comment
Share on other sites

22 hours ago, Fabry said:

 

SIRET e API sono "roba" francese che a noi non serve per cui >>> prendi indentity.tpl....e elimina il relativo codice html.

 

Il fatto che non funzioni non posso dirti nulla. Sulla 1.6.1.23 funziona perfettamente....

 

ciao

ho risolto aggiornando i file identity.tpl e autentication.tpl, me li portavo dietro da una versione vecchia, ho scaricato la 1.6.1.15 e li ho sostituiti.

inoltre ho eliminato ad entrambi le stringhe che richiedevano di inserire SIRET e API

ora funziona tutto.

grazie

Link to comment
Share on other sites

Salve buonasera,
complimenti davvero per l'ottimo lavoro e per aver reso disponibile a tutta la comunità questo utilissimo modulo.

Scrivo in merito all'utilizzo che ne stiamo facendo all'interno di un e-commerce che utilizza tra i suoi metodi di pagamento stripe e amazon-pay.
Una volta installato ed abilitato il modulo relativo alla fatturazione elettronica da voi gentilmente condiviso qui con la comunità con stripe nessun problema, ma và in qualche maniera a cozzare con amazonpay.

Dico questo in quanto dopo aver notato che in effetti amazonpay non funzionava abbiamo fatto analizzare il problema direttamente dagli sviluppatori del modulo di integrazione dei servizi di pagamento di amazon su prestashop, dalla loro approfondita analisi si evince che il problema era effettivamente dato dal modulo fatturazione elettronica todoweb, 
riporto di seguito il messaggio che è stato scritto in merito: 
 

Quote

It seems, that there is another module hooked up that causes the crash.

It is "tobewebto Fattura Elettronica ".

This module creates an output like this, and then stops with a 500 internal server error.

We enabled debug mode, please find attached the screenshot of the error, maybe this is something you can send the developers of this module and they are able to fix this.

We did a quick fix in the module, specificly this file:

tobewebto_fattura_elettronica.php

 

There, we added this to the public function hookDisplayAfterCarrier($params) method:

      if (!Context::getContext()->customer->is_logged) {

         return;

      }

 

With this, our order in sandbox mode was successful.

Now, we switched back to productive mode.


ed in effetti dopo il loro intervento amazonpay funziona correttamente, MA dopo la loro modifica i campi relativi all'inserimento dei dati per la fatturazione elettronica non erano più visibili, pertanto abbiamo momentaneamente disattivato il modulo.

E' possibile trovare un fix che consenta a questi due moduli di cooperare in maniera funzionale? 

Grazie!!!

Link to comment
Share on other sites

On 1/4/2019 at 7:47 PM, zklid said:

Allora, ho installato il modulo, i campi mi appaiono ma in basso alla pagina di registrazione. Per rendere più logica la procedura l'ideale sarebbe che i due campi apparissero subito sotto il campo della P.Iva. Come posso spostare i campi ? Allego screenshot

registrazione.png

Ciao ancheio ho lo stesso problema. Sei riuscito? Grazie

Link to comment
Share on other sites

Ciao, in primis complimenti per il modulo e grazie.

Volevo domandarle se fosse possibile aggiungere tra i campi richiesti nel processo di acquisto sotto codice pec etc..., "ragione sociale" .

io uso prestashop 1.7 e non so come fare.

Potresti aiutarmi?

Grazie mille

Link to comment
Share on other sites

7 minuti fa, clalla dice:

Con Danea easyfatt

grazie per la pronta risposta,

  • non sono stato chiaro nella domanda..


intendevo dire se il tutto è automatizzato o tocca usare il gestionale aziendale e quindi fare più passaggi..
vendita --> inserimento nel gestionale --> fattura --> invio

Edited by marisi24 (see edit history)
Link to comment
Share on other sites

Ho provato il modulo, e apprezzo molto la buona volontà nel mettere a disposizione una soluzione facile per risolvere il problema. Purtroppo però non sono d'accordo con alcune scelte tecniche e di design:

  • I due campi sono inseriti nel form di informazioni generali dell'utente, ma cosa succede se un utente ha due indirizzi con aziende diverse? Trovo più corretto assecondare la logica nativa di Prestashop, quindi i campi SDI e PEC dovrebbero essere inseriti nel form dell'indirizzo, infatti è li che appaiono Azienda, Partita IVA e Codice Fiscale. È più flessibile e ha senso quel contesto.
  • L'aggiornamento dei campi non è intuitivo: in area utente sono stati messi in una pagina a parte, raggiungibile dal bottone "fatturazione elettronica", ma ciò è eccessivo, invece, sempre secondo la mia logica, dovrebbero apparire nel form di indirizzo. Durante il checkout l'utente non li vede e rischia di non leggere la riga di avviso presente nel tab "Spedizioni", non ha alcun senso che ci sia un riferimento alla fatturazione elettronica in quel punto. Se invece il tutto veniva compilato in indirizzo, la svista veniva evitata.
  • La modifica non è intuitiva nemmeno in back office, infatti i due campi sono in un riquadro a parte, nella scheda del cliente. Non li vediamo in indirizzo, cioè vicini alla Partita IVA.
  • Infine, tecnicamente i due campi sono salvati in una tabella separata del database, capisco che questa sia una scelta di compatibilità, per evitare di toccare le tabelle di PS, però mi sembra più utile avere i due dati nella tabella indirizzi, è un modo facile per farci query ed esportazioni.

Senza nulla togliere al modulo, io ho scelto di farmi un lavoro ad hoc, più invasivo, comporta override e modifiche alla tabella ps_address, però raggiungo il mio obiettivo in modo più semplice ed elegante. I campi SDI e PEC appaiono in modo simile a Partita IVA, nel momento in cui un utente compila il campo Azienda. Tutto compatto in quel form.

Ho scritto un tutorial valido per PS 1.6 (non so invece come si potrebbe fare in PS 1.7), nel mio blog è a questa pagina https://zod.it/blog/aggiungere-campi-sdi-e-pec-per-la-fatturazione-italiana-in-prestashop-1-6.html

Link to comment
Share on other sites

Buongiorno, avevo installata la versione 1.05 del plugin e tutto era funzionante.

Ieri mi è venuta la fantastica idea di aggiornare alla 1.06 sovrascrivendo la 1.05.

Da quel momento mi restituisce un'errore appena clicco sul mio account o se tento di fare il ceckout.

Ho disinstallato la 1.06 e tutto va bene, ma appena reinstallo la 1.05 il problema si ripresenta.

Che faccio?

Vi allego l'errore con la speranza possiate aiutarmi.

Grazie

Errore.png

Link to comment
Share on other sites

Grazie per il codice! funziona tutto, l'unica cosa che non riesco a fare è passare i dati all'xml che genera la mia componente aggiuntiva personalizzata.

Qui sotto una parte del codice interessata:

public function createCustomerXml($order_id){
        $this->trace("Create Customer Xml");
    	$domtree = new DOMDocument('1.0', 'UTF-8');
    	$domtree->preserveWhiteSpace = false;
    	$domtree->formatOutput = true;
    	$xmlRoot = $domtree->createElement("Fattura24");
    	$xmlRoot = $domtree->appendChild($xmlRoot);
    	$xmlCustomer = $domtree->createElement("Document");
    	$xmlCustomer = $xmlRoot->appendChild($xmlCustomer);
    	
    	$invoice_address = new Order($order_id);
        $invoice_address = $invoice_address->id_address_invoice;
        
    	$ga = new Address($invoice_address);
        $customer = new Customer($ga->id_customer);
        
        /*
        */
        //$this->trace("customer pec : ",$customer->pec);
        //$this->trace("customer codice_destinatario : ",$customer->codice_destinatario);
        $pec = Tools::getValue('fattura24_pec');
        $codice_destinatario = Tools::getValue('fattura24_codice_destinatario');
        
        //if(!empty($customer->pec)){
            $this->trace("customer pec is not empty: ",$pec);
            $customer_fePec = $domtree->createElement('FeCustomerPec');
            $customer_fePec->appendChild($domtree->createCDataSection($pec));
            $xmlCustomer->appendChild($customer_fePec);
        //}
        //if(!empty($customer->codice_destinatario)){  // saves both fields if not empty 31.01.2019
            $this->trace("customer codice_destinatario is not empty: ",$codice_destinatario);
            $customer_feCodiceDestinatario = $domtree->createElement('FeDestinationCode');
            $customer_feCodiceDestinatario->appendChild($domtree->createCDataSection($codice_destinatario));
            $xmlCustomer->appendChild($customer_feCodiceDestinatario);

Immagino che l'errore sia nella query... qualcuno potrebbe aiutarmi?

Grazie

 

Davide

Link to comment
Share on other sites

Buongiorno, ho installato il Vs. modulo ma i dati salvati non li mostra da nessuna parte. Non li trovo ne nella pagina clienti e ne in quella indirizzi.

 

Funziona con l'ordine rapido o soltanto con quello standard?

 

Inoltre, sul ns. sito utilizziamo il modulo mail alerts che quando un utente effettua una registrazione ci invia una email con tutti i suoi dati, è possibile aggiungere i dati Pec e Codice SDI nell'email che riceviamo dal mail alerts?

Link to comment
Share on other sites

  • 2 weeks later...
On 3/14/2019 at 8:49 AM, FerrA said:

Buongiorno, ho installato il Vs. modulo ma i dati salvati non li mostra da nessuna parte. Non li trovo ne nella pagina clienti e ne in quella indirizzi. 

 

Funziona con l'ordine rapido o soltanto con quello standard?

 

Inoltre, sul ns. sito utilizziamo il modulo mail alerts che quando un utente effettua una registrazione ci invia una email con tutti i suoi dati, è possibile aggiungere i dati Pec e Codice SDI nell'email che riceviamo dal mail alerts? 

 

Qualcuno può aiutarmi?

Link to comment
Share on other sites

4 hours ago, FerrA said:

 

Qualcuno può aiutarmi?

Ciao, nel mio caso funziona sia come ospite che come iscritto.. In merito alla possibilità di ricevere i dati direttamente nella mail d'ordine sarebbe interessante! 

Cmq visualizzi i dati nella sezione dell'ordine e anche nella scheda prodotto:

image.png.f726f8b59f092d6687c8c254aff392e5.png

Link to comment
Share on other sites

ciao, è possibile aggiungere quei dati, sdi e pec, nella conferma d'ordine che riceve l'admin come notifica? sarebbe utile per chi deve utilizzare "a mano" quei dati e non andarlia  cercare tra i dati cliente...

 

suggerimenti su come si possa fare per prestashop 1.7.5?

Link to comment
Share on other sites

21 hours ago, Idroclic said:

Ciao, nel mio caso funziona sia come ospite che come iscritto.. In merito alla possibilità di ricevere i dati direttamente nella mail d'ordine sarebbe interessante! 

Cmq visualizzi i dati nella sezione dell'ordine e anche nella scheda prodotto:

image.png.f726f8b59f092d6687c8c254aff392e5.png

confermo e seguo con interesse la possibilità di avere i dati nella conferma d'ordine al cliente e all'admin soprattutto

Link to comment
Share on other sites

Salve,

io ho giá integrato il tutto nella piattaforma 1.7.5  senza usare il modulo e all'amministratore arrivano i dati SDI e Pec nella mail "Nuovo Ordine" ...eheheh,  ma non vi dico come si fá!!😜

L'unica cosa é che i due dati non sono editabili da BO......li puó editare solo il cliente da Front nel suo account.

ciao

 

Ps: é uno sbattimento gente integrare stá roba non ho tempo per scrivere tutto.

Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...
  • 2 weeks later...
7 minutes ago, Kou Rosh said:

Buongiorno a tutti, io sto utilizzando il modulo da un pò di tempo, ma ho avuto problemi con AmazonPay, l'assistenza di Amazon dopo varie prove e controlli mi hanno comunicato che la causa del malfunzionamento era il modulo della fatturazione elettronica Tobewebto, io nel fra tempo per non avere problemi avevo disabilitato il modulo AmazonPay.

Mi hanno consigliato di  aggiungere la seguente linea nel CSS globale:

#addressBookWidgetDivBs, #walletWidgetDivBs { width: 100% }

"Questa stringa dovrebbe risolvere la problematica e far funzionare il modulo Amazon Pay in modalità Standard. Quella Ottimizzata va in contrasto con il modulo della fatturazione elettronica."

Ma non so dove inserire il codice per non scombinare tutto. 

Qualche consiglio?

https://mollaian.online

Prestashop 1.7.5.1

Ciao! Dovresti aggiungerlo al CSS del tuo tema che trovi in nomedeltema/asset/css/theme.css.

Ricorda di pulire la cache di PS!

  • Like 1
Link to comment
Share on other sites

  • 4 weeks later...

salve a tutti,

installando il modulo in questione, nell'area ordini e nel profilo utente (da panel admin) ricevo il seguente errore:

Notice alla linea 25 nel file /homepages/PrestaShop/var/cache/dev/smarty/compile/c1/d3/64/c1d364300f803b49446642ac2903e0f0e7b3aadc_0.file.admin_customer.tpl.php
[8] Undefined index: section

Notice alla linea 25 nel file /homepages/PrestaShop/var/cache/dev/smarty/compile/c1/d3/64/c1d364300f803b49446642ac2903e0f0e7b3aadc_0.file.admin_customer.tpl.php
[8] Trying to get property of non-object

pubblico la linea 25 del file in questione:

 <div class="panel-heading"><i class="icon-user"></i> <?php echo call_user_func_array($_smarty_tpl->registered_plugins[ 'modifier' ][ 'escape' ][ 0 ], array( $_smarty_tpl->tpl_vars['section']->value['label'],'htmlall','UTF-8' ));
echo call_user_func_array( $_smarty_tpl->smarty->registered_plugins[Smarty::PLUGIN_FUNCTION]['l'][0], array( array('s'=>'Dati Fattura Elettronica','mod'=>'tobewebto_fattura_elettronica'),$_smarty_tpl ) );?>
</div>

 

come posso risolvere?

Link to comment
Share on other sites

19 hours ago, Uaitstudio said:

Salve a tutti,

avrei bisogno di rendere i campi SDI e PEC obbligatori. Come posso fare?

Grazie

modifichi i due campi input mettendo l'attributo required nel file customer_reg_form.tpl (o customer_reg_form_17.tpl se sei con Prestashop 1.7) sito in \public_html\modules\toberebto_fattura_elettronica\views\templates\hook\

Edited by Uallaaa83 (see edit history)
Link to comment
Share on other sites

grazie mille del modulo disarci è veramente utile ... ho fatto solo la modifica di registrare il codice sdi in maiuscolo e la pec in minuscolo perchè alcuni clienti non lo fanno.

sono alcuni giorni che non riesco ad inserire gli ordini da bo perchè ho un problema nella ricerca dei clienti .... ma questo non ha niente a che fare con il tuo modulo però attivando il debug ho scoperto che il tuo modulo da un errore nel dettaglio ordine ... ti allego un'immagine ... so che è il tuo modulo perchè se lo disattivo l'errore non appare più ....

ho prestashop 1.7.5.1 tema di default

avevo il tuo modulo 1.05, ho provato a reinstallarlo per eliminare le mie modifiche, ho anche provato la nuova versione 1.06 (ottima ma modificherei il css nella  pagina my-account per unificarla alle altre pagine in my-account)  però l'errore se attivo il modulo appare sempre ... sai cosa potrebbe essere ?

Cattura.JPG

Link to comment
Share on other sites

ancora una domanda.

questa funzione .... 

11) Pagina diretta per richiesta campi a chi è registrato, ad esempio da mandare via mail per richiedere inserimento campi a chi era già registrato. (v.1.06 e succ.)

dove la trovo ?

Link to comment
Share on other sites

Ciao

Grazie per il modulo.

i  dati SDI e Pec vengono inseriti in fase di registrazione e registrati nel database.

Nella stampa del PDF della fattura i dati non vengono riportati

questa parte del programma stampa nella fattura solo 

CODICE UNIVOCO SDI:   PEC:

senza valori.

 

 public function hookDisplayPDFInvoice()
    {


        $order = new Order(Tools::getValue('id_order'));
 
        $sql = "select id_tobewebto_fattura_elettronica,tobewebto_sdicode,tobewebto_pec from `"._DB_PREFIX_."tobewebto_fattura_elettronica` where id_customer = '.(int)$order->id_customer.'";
 
        $result = Db::getInstance()->getRow($sql);


        $tab = '<table style="border: solid 1pt black; padding:0 10pt">
        <tr><td><b>'.$this->l('SDI Code').':</b></td><td><b>'.$this->l('Pec').':</b></td></tr>
        <tr><td>'.$result['tobewebto_sdicode'].'</td><td>'.$result['tobewebto_pec'].'</td></tr>
        </table>';
        return $tab;
    }

Potete aiutarmi per favore?

 

Edited by briosche (see edit history)
Link to comment
Share on other sites

  • 3 weeks later...
  • 5 weeks later...
On 17/12/2018 at 11:27 AM, disarci dice:

Ciao a tutti,

vorrei condividere con voi un modulo per poter richiedere i campi obbligatori per la fatturazione elettronica:

Codice Univoco SDI e PEC

 

Il modulo è molto semplice, non fa verifica particolari, ovviamente è in codice aperto e siete liberi di personalizzarlo per i vostri usi.

Faccio notare che ho fatto richiesta a prestashop per avere i campi "standard" ed evitare che ogni programmatore crei i campi con il proprio nome, purtroppo i tempi di progettazione e risposta di prestashop sono molto lunghi, per chi è con noi da molti anni, avevamo già fatto questa discussione per il codice fiscale, creando addirittura una versione italiana.... poi siamo riusciti ad ottenere il campo dni per tutti.

Funzioni:

1) compatibilità 1.6.x e 1.7.x

2) Richiesta campo non obbligatorio Codice Univoco SDI

3) Richiesta campo non obbligatorio PEC

4) richiesta dei campi in nuova registrazione

5) visualizzazione e modifica dei campi in area privata - informazioni generali

6) avviso (disattivabile) in fse ordine - tab spedizioni - con riepilogo e richiesta campi.

7) Back office - visualizzazione campi in dettaglio ordine

8 ) Back office - visualizzazione e modifica campi in dettaglio cliente

9) Stampa dei dai in fattura pdf.

10) Tutti i messaggi sono gestibili tramite traduzioni.

11) Pagina diretta per richiesta campi a chi è registrato, ad esempio da mandare via mail per richiedere inserimento campi a chi era già registrato. (v.1.06 e succ.)

 

NB questo modulo è compatibile con tutti i nostri moduli di gestione e scaricamento ordini, come Danea Easyfatt, Atelier98, MagicStore etc.etc.

 

Per qualunque richiesta o suggerimento, scrivere qui, ovviamente i moduli gratuiti sono gestiti anche da altri, quindi le risposte e correzioni sono benvenute.

v. 1.02

alcuni fix su campo Codice univoco, es. se iniziasse con 0.s

v. 1.03

aggiunta link pagina ordini

v. 1.04

correzione campo alfanumerico invece di numerico

campo maxlength per 7 caratteri

aggiunta controlli e debug per evitare warning

 

v. 1.05

ripristino richiesta campi in fase di registrazione nuovo cliente

 

v. 1.06

aggiunta pagina (in my-account e raggiungibile via link) per aggiunta / modifica campi direttamente

fix alcuni warning

 

 

 

 

tobewebto_fattura_elettronica.zip

1.06.tobewebto_fattura_elettronica.zip

Qualcuno ha chiesto dove si scarica il modulo. Nel primo post

Link to comment
Share on other sites

On 7/6/2019 at 9:23 AM, overbags said:

grazie mille del modulo disarci è veramente utile ... ho fatto solo la modifica di registrare il codice sdi in maiuscolo e la pec in minuscolo perchè alcuni clienti non lo fanno.

sono alcuni giorni che non riesco ad inserire gli ordini da bo perchè ho un problema nella ricerca dei clienti .... ma questo non ha niente a che fare con il tuo modulo però attivando il debug ho scoperto che il tuo modulo da un errore nel dettaglio ordine ... ti allego un'immagine ... so che è il tuo modulo perchè se lo disattivo l'errore non appare più ....

ho prestashop 1.7.5.1 tema di default

avevo il tuo modulo 1.05, ho provato a reinstallarlo per eliminare le mie modifiche, ho anche provato la nuova versione 1.06 (ottima ma modificherei il css nella  pagina my-account per unificarla alle altre pagine in my-account)  però l'errore se attivo il modulo appare sempre ... sai cosa potrebbe essere ?

Cattura.JPG

Ho anche io lo stesso problema versione modulo 1.06 PS 17.6 con PHP 7.2.   Spero di riuscire ad usare il modulo su PS 1.6.24 funzionava in modo eccellente dopo upgrade di PS non riesco più ad usarlo ho anche cambiato i permessi al modulo e file in 777 ma niente grazie 

Link to comment
Share on other sites

  • 2 weeks later...
On 7/6/2019 at 9:32 AM, overbags said:

ancora una domanda.

questa funzione .... 

11) Pagina diretta per richiesta campi a chi è registrato, ad esempio da mandare via mail per richiedere inserimento campi a chi era già registrato. (v.1.06 e succ.)

dove la trovo ?

MI aggiungo anche io alla domanda. Nella schermata di gestione del modulo, poi, vedo che ci sono due link per la guida, ma non funzionano nessuno dei due...

Link to comment
Share on other sites

  • 3 weeks later...

salve.

il modulo è ben fatto e molto utile.

dopo molto tempo che lo uso su ps 1.7.5.2 mi viene di chiedere se è possibile una volta che uno dei due campi pec o sdi è riempito appaia un avviso nella pagina ordine ... per esempio in alto .... non a tutti devo emettere la fattura, quando gestisci molti ordini mi capita più di una volta di dimenticarmene ... dovrei tutte le volte scendere in fondo all'ordine e verificare se uno dei due campi è stato riempito dal cliente.

Link to comment
Share on other sites

On 10/23/2019 at 10:59 AM, Samantha Ferrari said:

Ciao, il link per scaricare il modulo non funziona più... me lo potresti comunicare? Grazie mille!

Ho trovato! Lo scaricavo da un commento sbagliato, ho trovato quello giusto e funziona alla grande!

Grazie mille sei un grande!

 

Samanta

Buonasera,

Anche noi abbiamo lo stesso problema, mi potete indicare per cortesia dove scaricare il modulo?

Grazie 

Katya

Link to comment
Share on other sites

On 12/17/2018 at 11:27 AM, disarci said:

Ciao a tutti,

vorrei condividere con voi un modulo per poter richiedere i campi obbligatori per la fatturazione elettronica:

Codice Univoco SDI e PEC

 

Il modulo è molto semplice, non fa verifica particolari, ovviamente è in codice aperto e siete liberi di personalizzarlo per i vostri usi.

Faccio notare che ho fatto richiesta a prestashop per avere i campi "standard" ed evitare che ogni programmatore crei i campi con il proprio nome, purtroppo i tempi di progettazione e risposta di prestashop sono molto lunghi, per chi è con noi da molti anni, avevamo già fatto questa discussione per il codice fiscale, creando addirittura una versione italiana.... poi siamo riusciti ad ottenere il campo dni per tutti.

Funzioni:

1) compatibilità 1.6.x e 1.7.x

2) Richiesta campo non obbligatorio Codice Univoco SDI

3) Richiesta campo non obbligatorio PEC

4) richiesta dei campi in nuova registrazione

5) visualizzazione e modifica dei campi in area privata - informazioni generali

6) avviso (disattivabile) in fse ordine - tab spedizioni - con riepilogo e richiesta campi.

7) Back office - visualizzazione campi in dettaglio ordine

8 ) Back office - visualizzazione e modifica campi in dettaglio cliente

9) Stampa dei dai in fattura pdf.

10) Tutti i messaggi sono gestibili tramite traduzioni.

11) Pagina diretta per richiesta campi a chi è registrato, ad esempio da mandare via mail per richiedere inserimento campi a chi era già registrato. (v.1.06 e succ.)

 

NB questo modulo è compatibile con tutti i nostri moduli di gestione e scaricamento ordini, come Danea Easyfatt, Atelier98, MagicStore etc.etc.

 

Per qualunque richiesta o suggerimento, scrivere qui, ovviamente i moduli gratuiti sono gestiti anche da altri, quindi le risposte e correzioni sono benvenute.

v. 1.02

alcuni fix su campo Codice univoco, es. se iniziasse con 0.s

v. 1.03

aggiunta link pagina ordini

v. 1.04

correzione campo alfanumerico invece di numerico

campo maxlength per 7 caratteri

aggiunta controlli e debug per evitare warning

 

v. 1.05

ripristino richiesta campi in fase di registrazione nuovo cliente

 

v. 1.06

aggiunta pagina (in my-account e raggiungibile via link) per aggiunta / modifica campi direttamente

fix alcuni warning

 

 

 

 

tobewebto_fattura_elettronica.zip 30.92 kB · 751 downloads

1.06.tobewebto_fattura_elettronica.zip

Ciao,

vedo che il modulo non è più presente per il download, qualcuno che gentilmente mi potrebbe suggerire dove reperirlo oppure un modulo simile ?
grazie mille

Link to comment
Share on other sites

Buongiorno, non so se è il normale comportamento del modulo, ma accade che non avendo obbligatoria la creazione dell'indirizzo in fase di registrazione, una volta registrato il cliente possa aggiungere PEC e SDI solamente nel suo account nella sezione "dati fatturazione elettronica". I campi non vengono richiesti al momento della creazione di un nuovo indirizzo, ne dalla pagina "indirizzi" dell'account ne dal carrello al momento della conferma d'ordine. Diversamente, avendo il one step checkout attivo e la possibilità di ordinare senza registrazione, al momento della creazione di un ordine da parte di un cliente non registrato i campi SDI e PEC vengono correttamente richiesti. 

Tale comportamento è quello normalmente previsto dal modulo?

Grazie!

Link to comment
Share on other sites

  • 4 weeks later...
2 ore fa, gioreva dice:

Dall`aggiornamento a prestashop 1.7.6.1 non c`é più il campo SDI nel backoffice per leggerlo.

Però al cliene viene chiesto.

Avevo già l`ultimo modulo prima dell`aggiornamento. 1.06

per leggerlo lo trovi sull'ordine, il problema che come amministratore non riesci a modificarlo

Link to comment
Share on other sites

@gioreva e @etnapellet

 

 sto lavorando su un aggiornamento per la 1.7.6.1 in quanto è vero che non si riescono a modificare i campi in quanto i percorsi in back office sono cambiati,

ma nella pagina cliente si vede bene (non in modifica cliente ma nel "vedi" cliente)

Link to comment
Share on other sites

  • 5 weeks later...
  • 2 weeks later...
  • 3 weeks later...
  • 4 weeks later...

Buongiorno, sto facendo un test su Prestashop 1.7.6.1

Nella sezione Clienti->Informazioni sul cliente l'azione di aggiornamento dei campi aggiuntivi non funziona correttamente.

Dopo aver fatto click su 'Modifica' inserito dei dati e fatto click su "salva" la schermata si aggiorna andando all'elenco dei clienti; provando a fare click sul cliente modificato e poi su "Vedi", i campi presentano di nuovo i valori di default (SDI 0000000 e PEC vuoto), come se non avessi fatto la modifica.

edit: ho risolto autonomamente

Per quanto riguarda il template per ps 1.7.6.1 preferisco usare il metodo suggerito da etnapellet che ringrazio

Grazie

Edited by d.iandoli75
modifica paragrafo sul template (see edit history)
Link to comment
Share on other sites

On 2/1/2019 at 11:28 AM, Webmaster3boffice said:

Buongiorno e complimenti per il modulo.

Noi avremmo bisogno che i due campi compaiano nel file pdf della fattura.

Attualmente i due campi sono indicati ma risultano vuoti.

Grazie

Anche io ho lo stesso problema 1.7.6.3

Link to comment
Share on other sites

  • 1 month later...

Buon giorno. Prestashop 1.7.6.4, ho un problema sia in pagina Ordine che Cliente (admin).

Il problema deriva da questa riga nei template Smarty: {$section['label']|escape:'htmlall':'UTF-8'}

Sembra che $section non venga trovato, l'errore per esteso:

Notice alla linea 25 nel file ...05f138ba06e611d62ab7_0.file.admin_order.tpl.php
[8] Undefined index: section

Notice alla linea 25 nel file ...05f138ba06e611d62ab7_0.file.admin_order.tpl.php
[8] Trying to get property 'value' of non-object

 

Aggiungo: questa installazione è aggiornata da Prestashop 1.6. Tuttavia ho naturalmente:

- disattivato / riattivato modulo

- eliminato e disattivato la cache

Edited by SED Web (see edit history)
Link to comment
Share on other sites

Segnalo un piccolo bug allo sviluppatore che ringrazio molto per il modulo. Nella funzione hookDisplayCustomerAccountForm($params) devono essere inizializzate le variabili altrimenti si genera un avviso non critico nel caso l'utente non sia loggato. L'errore infatti si manifesta solo in caso si attivi la modalità debug. Per chi vuole arrangiarsi prima di un futuro aggiornamento, io ho risolto inserendo queste 3 righe proprio all'inizio della funzione:

$result['id_tobewebto_fattura_elettronica']=null;
$result['tobewebto_sdicode']=null;
$result['tobewebto_pec']=null;

un saluto a tutti.

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...

Per il fix del problema di salvataggio dati nella pagina cliente, modificare il file
controllers\front\customeraccount.php

 

Codice errato:

        if (Tools::getValue('id_tobewebto_fattura_elettronica')>0)
        {
            $sdi_code = Tools::getValue('tobewebto_sdicode');
            if (!$sdi_code or strlen($sdi_code) <= 1)
            {
                $sdi_code = '0000000';    
            }
            if (Tools::getValue('id_tobewebto_fattura_elettronica')>0)
            {
            $sql = "update `"._DB_PREFIX_."tobewebto_fattura_elettronica` set tobewebto_sdicode = '".pSQL($sdi_code)."',tobewebto_pec='".pSQL(Tools::getValue('tobewebto_pec'))."'
            where id_tobewebto_fattura_elettronica = ".(int)Tools::getValue('id_tobewebto_fattura_elettronica')." "; 
                       Db::getInstance()->Execute($sql);
            } elseif (Tools::getValue('tobewebto_id_customer')) {
            $sql = "INSERT INTO `"._DB_PREFIX_."tobewebto_fattura_elettronica`(id_customer,tobewebto_sdicode,tobewebto_pec) 
                	   VALUES (".pSQL(Tools::getValue('tobewebto_id_customer')).",'".pSQL($sdi_code)."','".pSQL(Tools::getValue('tobewebto_pec'))."')";
                       Db::getInstance()->Execute($sql);
            }
        }

 

Codice corretto:

        $sdi_code = Tools::getValue('tobewebto_sdicode');
        if ((!$sdi_code) or (strlen($sdi_code) != 7)) { $sdi_code = ''; }
        if (Tools::getValue('id_tobewebto_fattura_elettronica')>0)
        {
            $sql = "UPDATE `"._DB_PREFIX_."tobewebto_fattura_elettronica` SET tobewebto_sdicode = '".pSQL($sdi_code)."', tobewebto_pec='".pSQL(Tools::getValue('tobewebto_pec'))."'
                    WHERE id_tobewebto_fattura_elettronica = ".(int)Tools::getValue('id_tobewebto_fattura_elettronica')." "; 
            Db::getInstance()->Execute($sql);
        } else {
            $sql = "INSERT INTO `"._DB_PREFIX_."tobewebto_fattura_elettronica`(id_customer,tobewebto_sdicode,tobewebto_pec) 
                    VALUES (".pSQL(Tools::getValue('tobewebto_id_customer')).",'".pSQL($sdi_code)."','".pSQL(Tools::getValue('tobewebto_pec'))."')";
            Db::getInstance()->Execute($sql);
        }

 

Link to comment
Share on other sites

Sono in debug e mi appare questo errore se entro in un ordine nel backoffice.
Correggendo il file customeraccount.php e cancellando la chache non è cambiato.
E' connesso con questo modulo ?

 

Notice alla linea 25 nel file /home/web/gevaelettronica.it/subdomains/shop/htdocs/var/cache/dev/smarty/compile/c5/c8/48/c5c848d438e9082404cdb8eddccabea9470fc5a5_0.file.admin_order.tpl.php
[8] Undefined index: section

Notice alla linea 25 nel file /home/web/gevaelettronica.it/subdomains/shop/htdocs/var/cache/dev/smarty/compile/c5/c8/48/c5c848d438e9082404cdb8eddccabea9470fc5a5_0.file.admin_order.tpl.php
[8] Trying to get property 'value' of non-object
 

Link to comment
Share on other sites

  • 2 weeks later...

Buongiorno,

vorrei segnalare un bug, questo modulo rompe il funzionamento di amazon pay su prestashop.

riporto cosa mi ha segnalato il servizio supporto tecnico amazon pay:

"Ciò che il team di Integrazione ha rilevato è invece l'incompatibilità con un altro modulo: tobewebto Fattura Elettronica. Può consultare lo screenshot image(9).png (20.6 KB)
Disattivandolo infatti Amazon Pay funziona in modo corretto. Dovrà segnalare l'incompatibilità allo sviluppatore di quest'ultimo modulo se vuole mantenerlo attivo con Amazon Pay; il nostro sviluppatore è comunque aperto ad una collaborazione dunque può farlo contattare dallo sviluppatore di "tobewebto Fattura Elettronica".

 

 

 

Link to comment
Share on other sites

Ciao Giodano,

sono a conoscenza di questo problema, ho avuto diversi scambi di mail con il responsabile

di AmazonPay, ma mai nessuna risposta dal programmatore,

ho chiesto un account di test per poter fare prove e non mi è stato dato (quindi non ho potuto fare debug)

il programmatore non ha guardato il modulo che è gratuito e a cui ho proposto accesso a spazio apposito 

dove ho montato entrambi i moduli.

Immagino sia una banalità sistemarlo ma non ho avuto gli strumenti.

Link to comment
Share on other sites

Se posso essere di aiuto in qualche modo, fammi sapere.

intanto ti passo i log di nginx al momento dell'errore....magari ti può aiutare.

 

 

PHP message: PHP Notice: Trying to get property of non-object in /var/www/shop/var/cache/prod/smarty/compile/16/d6/e1/16d6e169f2e2f213b835f599304771574b596a72_2.file.order.tpl.php on line 42
PHP message: PHP Fatal error: Uncaught Error: Call to a member function getPageLink() on null in /var/www/shop/var/cache/prod/smarty/compile/16/d6/e1/16d6e169f2e2f213b835f599304771574b596a72_2.file.order.tpl.php:42
Stack trace:
#0 /var/www/shop/vendor/smarty/smarty/libs/sysplugins/smarty_template_resource_base.php(123): content_5ea93f928a90a6_87499102(Object(SmartyCustomTemplate))
#1 /var/www/shop/vendor/smarty/smarty/libs/sysplugins/smarty_template_compiled.php(114): Smarty_Template_Resource_Base->getRenderedTemplateCode(Object(SmartyCustomTemplate))
#2 /var/www/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_template.php(216): Smarty_Template_Compiled->render(Object(SmartyCustomTemplate))
#3 /var/www/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(232): Smarty_Internal_Template->render(false, 0)
#4 /var/www/shop/vendor/smarty/smarty/libs/sysplugins/smarty_internal_templatebase.php(116): Smarty_Internal_TemplateBase->_execute(Object(SmartyCustomTemplate), NULL, NULL," while reading response header from upstream, client: 79.27.108.15, server: ********,  request: "POST /it/module/amzpayments/amzpayments?session=&rand=1588159907831 HTTP/1.1", upstream: "fastcgi://unix:/var/run/php/php7.0-fpm.sock:", host: "*****************", referrer: "https://***************/it/module/amzpayments/amzpayments?session=P02-9890856-4102542&toCheckout=1"

 

Edited by GiordanoFuretto (see edit history)
Link to comment
Share on other sites

On 11/26/2019 at 11:50 AM, etnapellet said:

grazie mille per il tuo supporto. Formidabile!

EDIT: [versione 1.1] Mi sono permesso di adattare la grafica al tema admin principale della 1.7.6.1.

Se puo' servire.

admin_customer.png

admin_customer.tpl 1.76 kB · 21 downloads

Grazie per le modifiche, posso sapere dove inserire il codice le tuo allegato? Quale file va modificato e la sua posizione... Grazie

Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...