factura_venta_conecta5 (copia).xml 6.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <openerp>
  3. <data>
  4. <!-- Definición del reporte -->
  5. <report id="factura_venta_conecta5"
  6. model="account.invoice"
  7. string="Factura Legal"
  8. report_type="qweb-pdf"
  9. name="factura_venta_conecta5.report_factura_conecta5"
  10. file="factura_venta_conecta5.report_factura_conecta5"
  11. />
  12. <!-- Header vacío -->
  13. <template id="report_header_custom" inherit_id="report.external_layout_header">
  14. <xpath expr="//div[@class='header']" position="replace">
  15. <div class="header"></div>
  16. </xpath>
  17. </template>
  18. <!-- Footer vacío -->
  19. <template id="external_layout_footer" inherit_id="report.external_layout_footer">
  20. <xpath expr="//div[@class='footer']" position="replace">
  21. <div class="footer"></div>
  22. </xpath>
  23. </template>
  24. <!-- Reporte principal -->
  25. <template id="report_factura_conecta5">
  26. <t t-call="report.html_container">
  27. <t t-foreach="docs" t-as="o">
  28. <div class="page" style="width:35cm; height:23cm; margin:0; padding:0; font-size:12px; font-family:Arial, Helvetica, sans-serif;">
  29. <!-- 3 copias una debajo de otra -->
  30. <t t-foreach="[1,2,3]" t-as="i">
  31. <div style="height:7.5cm; position:relative; border:none;">
  32. <!-- Fecha de emisión -->
  33. <div style="position:absolute; top:0.5cm; left:9cm;">
  34. <span t-field="o.date_invoice" t-field-options='{"format": "dd MMM yyyy"}'/>
  35. </div>
  36. <!-- Condición de venta -->
  37. <div style="position:absolute; top:0.5cm; left:24cm;">
  38. <t t-if="o.contado">X</t>
  39. </div>
  40. <div style="position:absolute; top:0.5cm; left:26cm;">
  41. <t t-if="o.credito">X</t>
  42. </div>
  43. <!-- Razón social -->
  44. <div style="position:absolute; top:1.2cm; left:2cm;">
  45. <span t-field="o.partner_id.name"/>
  46. </div>
  47. <!-- RUC -->
  48. <div style="position:absolute; top:1.8cm; left:19cm;">
  49. <span t-field="o.partner_id.ruc"/>
  50. </div>
  51. <!-- Dirección -->
  52. <div style="position:absolute; top:2.4cm; left:2cm;">
  53. <span t-field="o.partner_id.street"/>
  54. <span t-field="o.partner_id.street2"/>
  55. </div>
  56. <!-- Teléfono -->
  57. <div style="position:absolute; top:2.4cm; left:18cm;">
  58. <span t-field="o.partner_id.mobile"/>
  59. </div>
  60. <div style=" height: 0.7cm; clear: both;"></div>
  61. <!-- Tabla de líneas -->
  62. <div style="position:absolute; top:3.3cm; left:1cm; width:33cm;">
  63. <t t-foreach="o.invoice_line" t-as="l">
  64. <div style="display:flex; width:100%; font-size:11px; line-height:0.5cm;">
  65. <div style="width:1cm; text-align:center;">
  66. <span t-esc="'{0:,.2f}'.format(l.quantity)"/>
  67. </div>
  68. <div style="width:14cm; padding-left:0.3cm;">
  69. <span t-field="l.product_id.name"/>
  70. </div>
  71. <div style="width:2.3cm; text-align:right;">
  72. <span t-esc="'{0:,.0f}'.format(l.price_unit)"/>
  73. </div>
  74. <div style="width:2.2cm; text-align:right;">
  75. <t t-if="l.invoice_line_tax_id and l.invoice_line_tax_id[0].amount == 0">
  76. <span t-esc="'{0:,.0f}'.format(l.price_subtotal)"/>
  77. </t>
  78. </div>
  79. <div style="width:2.2cm; text-align:right;">
  80. <t t-if="any(t.amount==5 for t in l.invoice_line_tax_id)">
  81. <span t-esc="'{0:,.0f}'.format(l.price_subtotal)"/>
  82. </t>
  83. </div>
  84. <div style="width:2.4cm; text-align:right;">
  85. <t t-if="any(t.amount==10 for t in l.invoice_line_tax_id)">
  86. <span t-esc="'{0:,.0f}'.format(l.price_subtotal)"/>
  87. </t>
  88. </div>
  89. </div>
  90. </t>
  91. </div>
  92. <!-- Subtotales e IVA -->
  93. <div class="subtotal_10" style="position:absolute; top:6.2cm; right:5cm; text-align:right;">
  94. <span t-esc="'{0:,.0f}'.format(o.amount_total)"/>
  95. </div>
  96. <div class="total_pagar_data" style="position:absolute; top:6.5cm; left:1cm;">
  97. <span t-esc="convertir(o.amount_total, o.currency_id.en_letras)"/>
  98. </div>
  99. <div class="total_pagar" style="position:absolute; top:6.5cm; right:5cm; text-align:right;">
  100. <span t-esc="'{0:,.0f}'.format(o.amount_total)"/>
  101. </div>
  102. <div class="iva_10_data" style="position:absolute; top:7cm; left:25cm; text-align:right;">
  103. <span t-esc="'{0:,.0f}'.format(o.amount_tax)"/>
  104. </div>
  105. <div class="iva_total_data" style="position:absolute; top:7cm; left:29cm; text-align:right;">
  106. <span t-esc="'{0:,.0f}'.format(o.amount_tax)"/>
  107. </div>
  108. </div>
  109. </t>
  110. </div>
  111. </t>
  112. </t>
  113. </template>
  114. </data>
  115. </openerp>