Jump to content

[SOLUCIONADO] Modificar posición campos pdf factura


Recommended Posts

Hola!

 

Al imprimir una factura en PDF donde se muestra el resumen del pedido nos gustaría saber como modificar la posición de dos campos de modo que se intercambien:

 

24fwl52.png

 

¿Como podriamos modificar esto?

 

Gracias

Ahora mismo, estoy en el móvil y creo que no recuerdo en el nombre del fichero "exacto", (por lo que veo en la imagen que adjuntas)  intenta mirar dentro del directorio "pdf" el fichero:

invoice.total-tab.tpl
Link to comment
Share on other sites

Hola de nuevo!

 

He encontrado la carpeta con los siguientes ficheros:

 

  • invoice.tpl
  • invoice-b2b.tpl
  • invoice.tax-tab.tpl

 

Si edito invoice.tpl

 

veo esta parte del codigo que parece la que busco...

<table style="width: 100%">
				{if (($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl) > 0)}
				<tr style="line-height:5px;">
					<td style="width: 83%; text-align: right; font-weight: bold">{l s='Product Total (Tax Excl.)' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products}</td>
				</tr>

				<tr style="line-height:5px;">
					<td style="width: 83%; text-align: right; font-weight: bold">{l s='Product Total (Tax Incl.)' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products_wt}</td>
				</tr>
				{else}
				<tr style="line-height:5px;">
					<td style="width: 83%; text-align: right; font-weight: bold">{l s='Product Total' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products}</td>
				</tr>
				{/if}

				{if $order_invoice->total_discount_tax_incl > 0}
				<tr style="line-height:5px;">
					<td style="text-align: right; font-weight: bold">{l s='Total Vouchers' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">-{displayPrice currency=$order->id_currency price=($order_invoice->total_discount_tax_incl)}</td>
				</tr>
				{/if}

				{if $order_invoice->total_wrapping_tax_incl > 0}
				<tr style="line-height:5px;">
					<td style="text-align: right; font-weight: bold">{l s='Wrapping Cost' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">
					{if $tax_excluded_display}
						{displayPrice currency=$order->id_currency price=$order_invoice->total_wrapping_tax_excl}
					{else}
						{displayPrice currency=$order->id_currency price=$order_invoice->total_wrapping_tax_incl}
					{/if}
					</td>
				</tr>
				{/if}

				{if $order_invoice->total_shipping_tax_incl > 0}
				<tr style="line-height:5px;">
					<td style="text-align: right; font-weight: bold">{l s='Shipping Cost' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">
						{if $tax_excluded_display}
							{displayPrice currency=$order->id_currency price=$order_invoice->total_shipping_tax_excl}
							{else}
							{displayPrice currency=$order->id_currency price=$order_invoice->total_shipping_tax_incl}
						{/if}
					</td>
				</tr>
				{/if}

				{if ($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl) > 0}
				<tr style="line-height:5px;">
					<td style="text-align: right; font-weight: bold">{l s='Total Tax' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl)}</td>
				</tr>
				{/if}

				<tr style="line-height:5px;">
					<td style="text-align: right; font-weight: bold">{l s='Total' pdf='true'}</td>
					<td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_paid_tax_incl}</td>
				</tr>

			</table>

He probado a intercambiar las lineas que hacen referencia a los campos:

              <tr style="line-height:5px;">
                    <td style="width: 83%; text-align: right; font-weight: bold">{l s='Product Total' pdf='true'}</td>
                    <td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products}</td>
                </tr>
                {else}
                <tr style="line-height:5px;">
                    <td style="width: 83%; text-align: right; font-weight: bold">{l s='Product Total (Tax Incl.)' pdf='true'}</td>
                    <td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products_wt}</td>
                </tr>                
                {/if}

Pero no ha funcionado como esperaba... Parece que tienen que estar en un orden especifico...

 

No me queda claro cuales serian los campos a intercambiar ....

 

Alguna sugerencia? :rolleyes:

 

Gracias!

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

Hola Nadie,

 

Estaba editando el fichero invoice.tpl ...

 

Estes es el codigo del que tú mencionas... sería esta la parte a editar? he hecho alguna prueba sin exito ya que la factura se queda igual... luego probare a limpiar cache pero a diferencia de cuando editaba invoice.tpl los cambios eran inmediatos.

				<tr style="line-height:5px;">
					<td style="text-align: left; background-color: #4D4D4D; color: #FFF; padding-left: 10px; font-weight: bold; width: 30%">{l s='Tax Detail' pdf='true'}</td>
					<td style="text-align: right; background-color: #4D4D4D; color: #FFF; padding-left: 10px; font-weight: bold; width: 20%">{l s='Tax Rate' pdf='true'}</td>
					{if !$use_one_after_another_method}
						<td style="text-align: right; background-color: #4D4D4D; color: #FFF; padding-left: 10px; font-weight: bold; width: 20%">{l s='Total Tax Excl' pdf='true'}</td>
					{/if}
					<td style="text-align: right; background-color: #4D4D4D; color: #FFF; padding-left: 10px; font-weight: bold; width: 20%">{l s='Total Tax' pdf='true'}</td>
				</tr>

Tan solo encuentro esa parte donde veo que aparece alguna referencia a los campos...

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

Buenos dias,

 

He hecho algun progreso... He visto que la clave está en este fichero:

 

invoice.tpl

 

Hay que modificar o añadir estas lineas:

 

<tr style="line-height:5px;">
<td style="width: 83%; text-align: right; font-weight: bold">{l s='Product Total (Tax Incl.)' pdf='true'}</td>
<td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products_wt}</td>
</tr>

Y sustitur donde dice:

{l s='Product Total (Tax Incl.)' pdf='true'} 

Poner esto:

{l s='Total Tax Excl' pdf='true'}

 

Con esto logramos que en la factura aparezca la cabecera de "Total IVA"... Pero hora necesito que muestre el valor del campo correcto, de modo que muestre los "total tax" (osea todos los impuestos o todo el IVA)... Para ello justo debajo donde dice:

 

<td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=$order_invoice->total_products_wt}

Hay que sustituir la parte final "total_products_wt" por el nombre del campo que almacene el total de IVA... El problema es que no sé como se llama ese campo.

 

He probado con "total_tax" y con "total_tax_wt" tambien con "total_taxes" y "total_taxes_wt" pero ninguno ha funcionado...

 

Alguien sabe cual sería el nombre correcto?

 

Gracias!

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

Finalmente lo conseguí... :)

Resulta que no existe un campo especifico en la base de datos para las taxes y por tanto no queda otra que hacer una resta entre precio final - precio sin impuestos y mostrar el resultado....

 

Revisando el codigo he descubierto que la solución estaba tan solo unas lineas más abajo en el mismo archivo invoice.tpl ,

  {if ($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl) > 0}
        <tr style="line-height:5px;">
           <td style="text-align: right; font-weight: bold">{l s='Total Tax' pdf='true'}</td>
           <td style="width: 17%; text-align: right;">{displayPrice currency=$order->id_currency price=($order_invoice->total_paid_tax_incl - $order_invoice->total_paid_tax_excl)}</td>
        </tr>
  {/if}

Con eso se hace el calculo y muestra el total de impuestos...

 

Un saludo!

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

  • nadie locked this topic
Guest
This topic is now closed to further replies.
×
×
  • Create New...