Jelajahi Sumber

Módulo para factura y nota legal de conecta5

SEBAS 7 bulan lalu
induk
melakukan
244618d202
1 mengubah file dengan 165 tambahan dan 260 penghapusan
  1. 165 260
      factura_venta_conecta5.xml

+ 165 - 260
factura_venta_conecta5.xml

@@ -20,291 +20,196 @@
 
     <!-- Footer vacío -->
     <template id="external_layout_footer" inherit_id="report.external_layout_footer">
-        <xpath expr="//div[@class='footer']"  position="replace">
+        <xpath expr="//div[@class='footer']" position="replace">
             <div class="footer"></div>
         </xpath>
     </template>
 
-    <!-- Plantilla del reporte principal -->
+    <!-- Reporte principal -->
     <template id="report_factura_conecta5">
         <t t-call="report.html_container">
             <t t-call="report.external_layout">
 
-                <!-- Se mueve el foreach de las copias DENTRO del foreach de las facturas -->
                 <t t-foreach="docs" t-as="o">
-                    <t t-foreach="[1,2,3]" t-as="i">
-                        <div class="page">
-
-                            <style type="text/css">
-                                body{
-                                    font-size: 2.67mm;
-                                    font-family: Arial, Helvetica, sans-serif;
-                                }
-                                div{
-                                    padding: 0px;
-                                }
-                                .pagina{
-                                    width:19.3cm;
-                                }
-                                .logo{
-                                    height: 2.3cm;
-                                    width: 100%;
-                                    top: 0px;
-                                }
-                                .fecha_emision_data{
-                                    width: 13.1cm;
-                                    padding-left: 8.9cm;
-                                    float: left;
-                                    min-height: 0.6cm;
-                                }
-                                .contado_x{
-                                    width: 0.4cm;
-                                    float: left;
-                                    padding-left: 0.0cm;
-                                    min-height: 0.6cm;
-                                }
-                                .credito_x{
-                                    width: 0.3cm;
-                                    float: left;
-                                    padding-left: 0.8cm;
-                                    min-height: 0.4cm;
-                                }
-                                .linea2{
-                                    position: relative;
-                                    top: -0.12cm;
-                                    min-height: 0.4cm;
-                                }
-                                .razon_data{
-                                    width: 15cm;
-                                    float: left;
-                                    padding-left: 9.9cm;
-                                    min-height: 0.5cm;
-                                }
-                                .linea3{
-                                    position: relative;
-                                    top: -0.12cm;
-                                    min-height: 0.4cm;
-                                }
-                                .direccion_data{
-                                    width: 15.5cm;
-                                    float: left;
-                                    padding-left: 9.7cm;
-                                    min-height: 0.5cm;
-                                }
-                                .linea4{
-                                    position: relative;
-                                    top: -0.12cm;
-                                    min-height: 0.4cm;
-                                }
-                                .ruc_data{
-                                    width: 11.9cm;
-                                    float: left;
-                                    padding-left: 9.1cm;
-                                    min-height: 0.4cm;
-                                }
-                                .telefono_data{
-                                    width: 6.8cm;
-                                    float: left;
-                                    padding-left: 2.3cm;
-                                    min-height: 0.5cm;
-                                }
-                                .linea5{
-                                    position: relative;
-                                    top: -0.12cm;
-                                    min-height: 0.4cm;
-                                }
-                                .nota_remision_data{
-                                    width: 8.3cm;
-                                    float: left;
-                                    padding-left: 2.5cm;
-                                    min-height: 0.5cm;
-                                }
-                                .cab-articulos{
-                                    height: 0.7cm;
-                                    clear: both;
-                                }
-                                .articulos{
-                                    height: 3.60cm;
-                                }
-                                .art-col1{
-                                    width:0.9cm;
-                                    text-align: center;
-                                }
-                                .art-col2{
-                                    padding-left: 0.8cm;
-                                    width:1cm;
-                                    text-align: center;
-                                }
-                                .art-col3{
-                                    padding-left: 1cm;
-                                    width:9.4cm;
-                                }
-                                .art-col4{
-                                    width:1.9cm;
-                                    text-align: right;
-                                }
-                                .art-col5{
-                                    width:2.2cm;
-                                    text-align: right;
-                                }
-                                .art-col6{
-                                    width:2.3cm;
-                                    text-align: right;
-                                }
-                                .art-col7{
-                                    width:1.9cm;
-                                    text-align: right;
-                                }
-                                .logo1{
-                                    height: 2.50cm;
-                                    width: 100%;
-                                    top: 0px;
-                                }
-                                .logo2{
-                                    height: 2.47cm;
-                                    width: 100%;
-                                    top: 0px;
-                                }
-                                .subtotal_data{
-                                    width: 6cm;
-                                    float: left;
-                                    padding-top: 0.002cm;
-                                    padding-left: 2.3cm;
-                                    min-height: 0.2cm;
-                                }
-                                .subtotal_excentas{
-                                    width: 1.8cm;
-                                    float: left;
-                                    text-align: right;
-                                    padding-left: 10cm;
-                                    padding-top: 0.7cm;
-                                    min-height: 0.2cm;
-                                }
-                                .subtotal_5{
-                                    width: 1cm;
-                                    float: left;
-                                    padding-left: 1cm;
-                                    text-align: right;
-                                    padding-top: 0.7cm;
-                                    min-height: 0.2cm;
-                                }
-                                .subtotal_10{
-                                    width: 2.3cm;
-                                    float: left;
-                                    padding-left: 0.8cm;
-                                    text-align: left;
-                                    padding-top: 0.7cm;
-                                    min-height: 0.2cm;
-                                }
-                                .total_pagar_data{
-                                    width: 16.4cm;
-                                    float: left;
-                                    padding-top: 0.01mm;
-                                    padding-left: 4.8cm;
-                                    min-height: 0.3cm;
-                                }
-                                .total_pagar{
-                                    width: 2.3cm;
-                                    float: right;
-                                    padding-top: 0.01mm;
-                                    padding-left: 0.8cm;
-                                    min-height: 0.3cm;
-                                }
-                                .iva_5_data{
-                                    width: 5cm;
-                                    float: left;
-                                    padding-left: 4.7cm;
-                                    min-height: 0.25cm;
-                                }
-                                .iva_10_data{
-                                    width: 5.2cm;
-                                    float: left;
-                                    padding-left: 3.8cm;
-                                    min-height: 0.25cm;
-                                }
-                                .iva_total_data{
-                                    width: 7cm;
-                                    float: left;
-                                    padding-left: 3.3cm;
-                                    min-height: 0.25cm;
-                                }
-                            </style>
-
-                            <div class="pagina">
-                                <div class="logo"> </div>
-
-                                <div class="linea1">
-                                    <div class="fecha_emision_data">
-                                        <span t-field="o.date_invoice" t-field-options='{"format": "dd MMM yyyy"}'/>
+                    <div class="page" style="width:35cm; height:23cm;">
+
+                        <style type="text/css">
+                            body{
+                                font-size: 2.67mm;
+                                font-family: Arial, Helvetica, sans-serif;
+                            }
+                            .copia {
+                                width: 100%;
+                                height: 7.6cm;  /* 23 / 3 = 7.6 cm aprox. */
+                                border-bottom: 1px dashed #000;
+                                position: relative;
+                                padding-top: 0.2cm;
+                                page-break-inside: avoid;
+                            }
+                            .titulo-copia {
+                                text-align: right;
+                                font-weight: bold;
+                                font-size: 3mm;
+                                position: absolute;
+                                right: 0.5cm;
+                                top: 0.2cm;
+                            }
+                            .pagina {
+                                width: 33cm;
+                                margin-left: 1cm;
+                            }
+                            .logo{
+                                height: 2.3cm;
+                                width: 100%;
+                            }
+                            .fecha_emision_data{
+                                width: 13.1cm;
+                                padding-left: 8.9cm;
+                                float: left;
+                                min-height: 0.6cm;
+                            }
+                            .contado_x{
+                                width: 0.4cm;
+                                float: left;
+                            }
+                            .credito_x{
+                                width: 0.3cm;
+                                float: left;
+                                padding-left: 0.8cm;
+                            }
+                            .razon_data{
+                                width: 15cm;
+                                float: left;
+                                padding-left: 9.9cm;
+                                min-height: 0.5cm;
+                            }
+                            .direccion_data{
+                                width: 15.5cm;
+                                float: left;
+                                padding-left: 9.7cm;
+                                min-height: 0.5cm;
+                            }
+                            .ruc_data{
+                                width: 11.9cm;
+                                float: left;
+                                padding-left: 9.1cm;
+                                min-height: 0.4cm;
+                            }
+                            .telefono_data{
+                                width: 6.8cm;
+                                float: left;
+                                padding-left: 2.3cm;
+                                min-height: 0.5cm;
+                            }
+                            .nota_remision_data{
+                                width: 8.3cm;
+                                float: left;
+                                padding-left: 2.5cm;
+                                min-height: 0.5cm;
+                            }
+                            .cab-articulos{
+                                height: 0.7cm;
+                                clear: both;
+                            }
+                            .articulos{
+                                height: 3.60cm;
+                            }
+                            .art-col1{ width:0.9cm; text-align:center; }
+                            .art-col2{ padding-left: 0.8cm; width:1cm; text-align:center; }
+                            .art-col3{ padding-left: 1cm; width:9.4cm; }
+                            .art-col7{ width:1.9cm; text-align:right; }
+
+                            .subtotal_10{
+                                width: 2.3cm;
+                                float: left;
+                                padding-left: 0.8cm;
+                                text-align: left;
+                                padding-top: 0.7cm;
+                            }
+                            .total_pagar_data{
+                                width: 16.4cm;
+                                float: left;
+                                padding-top: 0.01mm;
+                                padding-left: 4.8cm;
+                            }
+                            .total_pagar{
+                                width: 2.3cm;
+                                float: right;
+                                padding-top: 0.01mm;
+                                padding-left: 0.8cm;
+                            }
+                            .iva_10_data{
+                                width: 5.2cm;
+                                float: left;
+                                padding-left: 3.8cm;
+                            }
+                            .iva_total_data{
+                                width: 7cm;
+                                float: left;
+                                padding-left: 3.3cm;
+                            }
+                        </style>
+
+                        <!-- 3 copias en una hoja -->
+                        <t t-foreach="['ORIGINAL', 'DUPLICADO', 'TRIPLICADO']" t-as="tipo">
+                            <div class="copia">
+                                <div class="titulo-copia"><t t-esc="tipo"/></div>
+
+                                <div class="pagina">
+                                    <div class="logo"></div>
+
+                                    <div class="linea1">
+                                        <div class="fecha_emision_data">
+                                            <span t-field="o.date_invoice" t-field-options='{"format": "dd MMM yyyy"}'/>
+                                        </div>
+                                        <div class="contado_x">
+                                            <t t-if="o.contado">X</t>
+                                        </div>
+                                        <div class="credito_x">
+                                            <t t-if="o.credito">X</t>
+                                        </div>
                                     </div>
