Jump to content

erreur 500 lors lors de la génération PDF FACTURE coté front office


wizwill

Recommended Posts

bonjour,

j'arrive en toute fin de développement en 1.7.1.2 et lors de mes tests finaux en simulation client, je m’aperçois que la facture téléchargeable disponible dans la liste des commandes passées provoque une erreur 500 quand je demande son téléchargement.

 

essaie sur plusieurs navigateurs, machines différentes et simulation sur plusieurs achats...

 

en mode DEBUG j'obtient ceci quand je clic sur PDF pour télécharger la facture  :

SmartyException in smarty_internal_templatebase.php line 449:
Plugin tag "convertPrice" already registered

in smarty_internal_templatebase.php line 449
at Smarty_Internal_TemplateBase->registerPlugin('function', 'convertPrice', array(object(SmartyLazyRegister), 'convertPrice')) in smarty.config.inc.php line 128
at smartyRegisterFunction(object(SmartyDev), 'function', 'convertPrice', 'convertPrice', true, object(SmartyLazyRegister)) in PDF.php line 76
at PDFCore->__construct(object(PrestaShopCollection), 'Invoice', object(SmartyDev)) in PdfInvoiceController.php line 72
at PdfInvoiceControllerCore->display() in Controller.php line 225
at ControllerCore->run() in Dispatcher.php line 369
at DispatcherCore->dispatch() in index.php line 28

une petite idée s'il vous plait ?

Meci d'avance.

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 4 months later...

Bonjour wizwill,

Avez-vous pu résoudre ce problème ? 

J'ai exactement la même erreur que vous lorsque je télécharge la facture d'une commande en front office.

image.thumb.png.45ef7726c5f8738dc4e8f0e88393aae9.png

Je suis sur un prestashop 1.7.2.4 avec le theme 'child version 1.0.1 Conçu par WaterThemes'

 

EDIT :

Le problème venait du module 'Cross Selling On Cart v2.4.0 - par Presta-Module', je l'ai désinstallé et tout fonctionne de nouveau. Je ne sais pas exactement d'ou vient le problème donc je vais poser une question au développeur du module.

Edited by Dev_ITIS
Problème résolu (see edit history)
Link to comment
Share on other sites

Avez-vous fait une mise à jour de module ou de Prestashop ?

Êtes-vous sur que le problème date de ce matin et pas d'une date antérieure ?

Vous ne pouvez pas télécharger de facture depuis votre compte en front office, nous sommes bien d'accord ?

Est-ce que cela fonctionne depuis votre back office ?

Link to comment
Share on other sites

j'ai modifié invoice.tax-tab.tpl, mais je l'ai avant copié dans thèmes classic pdf 

j

{*
<!--  TAX DETAILS -->
{if $tax_exempt}

    {l s='Exempt of VAT according to section 259B of the General Tax Code.' d='Shop.Pdf' pdf='true'}

{elseif (isset($tax_breakdowns) && $tax_breakdowns)}
    <table id="tax-tab" width="100%">
        <thead>
            <tr>
                <th class="header small">{l s='Tax Detail' d='Shop.Pdf' pdf='true'}</th>
                <th class="header small">{l s='Tax Rate' d='Shop.Pdf' pdf='true'}</th>
                {if $display_tax_bases_in_breakdowns}
                    <th class="header small">{l s='Base price' d='Shop.Pdf' pdf='true'}</th>
                {/if}
                <th class="header-right small">{l s='Total Tax' d='Shop.Pdf' pdf='true'}</th>
            </tr>
        </thead>
        <tbody>
        {assign var=has_line value=false}

        {foreach $tax_breakdowns as $label => $bd}
            {assign var=label_printed value=false}

            {foreach $bd as $line}
                {if $line.rate == 0}
                    {continue}
                {/if}
                {assign var=has_line value=true}
                <tr>
                    <td class="white">
                        {if !$label_printed}
                            {if $label == 'product_tax'}
                                {l s='Products' d='Shop.Pdf' pdf='true'}
                            {elseif $label == 'shipping_tax'}
                                {l s='Shipping' d='Shop.Pdf' pdf='true'}
                            {elseif $label == 'ecotax_tax'}
                                {l s='Ecotax' d='Shop.Pdf' pdf='true'}
                            {elseif $label == 'wrapping_tax'}
                                {l s='Wrapping' d='Shop.Pdf' pdf='true'}
                            {/if}
                            {assign var=label_printed value=true}
                        {/if}
                    </td>

                    <td class="center white">
                        {$line.rate} %
                    </td>

                    {if $display_tax_bases_in_breakdowns}
                        <td class="right white">
                            {if isset($is_order_slip) && $is_order_slip}- {/if}
                            {displayPrice currency=$order->id_currency price=$line.total_tax_excl}
                        </td>
                    {/if}

                    <td class="right white">
                        {if isset($is_order_slip) && $is_order_slip}- {/if}
                        {displayPrice currency=$order->id_currency price=$line.total_amount}
                    </td>
                </tr>
            {/foreach}
        {/foreach}

        {if !$has_line}
        <tr>
            <td class="white center" colspan="{if $display_tax_bases_in_breakdowns}4{else}3{/if}">
                {l s='No taxes' d='Shop.Pdf' pdf='true'}
            </td>
        </tr>



        {/if}

        </tbody>
    </table>

{/if}
<!--  / TAX DETAILS -->
*}
<!--  TAX DETAILS -->
    {l s='TVA non applicable - article 293 B du CGI ' d='Shop.Pdf' pdf='true'}
<!--  / TAX DETAILS -->

 

 

après cette modif c'était toujours ok

 

j'ai voulu aller sur invoice.style-tab.tpl ....... et je ne trouve plus le fichier c'est peut - etre pour cela 

 

Link to comment
Share on other sites

C'est normal d'avoir ce message d'erreur car vous avez supprimer le dossier.

L'erreur 500 est une erreur serveur, étant donné que l'affichage des erreurs est désactivé, vous ne verrez pas d'ou vient cette erreur. Pour ce faire, il faut aller dans le dossier 'config/', modifier le fichier 'defines.inc.php'.

Dans le fichier, au tout début, vous verrez ce code

/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', false);
}

Changez le "false" en "true" et sauvegardez.

/* Debug only */
if (!defined('_PS_MODE_DEV_')) {
define('_PS_MODE_DEV_', true);
}

Une fois la sauvegarde effectuée, videz votre cache et retournez sur la page ou il y avait l'erreur. Rafraîchissez et envoyez une image de ce que vous avez.

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...