Переглянути джерело

Módulo para ticket de ferreteria en factura de ventas

SEBAS 2 тижнів тому
батько
коміт
1935c6217e
1 змінених файлів з 99 додано та 6 видалено
  1. 99 6
      ticket_venta_ferreteria.xml

+ 99 - 6
ticket_venta_ferreteria.xml

@@ -1,8 +1,8 @@
 <?xml version="1.0" encoding="utf-8"?>
-<openerp>
+<!-- <openerp>
 <data>
 
-    <!-- Registro del reporte -->
+
     <report
         id="ticket_venta_ferreteria"
         model="account.invoice"
@@ -12,12 +12,12 @@
         file="ticket_venta_ferreteria.report_ticket_ferreteria"
     />
 
-    <!-- Formato de papel para impresora térmica -->
+
     <record id="paperformat_ticket_venta" model="report.paperformat">
         <field name="name">Ticket Venta</field>
         <field name="format">custom</field>
         <field name="page_height">300</field>
-        <field name="page_width">58</field> <!-- mm -->
+        <field name="page_width">58</field>
         <field name="orientation">Portrait</field>
         <field name="margin_top">1</field>
         <field name="margin_bottom">1</field>
@@ -43,7 +43,7 @@
         <field name="report_type">qweb-html</field>
         <field name="report_name">ticket_venta_ferreteria.report_ticket_ferreteria</field>
         <field name="paperformat_id" ref="ticket_venta_ferreteria.paperformat_ticket_venta"/>
-    </record>
+    </record> -->
 
     <!-- Asignar formato de papel al reporte -->
     <!-- <record id="ticket_venta_ferreteria" model="ir.actions.report.xml">
@@ -51,7 +51,7 @@
     </record> -->
 
     <!-- Plantilla QWeb -->
-    <template id="report_ticket_ferreteria">
+    <!-- <template id="report_ticket_ferreteria">
         <t t-call="report.html_container">
             <div class="page">
                 <style>
@@ -130,4 +130,97 @@
     </template>
 
 </data>
+</openerp> -->
+
+<openerp>
+  <data>
+
+    <!-- Reporte --><!-- mm -->
+    <report
+        id="ticket_venta_ferreteria"
+        model="account.invoice"
+        string="Ticket"
+        report_type="qweb-html"
+        name="ticket_venta_ferreteria.report_ticket_ferreteria"
+        file="ticket_venta_ferreteria.report_ticket_ferreteria"
+    />
+
+    <!-- Formato de papel 78mm ancho -->
+    <record id="paperformat_ticket_venta" model="report.paperformat">
+        <field name="name">Ticket 78mm</field>
+        <field name="default" eval="True"/>
+        <field name="format">custom</field>
+        <field name="page_height">200</field> <!-- Altura estimada -->
+        <field name="page_width">78</field> <!-- 78mm exacto -->
+        <field name="orientation">Portrait</field>
+        <field name="margin_top">2</field>
+        <field name="margin_bottom">2</field>
+        <field name="margin_left">2</field>
+        <field name="margin_right">2</field>
+        <field name="header_line" eval="False"/>
+        <field name="header_spacing">0</field>
+        <field name="dpi">90</field>
+    </record>
+
+    <!-- Asocia formato de papel -->
+    <record id="ticket_venta_ferreteria_action" model="ir.actions.report.xml">
+        <field name="name">Ticket Venta</field>
+        <field name="model">account.invoice</field>
+        <field name="report_type">qweb-html</field>
+        <field name="report_name">ticket_venta_ferreteria.report_ticket_ferreteria</field>
+        <field name="paperformat_id" ref="ticket_venta_ferreteria.paperformat_ticket_venta"/>
+    </record>
+
+    <!-- Plantilla QWeb -->
+    <template id="report_ticket_ferreteria">
+      <t t-call="report.html_container">
+        <div class="page">
+          <style>
+            * {
+              font-size: 10px;
+              font-family: "Courier New", Courier, monospace;
+              line-height: 1.2em;
+            }
+            .center { text-align: center; }
+            .right { text-align: right; }
+            .bold { font-weight: bold; }
+            .line { border-top: 1px dashed #000; margin: 4px 0; }
+          </style>
+
+          <t t-foreach="docs" t-as="o">
+            <div class="center bold">BIOMARKET</div>
+            <div class="center">Tel: (0981) 939 132</div>
+            <div class="center">Fecha: <span t-field="o.date_invoice" t-options='{"format": "dd/MM/yyyy HH:mm"}'/></div>
+            <div class="line"></div>
+            <div>
+              Cliente: <span t-field="o.partner_id.name"/>
+            </div>
+            <div class="line"></div>
+
+            <!-- LÍNEAS DE PRODUCTO -->
+            <t t-foreach="o.invoice_line" t-as="line">
+              <div>
+                <span t-field="line.name"/>
+              </div>
+              <div>
+                <t t-esc="'{0} x {1:,.0f} ='.format('%.0f' % line.quantity, line.price_unit)"/>
+                <span class="right" t-esc="'{0:,.0f} Gs'.format(line.price_unit * line.quantity)"/>
+              </div>
+            </t>
+
+            <div class="line"></div>
+
+            <!-- TOTALES -->
+            <!-- <div class="right">Subtotal: <t t-esc="'{0:,.0f} Gs'.format(o.amount_untaxed)"/></div>
+            <div class="right">Descuento: <t t-esc="'{0:,.0f} Gs'.format(o.amount_total - o.amount_untaxed)"/></div> -->
+            <div class="right bold">Total: <t t-esc="'{0:,.0f} Gs'.format(o.amount_total)"/></div>
+
+            <div class="line"></div>
+            <div class="center">¡GRACIAS POR SU COMPRA!</div>
+          </t>
+        </div>
+      </t>
+    </template>
+
+  </data>
 </openerp>