-                                    <div class="contado_x">
-                                        <t t-if="o.contado">X</t>
-                                    </div>
-                                    <div class="credito_x">
-                                        <t t-if="o.credito">X</t>
-                                    </div>
-                                </div>
 
-                                <div class="linea2">
                                     <div class="razon_data"><span t-field="o.partner_id.name"/></div>
-                                </div>
-
-                                <div class="linea3">
                                     <div class="direccion_data"><span t-field="o.partner_id.ruc"/></div>
-                                </div>
 
-                                <div class="linea4">
                                     <div class="ruc_data">
                                         <t t-if="o.partner_id.street">
                                             <span t-field="o.partner_id.street"/> <span t-field="o.partner_id.street2"/>
                                         </t>
                                     </div>
                                     <div class="telefono_data"><span t-field="o.partner_id.mobile"/></div>
-                                </div>
 
-                                <div class="linea5">
-                                    <div class="nota_remision_data"></div>
-                                </div>
+                                    <div class="cab-articulos"></div>
+                                    <div class="articulos">
+                                        <table class="tab-articulos">
+                                            <tr t-foreach="o.invoice_line" t-as="l">
+                                                <td class="art-col1"><span t-field="l.product_id.default_code"/></td>
+                                                <td class="art-col2"><span t-esc="'{0:,.2f}'.format(l.quantity)"/></td>
+                                                <td class="art-col3"><span t-field="l.product_id.name"/></td>
+                                                <td class="art-col7"><span t-esc="'{0:,.0f}'.format((l.quantity * l.price_unit))"/></td>
+                                            </tr>
+                                        </table>
+                                    </div>
 
