Bladeren bron

[ADD] Impresión de resume de cierre de caja

adrielso 6 jaren geleden
bovenliggende
commit
e129824fe4

+ 40 - 0
models/cashbox_statement_confirm.py

@@ -45,3 +45,43 @@ class cashbox_statement_confirm(models.Model):
         @fields state_avaliable     = 'True': disponible, 'False': Utilizado
         @fields casbox_transfer_id  = id transferencia
     '''
+
+    @api.model
+    def get_cashbox_statement_confirm(self, statementId):
+        return[{
+            'id': casBox.id,
+            'name': casBox.name,
+            'statement': {
+                'id': casBox.statement_id.id,
+                'name': casBox.statement_id.name,
+                'dateOpen': casBox.statement_id.date,
+                'dateConfirm': casBox.statement_id.closing_date,
+                'typeStatementID': casBox.statement_id.type_statement.id,
+                'typeStatementName': casBox.statement_id.type_statement.name,
+                'userId': casBox.statement_id.user_id.id,
+                'userName': casBox.statement_id.user_id.name,
+                'currencystatement': {
+                    'id': casBox.statement_id.currency.id,
+                    'name': casBox.statement_id.currency.name,
+                    'symbol': casBox.statement_id.currency.symbol,
+                    'rate': casBox.statement_id.currency.rate,
+                    'thousandsSeparator': casBox.statement_id.currency.thousands_separator,
+                    'decimalSeparator': casBox.statement_id.currency.decimal_separator,
+                    'decimalPlaces': casBox.statement_id.currency.decimal_places,
+                    'position': casBox.statement_id.currency.position,
+                },
+            },
+            'userStatementName': casBox.user_statement.name,
+            'userStatementLogin': casBox.user_statement.login,
+            'userConfirmName': casBox.user_confirm.name,
+            'userConfirmLogin': casBox.user_confirm.login,
+            'amountStatement': casBox.amount_statement,
+            'amountReal': casBox.amount_real,
+            'amountDifference': casBox.amount_difference,
+            'amountNextOpen': casBox.amount_next_open,
+            'transferCasBox': {
+                'id': casBox.casbox_transfer_id.id if(casBox.casbox_transfer_id) else '',
+                'name': casBox.casbox_transfer_id.name if(casBox.casbox_transfer_id) else '',
+                'amount': casBox.casbox_transfer_id.amount if(casBox.casbox_transfer_id) else 0
+            },
+        } for casBox in self.env['cashbox.statement.confirm'].search([('statement_id.id', '=', statementId), ('active', '=', True)])]

+ 20 - 0
static/src/css/style.css

@@ -15,6 +15,10 @@
     width: auto;
     float: left;
 }
+.eiru-statement-print{
+    width: auto;
+    float: left;
+}
 .eiru-statement-button {
     float: left;
     margin-right: 0px;
@@ -292,6 +296,14 @@
 .is-not-transfer {
     display: none;
     color: red;
+    padding-left: 20px;
+    font-size: 14px;
+}
+.is-not-balance {
+    display: none;
+    color: red;
+    padding-left: 20px;
+    font-size: 14px;
 }
 .from-confirm-hr{
     margin-bottom: 5px !important;
@@ -304,3 +316,11 @@
     padding-left: 12px;
     color: #ccc;
 }
+.button-print-group {
+    text-align: center;
+}
+.button-print-confirm {
+    height: 50px;
+    width: 120px;
+    font-size: 20px !important; 
+}

+ 58 - 11
static/src/js/eiru_statement_confirm.js

@@ -10,6 +10,7 @@
         buttons: undefined,
         bankStatement: [],
         statementGeneral: [],
+        resUser: [],
         statementConfig: [],
         /* init */
         init: function(parent) {
@@ -61,7 +62,30 @@
                 return self.fetchBankStatementGeneral(self.id);
             }).then(function(statementGeneral) {
                 self.statementGeneral = statementGeneral;
+                return self.fetchGetUserLogin();
+            }).then(function(resUser){
+                self.resUser = resUser;
+                return self.fetchStatementConfigTransfer();
+            }).then(function(statementConfig){
+                self.statementConfig = statementConfig;
+                /* Verificar el usuario */
+                if (!self.resUser.length){
+                    instanceWeb.notification.do_warn("Atencion", "No estas autorizado a realizar esta operación.");
+                    return  false;
+                }
+                /* Verificar si existe configuracion */
+                if (!self.statementConfig.length){
+                    instanceWeb.notification.do_warn("Atencion", "No estas autorizado a realizar esta operación, no existe configuración de caja.");
+                    return  false;
+                }
+                /* Verificar si el usuario tiene autorización para cerrar la caja */
+                if (!(_.contains(self.statementConfig[0].statement_confirm_user, self.resUser[0].id))){
+                    instanceWeb.notification.do_warn("Atencion", "El usuario no tiene autorización para cerrar la caja.");
+                    return false;
+                }
+
                 return self.showModal();
+                console.log("Cierre");
             });
         },
         /* Account bank Statement */
@@ -85,6 +109,20 @@
                 context: new instanceWeb.CompoundContext()
             });
         },
+        /*Get User*/
+        fetchGetUserLogin: function(){
+            var bankStatementUser = new instanceWeb.Model('account.bank.statement');
+            return bankStatementUser.call('eiru_transfers_get_user', {
+                context: new instanceWeb.CompoundContext()
+            });
+        },
+        /* statement Config */
+        fetchStatementConfigTransfer: function() {
+            var fields = ['id','name','statement_confirm_user','statement_confirm_transfer_user','statement_confirm_balance'];
+            var domain = [['active', '=', true]];
+            var statementConfig = new openerp.web.Model('account.bank.statement.config');
+            return statementConfig.query(fields).filter(domain).all();
+        },
         /*Modal  */
         showModal: function() {
             var self = this;
@@ -128,10 +166,8 @@
             amountCashbox.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
             amountReal.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
             amountOpen.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-            // amountTransfer.val(accounting.formatNumber(self.bankStatement[0].amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
             amountDiffer.val('0');
             amountTransfer.val('0');
-            amountOpen
             refBalance.val('Balance de cierre correcto.')
 
             $('.expired-account-modal').find('.is-not-transfer').css('display','none');
@@ -143,9 +179,26 @@
                 transferCasbox.attr("disabled", true);
             }
 
-            /**
-            * [Saldo de cierre]
-            */
+            $('.expired-account-modal').find('.is-not-balance').css('display','none');
+            $('.expired-account-modal').find('.is-not-balance').text("");
+            amountReal.removeAttr("disabled");
+            refBalance.removeAttr("disabled");
+
+            // Ajsuste de saldo
+            if (!(_.contains(self.statementConfig[0].statement_confirm_balance, self.resUser[0].id))) {
+                $('.expired-account-modal').find('.is-not-balance').css('display','inline-block');
+                $('.expired-account-modal').find('.is-not-balance').text("El usuario no tiene autorización para realizar ajuste de cierre.");
+                amountReal.attr("disabled", true);
+                refBalance.attr("disabled", true);
+            }
+
+            // Transferencia
+            if (!(_.contains(self.statementConfig[0].statement_confirm_transfer_user, self.resUser[0].id))){
+                $('.expired-account-modal').find('.is-not-transfer').css('display','inline-block');
+                $('.expired-account-modal').find('.is-not-transfer').text("El usuario no tiene autorización para realizar transferencia.");
+                transferCasbox.attr("disabled", true);
+            }
+
             /* Amount Real .keyup*/
             amountReal.keyup(function(e) {
                 var cashBoxAmount = accounting.unformat(amountCashbox.val(),currency.decimalSeparator);
@@ -155,7 +208,6 @@
                 amountReal.val(accounting.formatNumber(realAmount,0, currency.thousandsSeparator, currency.decimalSeparator));
                 amountDiffer.val(accounting.formatNumber(differenceAmount,0, currency.thousandsSeparator, currency.decimalSeparator));
                 amountOpen.val(accounting.formatNumber(realAmount,0, currency.thousandsSeparator, currency.decimalSeparator));
-                // amountTransfer.val(accounting.formatNumber(realAmount,0, currency.thousandsSeparator, currency.decimalSeparator));
                 amountReal.css('border-color','#ccc');
 
                 amountDiffer.css('color','#555');
@@ -188,7 +240,6 @@
                 amountDiffer.val(accounting.formatNumber(differenceAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
                 amountReal.val(accounting.formatNumber( realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
                 amountOpen.val(accounting.formatNumber( realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-                // amountTransfer.val(accounting.formatNumber( realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
             });
             /**
             * [Transferencia]
@@ -201,7 +252,6 @@
                 transferSelected = e.target;
                 selectedTrnasfer = false
                 cashboxTransfer.val('');
-                // amountTransfer.val('0');
                 refTransfer.val("");
                 $('.expired-account-modal').find('.is-transfer-confirm').css('display','none');
 
@@ -215,9 +265,6 @@
 
             cashboxTransfer.change(function(e) {
                 var realAmount = accounting.unformat(amountReal.val(),currency.decimalSeparator);
-                // amountOpen.val(accounting.formatNumber(realAmount,currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator));
-                // amountTransfer.val('0')
-
             })
             /* amount transfer Keyup */
             amountTransfer.keyup(function(e){

+ 324 - 0
static/src/js/eiru_statement_confirm_print.js

@@ -0,0 +1,324 @@
+(function() {
+
+    openerp.widgetInstanceStatementConfirmPrint = null;
+    openerp.parentInstanceStatementConfirmPrint = {};
+    var QWeb = openerp.web.qweb;
+    var instanceWeb = openerp.web;
+
+    openerp.EiruStatementConfirmPrint = openerp.Widget.extend({
+        template: 'EiruStatementUtility.ConfirmPrint',
+        id: undefined,
+        buttons: undefined,
+        statementConfirm: [],
+        /* init */
+        init: function(parent) {
+            this._super(parent);
+            this.buttons = parent.$buttons;
+        },
+        /* start */
+        start: function () {
+            var self = this
+            this.$el.click(function() {
+                self.fetchInitial();
+            });
+            self.buttons.click(function(e) {
+                /* C (Crear) */
+                if (e.target.accessKey === 'C')
+                    self.$el.css('display','none');
+                /* E (Editar) */
+                if (e.target.accessKey === 'E')
+                    self.$el.css('display','none');
+                /* S (Guarrdar) */
+                if (e.target.accessKey === 'S')
+                    self.$el.css('display','flex');
+                /* D (Cancelar) */
+                if (e.target.accessKey === 'D')
+                    self.$el.css('display','flex');
+            });
+        },
+        /* Actualizar Id de la visat actual  */
+        updateId: function(id) {
+            var self = this;
+            self.id = id;
+            self.$el.css('display','flex');
+            if(!id)
+                self.$el.css('display','none');
+        },
+        /* Reload Page*/
+        reloadPage: function() {
+             openerp.parentInstanceStatementConfirmPrint.reload();
+        },
+        removeModal: function() {
+            $('.expired-account-modal').remove();
+            $('.modal-backdrop').remove();
+        },
+        /* Método inicial */
+        fetchInitial: function() {
+            var self = this;
+            self.fetchCashboxStatementConfirm(self.id).then(function(statementConfirm) {
+                return statementConfirm;
+            }).then(function(statementConfirm) {
+                self.statementConfirm = statementConfirm;
+                return  self.printSelectedType();
+            });
+        },
+        /* Account bank Statement  Open*/
+        fetchCashboxStatementConfirm: function(id) {
+            var statementConfirm = new instanceWeb.Model('cashbox.statement.confirm');
+            return statementConfirm.call('get_cashbox_statement_confirm',[id], {
+                context: new instanceWeb.CompoundContext()
+            });
+        },
+        /*print select type */
+        printSelectedType: function(){
+            var self = this;
+            var modal = QWeb.render('ModalStatementUtility.ConfirmPrint');
+            $('.openerp_webclient_container').after(modal);
+            $('.expired-account-modal').modal();
+
+            var printTicket =  $('.expired-account-modal').find('.print-ticket');
+            var printNormal =  $('.expired-account-modal').find('.print-normal');
+
+            /* print Ticket */
+            printTicket.click(function(e){
+                self.drawPdfConfirmStatementTicket();
+                self.removeModal(e);
+            });
+
+            /*print Normal */
+            printNormal.click(function(e){
+                self.drawPdfConfirmStatementNormal();
+                self.removeModal(e);
+            });
+
+            $('.openerp_webclient_container').after(modal);
+            $('.expired-account-modal').modal();
+            $('.expired-account-modal').on('hidden.bs.modal', function(e) {
+                self.removeModal(e);
+            });
+        },
+        /* pdf normal */
+        drawPdfConfirmStatementNormal: function() {
+            var self = this;
+            var pdfDoc = new jsPDF();
+            var statementConfirm = self.statementConfirm[0];
+
+            if (!statementConfirm) {
+                return false
+            }
+
+            var currency = statementConfirm.statement.currencystatement;
+            var y = 0;
+            var space = 7;
+            y = 15;
+            pdfDoc.setFontSize('15');
+            pdfDoc.setFontStyle('bold');
+            pdfDoc.text(105,y, pdfDoc.splitTextToSize(statementConfirm.statement.name, 180) , null, null, 'center');
+
+            y += space;
+            pdfDoc.setFontSize('12');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(105,y, pdfDoc.splitTextToSize(statementConfirm.statement.typeStatementName, 180) , null, null, 'center');
+
+            y += space;
+            pdfDoc.setFontStyle('bold');
+            pdfDoc.text(70,y, 'Fecha de apertura:');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(110,y, moment(statementConfirm.statement.dateOpen).format('DD-MM-YYYY'));
+
+            y += space;
+            pdfDoc.text(70,y, 'Fecha de cierre:');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(110, y, moment(statementConfirm.statement.dateConfirm).format('DD-MM-YYYY'));
+
+            y += space;
+            pdfDoc.setFontSize('12');
+            pdfDoc.setFontStyle('bold');
+            pdfDoc.text(70,y, 'Moneda:');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(110, y, currency.name);
+
+            /* Table */
+            var getColumns = [
+                {
+                    'title': 'Operación ',
+                    'dataKey': 'ref'
+                },
+                {
+                    'title': 'Monto',
+                    'dataKey': 'amount'
+                }
+            ]
+            rowsPdf = [
+                {
+                    'ref': 'Saldo teórico de cierre',
+                    'amount': accounting.formatNumber(statementConfirm.amountStatement, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Saldo real de cierre',
+                    'amount': accounting.formatNumber(statementConfirm.amountReal, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Diferencia de cierre',
+                    'amount': accounting.formatNumber(statementConfirm.amountDifference, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Transferencia a caja general ',
+                    'amount': accounting.formatNumber(statementConfirm.transferCasBox.amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Reserva para la próxima apertura',
+                    'amount': accounting.formatNumber(statementConfirm.amountNextOpen, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                }
+
+            ]
+
+            pdfDoc.autoTable(getColumns, rowsPdf, {
+                theme: 'grid',
+                startY: 50,
+                columnStyles: {
+                    amount : {halign:'right' },
+                },
+                margin: { top: 5, horizontal: 20},
+            });
+
+            /* FOOTER */
+            y += 100;
+            pdfDoc.setFontSize('12');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(50,y,  pdfDoc.splitTextToSize('.......................................................', 180) , null, null, 'center');
+            pdfDoc.text(150,y, pdfDoc.splitTextToSize('.......................................................', 180) , null, null, 'center');
+            y +=5;
+            pdfDoc.setFontStyle('bold');
+            pdfDoc.text(50,y, pdfDoc.splitTextToSize(statementConfirm.userStatementName, 180) , null, null, 'center');
+            pdfDoc.text(150,y, pdfDoc.splitTextToSize(statementConfirm.userConfirmName, 180) , null, null, 'center');
+            y +=5;
+            pdfDoc.setFontSize('9');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(50,y, pdfDoc.splitTextToSize('Responsable de la caja ', 180) , null, null, 'center');
+            pdfDoc.text(150,y, pdfDoc.splitTextToSize('Responsable del cierre ', 180) , null, null, 'center');
+            /* Guardar */
+            pdfDoc.save('RESUME DE CAJA '+statementConfirm.name.toUpperCase()+'.pdf');
+            return true;
+        },
+        /* pdf ticket */
+        drawPdfConfirmStatementTicket: function () {
+            var self = this;
+            var pdfDoc = new jsPDF({
+                      orientation: 'p',
+                      unit: 'mm',
+                      format: [70, 297]
+                    })
+
+            var statementConfirm = self.statementConfirm[0];
+
+            if (!statementConfirm)
+                return false
+
+            var currency = statementConfirm.statement.currencystatement;
+            rowsPdf = [
+                {
+                    'ref': 'Saldo teórico de cierre',
+                    'amount': accounting.formatNumber(statementConfirm.amountStatement, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Saldo real de cierre',
+                    'amount': accounting.formatNumber(statementConfirm.amountReal, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Diferencia de cierre',
+                    'amount': accounting.formatNumber(statementConfirm.amountDifference, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Transferencia a caja general ',
+                    'amount': accounting.formatNumber(statementConfirm.transferCasBox.amount, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                },
+                {
+                    'ref': 'Reserva para la próxima apertura',
+                    'amount': accounting.formatNumber(statementConfirm.amountNextOpen, currency.decimalPlaces, currency.thousandsSeparator, currency.decimalSeparator)
+                }
+            ]
+
+            var y = 0;
+            var space = 7;
+            y = 4;
+            pdfDoc.setFontSize('14');
+            pdfDoc.setFontStyle('bold');
+            pdfDoc.text(30,y, pdfDoc.splitTextToSize(statementConfirm.statement.name, 70) , null, null, 'center');
+            y += space;
+            pdfDoc.setFontSize('12');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(30,y, pdfDoc.splitTextToSize(statementConfirm.statement.typeStatementName, 180) , null, null, 'center');
+            pdfDoc.setFontSize('9');
+            y += space;
+            pdfDoc.text(4,y, 'Fecha de apertura:');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(38,y, moment(statementConfirm.statement.dateOpen).format('DD-MM-YYYY'));
+            y += space;
+            pdfDoc.text(4,y, 'Fecha de cierre:');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(38, y, moment(statementConfirm.statement.dateConfirm).format('DD-MM-YYYY'));
+            y += space;
+            pdfDoc.text(4,y, 'Moneda:');
+            pdfDoc.setFontStyle('normal');
+            pdfDoc.text(38, y, currency.name);
+            y += space;
+            pdfDoc.text(2, y, "==============================");
+            _.each(rowsPdf, function(item){
+                y += 5;
+                pdfDoc.text(3, y, item.ref);
+                y += 5;
+                var x = (40 - item.amount.length)
+                pdfDoc.text(x, y, item.amount);
+            });
+            y += 5;
+            pdfDoc.text(2, y, "==============================");
+            /* FOOTER */
+            y += 20;
+            pdfDoc.text(30,y,  pdfDoc.splitTextToSize('.........................................', 70) , null, null, 'center');
+            y+= 5;
+            pdfDoc.text(30,y, pdfDoc.splitTextToSize(statementConfirm.userStatementName, 70) , null, null, 'center');
+            y+= 5;
+            pdfDoc.text(30,y, pdfDoc.splitTextToSize('Responsable de la caja ', 70) , null, null, 'center');
+
+            y+= 20;
+            pdfDoc.text(30,y,  pdfDoc.splitTextToSize('.........................................', 70) , null, null, 'center');
+            y+= 5;
+            pdfDoc.text(30,y, pdfDoc.splitTextToSize(statementConfirm.userConfirmName, 180) , null, null, 'center');
+            y+= 5;
+            pdfDoc.text(30,y, pdfDoc.splitTextToSize('Responsable del cierre ', 180) , null, null, 'center');
+            // /* Guardar */
+            pdfDoc.save('RESUME DE CAJA '+statementConfirm.name.toUpperCase()+'.pdf');
+            return true;
+        },
+
+    });
+
+    if (openerp.web && openerp.web.FormView) {
+        openerp.web.FormView.include({
+            load_record: function(record) {
+                this._super.apply(this, arguments);
+
+                if (this.model !== 'account.bank.statement')
+                    return;
+
+                openerp.parentInstanceStatementConfirmPrint = this;
+
+                if (openerp.widgetInstanceStatementConfirmPrint) {
+                    openerp.widgetInstanceStatementConfirmPrint.updateId(record.id);
+                    if (this.$el.find('.button-statement-confirm-print').length !== 0 )
+                        return ;
+                }
+
+                if (this.$el.find('.button-statement-confirm-print').length !== 0 )
+                    return;
+
+                openerp.widgetInstanceStatementConfirmPrint = new openerp.EiruStatementConfirmPrint(this);
+                var element =this.$el.find('.oe_form').find('.eiru-statement-print');
+
+                openerp.widgetInstanceStatementConfirmPrint.appendTo(element[0]);
+                openerp.widgetInstanceStatementConfirmPrint.updateId(record.id);
+            }
+        });
+    }
+})();

+ 8 - 0
static/src/xml/eiru_statement_confirm_print.xml

@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<templates xml:space="preserve">
+    <t t-name="EiruStatementUtility.ConfirmPrint">
+        <button class="button-statement-confirm-print eiru-statement-button oe_button oe_form_button oe_highlight">
+            <span>Resumen de cierre</span>
+        </button>
+  </t>
+</templates>

+ 26 - 0
static/src/xml/modal/modal_statement_confirm-print.xml

@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<template xml:space="preserve">
+    <t t-name="ModalStatementUtility.ConfirmPrint">
+        <div class="modal in expired-account-modal" tabindex="-1" role="dialog">
+            <div class="modal-dialog modal-sm" role="document">
+                <div class="modal-content openerp">
+                    <div class="modal-header paymnets-invoice-header">
+                        <button type="button" class="close" data-dismiss="modal" aria-label="Close" aria-hidden="true">×</button>
+                        <h3 class="modal-title">Resumen de cierre</h3>
+                    </div>
+                    <!-- Body -->
+                    <div class="modal-body">
+                        <div class="row">
+                            <div class="col-xs-6 button-print-group">
+                                <button type="button" class="oe_button oe_form_button oe_highlight button-print-confirm print-ticket">Ticket</button>
+                            </div>
+                            <div class="col-xs-6 button-print-group">
+                                <button type="button" class="oe_button oe_form_button oe_highlight button-print-confirm print-normal">Normal</button>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+        </div>
+    </t>
+</template>

+ 1 - 0
static/src/xml/modal/modal_statement_confirm.xml

@@ -13,6 +13,7 @@
                         <!-- Saldo -->
                         <div class="row">
                             <label class="confirm-title">Ajuste de Saldo</label>
+                            <label class="is-not-balance"></label>
                         </div>
                         <!-- Monto  -->
                         <div class="row">

+ 6 - 0
views/eiru_statement_utility.xml

@@ -10,12 +10,18 @@
 				<field name='state' position="before">
 					<div class="eiru-statement-utility" attrs="{'invisible': [('state','!=','open')]}"></div>
 				</field>
+
 				<!-- open -->
 				<xpath expr="//button[@name='button_open']" position="replace">
 					<div class="eiru-statement-utility-open" states="draft"> </div>
 				</xpath>
 				<!-- confirm -->
 				<!-- <xpath expr="//button[@name='button_confirm_cash']" position="replace"></xpath> -->
+				<!-- print -->
+				<field name='state' position="before">
+					<div class="eiru-statement-print" attrs="{'invisible': [('state','!=','confirm')]}"></div>
+				</field>
+
             </field>
         </record>
 		<!-- Extractos bancarios -->

+ 2 - 0
views/template.xml

@@ -16,6 +16,8 @@
                 <script type="text/javascript" src="/eiru_account_bank_statement_utility/static/src/js/eiru_statement_open.js"/>
                 <!-- Cerrar caja  -->
                 <script type="text/javascript" src="/eiru_account_bank_statement_utility/static/src/js/eiru_statement_confirm.js"/>
+                <!-- print confirm -->
+                <script type="text/javascript" src="/eiru_account_bank_statement_utility/static/src/js/eiru_statement_confirm_print.js"/>
                 <!-- Importar Cajas -->
                 <!-- <script type="text/javascript" src="/eiru_account_bank_statement_utility/static/src/js/import_statement.js"/> -->
             </xpath>