Jump to content

Recommended Posts

Buenos días. Tengo que mantener una instalación de PS 8.1.7 heredada.

¿Alguien sabe por qué modificando los archivo invoice.tpl o invoice-product.tpl, la generación del PDF de una factura no cambia absolutamente nada? Si modifico el style afecta correctamente, pero modificando los archivos que supuestamente deberían afectar al contenido no ocurre nada. De hecho, incluso eliminando el archivo tampoco ocurre nada, así que me temo que lo está generando con otros archivos que no consigo encontrar.

Existe un archivo override/classes/pdf/HTMLTemplateInvoice.php, que afecta al ancho de las columnas, pero tampoco el contenido del bloque de productos varía cambie lo que cambie.

La verdad es que no encuentro qué ocurre.

Gracias de antemano.

 

Link to comment
Share on other sites

Sí, gracias por responder. No consigo averiguar qué ocurre. El bloque de productos no aparece al 100% de ancho y no encuentro qué le cambia el width con respecto a lo que indican la plantilla y el override.

Link to comment
Share on other sites

Bueno, parece que el problema del ancho proviene del override:

<?php
class HTMLTemplateInvoice extends HTMLTemplateInvoiceCore
{    
    protected function computeLayout(array $params)
    {
        $layout = [
            'reference' => [
                'width' => 12,
            ],
            'product' => [
                'width' => 33,
            ],
            'quantity' => [
                'width' => 8,
            ],
            'tax_code' => [
                'width' => 7,
            ],
            'unit_price_tax_excl' => [
                'width' => 0,
            ],
            'total_tax_excl' => [
                'width' => 0,
            ],
            'total_tax_incl' => [
                'width' => 0,
            ],
        ];
        if (isset($params['has_discount']) && $params['has_discount']) {
            $layout['before_discount'] = ['width' => 0];
            $layout['product']['width'] -= 5;
            $layout['reference']['width'] -= 3;
        }
        $total_width = 0;
        $free_columns_count = 0;
        foreach ($layout as $data) {
            if ($data['width'] === 0) {
                ++$free_columns_count;
            }
            $total_width += $data['width'];
        }
        $delta = 100 - $total_width;
        foreach ($layout as $row => $data) {
            if ($data['width'] === 0) {
                $layout[$row]['width'] = $delta / $free_columns_count;
            }
        }
        $layout['_colCount'] = count($layout);
        return $layout;
    }

 

No encuentro por ninguna parte información de cómo conseguir que la factura para clientes finales (no B2B), presente los precios PVP, es decir, con el IVA incluido y no excluido, como aparecen ahora.

 

Link to comment
Share on other sites

Sí, y sí :D

Gracias por responder, jcarlosruiz. Yo creo que casi todo lo configurable desde el backend está probado. Imagino que es algo del php en el override que no consigo encontrar.

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