-                                <div class="cab-articulos"></div>
-                                <div class="articulos">
-                                    <table class="tab-articulos">
-                                        <tr t-foreach="o.invoice_line" t-as="l">
-                                            <td class="art-col1"><span t-field="l.product_id.default_code"/></td>
-                                            <td class="art-col2"><span t-esc="'{0:,.2f}'.format(l.quantity)"/></td>
-                                            <td class="art-col3"><span t-field="l.product_id.name"/></td>
-                                            <td class="art-col4"></td>
-                                            <td class="art-col5"></td>
-                                            <td class="art-col6"></td>
-                                            <td class="art-col7"><span t-esc="'{0:,.0f}'.format((l.quantity * l.price_unit))"/></td>
-                                        </tr>
-                                    </table>
+                                    <div class="subtotal_10"><span t-esc="'{0:,.0f}'.format(o.amount_total)"/></div>
+                                    <div class="total_pagar_data">
+                                        Gs.: <span t-esc="convertir(o.amount_total,o.currency_id.en_letras)"/>
+                                    </div>
+                                    <div class="total_pagar">
+                                        <span t-esc="'{0:,.0f}'.format(o.amount_total)"/>
+                                    </div>
+                                    <div class="iva_10_data">
+                                        <span t-esc="'{0:,.0f}'.format(o.amount_tax)"/>
+                                    </div>
+                                    <div class="iva_total_data">
+                                        <span t-esc="'{0:,.0f}'.format(o.amount_tax)"/>
+                                    </div>
                                 </div>
-
-                                <div class="subtotal_data"></div>
-                                <div class="subtotal_excentas"></div>
-                                <div class="subtotal_5"></div>
-                                <div class="subtotal_10"><span t-esc="'{0:,.0f}'.format(o.amount_total)"/></div>
-
-                                <div class="total_pagar_data">Gs.: <span t-esc="convertir(o.amount_total,o.currency_id.en_letras)"/></div>
-                                <div class="total_pagar"><span t-esc="'{0:,.0f}'.format(o.amount_total)"/></div>
-
-                                <div class="iva_5_data"></div>
-                                <div class="iva_10_data"><span t-esc="'{0:,.0f}'.format(o.amount_tax)"/></div>
-                                <div class="iva_total_data"><span t-esc="'{0:,.0f}'.format(o.amount_tax)"/></div>
                             </div>
-
-                            <t t-if="i == 1">
-                                <div class="logo1"></div>
-                            </t>
-                            <t t-if="i == 2">
-                                <div class="logo2"></div>
-                            </t>
-
-                        </div>
-                    </t>
+                        </t>
+                    </div>
                 </t>
-
             </t>
         </t>
     </template>