From 6847222ed6b147cd146e178b7d1a27241f3ff3f6 Mon Sep 17 00:00:00 2001 From: Mauricio Baeza Date: Thu, 8 Feb 2018 01:35:35 -0600 Subject: [PATCH] Cambiar unidad al facturar --- source/app/models/main.py | 8 ++++---- source/static/js/controller/invoices.js | 8 ++++++-- source/static/js/ui/invoices.js | 3 ++- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/source/app/models/main.py b/source/app/models/main.py index e74c8aa..1c9561f 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -2754,7 +2754,7 @@ class Productos(BaseModel): Productos.clave, Productos.clave_sat, Productos.descripcion, - SATUnidades.name.alias('unidad'), + SATUnidades.id.alias('unidad'), Productos.valor_unitario, Productos.descuento) .join(SATUnidades).switch(Productos) @@ -3573,7 +3573,7 @@ class Facturas(BaseModel): id_student = product.pop('id_student', 0) p = Productos.get(Productos.id==id_product) - product['unidad'] = p.unidad.key + product['unidad'] = SATUnidades.get(SATUnidades.id==product['unidad']).key product['clave'] = p.clave product['clave_sat'] = p.clave_sat product['cuenta_predial'] = p.cuenta_predial @@ -3794,8 +3794,8 @@ class Facturas(BaseModel): 'ClaveProdServ': row.producto.clave_sat, 'NoIdentificacion': row.producto.clave, 'Cantidad': FORMAT.format(row.cantidad), - 'ClaveUnidad': row.producto.unidad.key, - 'Unidad': row.producto.unidad.name[:20], + 'ClaveUnidad': row.unidad, + 'Unidad': SATUnidades.get(SATUnidades.key==row.unidad).name[:20], 'Descripcion': row.descripcion, 'ValorUnitario': FORMAT.format(row.valor_unitario), 'Importe': FORMAT.format(row.importe), diff --git a/source/static/js/controller/invoices.js b/source/static/js/controller/invoices.js index 93f719e..1f216dc 100644 --- a/source/static/js/controller/invoices.js +++ b/source/static/js/controller/invoices.js @@ -563,7 +563,7 @@ function guardar_y_timbrar(values){ delete rows[i]['delete'] delete rows[i]['clave'] delete rows[i]['clave_sat'] - delete rows[i]['unidad'] + //~ delete rows[i]['unidad'] delete rows[i]['importe'] delete rows[i]['student'] rows[i]['valor_unitario'] = parseFloat(rows[i]['valor_unitario']) @@ -957,7 +957,7 @@ function search_product_id_key_press(code, e){ function grid_details_before_edit_start(id){ - var columns = ['', 'descripcion', 'pedimento','cantidad', 'valor_unitario', 'descuento'] + var columns = ['', 'unidad', 'descripcion', 'pedimento','cantidad', 'valor_unitario', 'descuento'] if(!columns.indexOf(id.column)){ return !this.getItem(id.row)[id.column] } @@ -967,6 +967,10 @@ function grid_details_before_edit_start(id){ function grid_details_before_edit_stop(state, editor){ var row = grid.getItem(editor.row) + if(editor.column == 'unidad'){ + return true + } + if(editor.column == 'descripcion'){ if(!state.value.trim()){ msg = 'La descripción no puede estar vacía' diff --git a/source/static/js/ui/invoices.js b/source/static/js/ui/invoices.js index 889b38b..80024cd 100644 --- a/source/static/js/ui/invoices.js +++ b/source/static/js/ui/invoices.js @@ -287,7 +287,8 @@ var grid_details_cols = [ {id: "pedimento", header: 'Pedimento', editor: 'text', hidden: true}, {id: "id_student", header: 'ID_Alumno', hidden: true}, {id: 'student', header: 'Alumno', hidden: true, width: 150}, - {id: "unidad", header:{text: 'Unidad', css: 'center'}, width: 100}, + {id: "unidad", header:{text: 'Unidad', css: 'center'}, width: 100, + editor: 'select', options: 'values/unidades'}, {id: 'cantidad', header: {text: 'Cantidad', css: 'center'}, width: 100, format: webix.i18n.numberFormat, css: 'right', editor: 'text'}, {id: "valor_unitario", header:{text: 'Valor Unitario', css: 'center'},