diff --git a/source/app/models/main.py b/source/app/models/main.py index e9640de..28cf9e8 100644 --- a/source/app/models/main.py +++ b/source/app/models/main.py @@ -3015,7 +3015,8 @@ class Productos(BaseModel): Productos.clave, Productos.descripcion, SATUnidades.name.alias('unidad'), - Productos.valor_unitario) + Productos.valor_unitario, + Productos.existencia) .join(SATUnidades) .dicts() ) diff --git a/source/static/js/controller/products.js b/source/static/js/controller/products.js index ad8ea66..a21973a 100644 --- a/source/static/js/controller/products.js +++ b/source/static/js/controller/products.js @@ -1,3 +1,26 @@ +var cfg_products = new Object() + + +function products_default_config(){ + webix.ajax().get('/config', {'fields': 'productos'}, { + error: function(text, data, xhr) { + msg = 'Error al consultar' + msg_error(msg) + }, + success: function(text, data, xhr) { + var values = data.json() + cfg_products['inventario'] = values.chk_llevar_inventario + cfg_products['predial'] = values.chk_config_cuenta_predial + cfg_products['codigo_barras'] = values.chk_config_codigo_barras + cfg_products['con_impuestos'] = values.chk_config_precio_con_impuestos + cfg_products['default_unit'] = values.default_unidad + cfg_products['default_tax'] = values.default_tax + if(cfg_products['inventario']){ + $$('grid_products').showColumn('existencia') + } + } + }) +} var products_controllers = { @@ -14,31 +37,18 @@ var products_controllers = { $$('precio_con_impuestos').attachEvent('onTimedKeyPress', precio_con_impuestos_key_up); $$("chk_inventario").attachEvent("onChange", chk_inventario_change) $$('grid_products').attachEvent('onItemDblClick', cmd_edit_product_click) + products_default_config() } } -function configurar_productos(is_new){ - webix.ajax().get('/config', {'fields': 'productos'}, { - error: function(text, data, xhr) { - msg = 'Error al consultar' - msg_error(msg) - }, - success: function(text, data, xhr) { - var values = data.json() - //~ showvar(values) - show('cuenta_predial', values.chk_config_cuenta_predial) - show('codigo_barras', values.chk_config_codigo_barras) - show('precio_con_impuestos', values.chk_config_precio_con_impuestos) - show('chk_inventario', values.chk_llevar_inventario) - show('txt_existencia', values.chk_llevar_inventario) - show('txt_minimo', values.chk_llevar_inventario) - $$('unidad').setValue(values.default_unidad) - if(is_new){ - $$('grid_product_taxes').select(values.default_tax) - } - } - }) +function configurar_producto(){ + show('cuenta_predial', cfg_products['predial']) + show('codigo_barras', cfg_products['codigo_barras']) + show('precio_con_impuestos', cfg_products['con_impuestos']) + show('chk_inventario', cfg_products['inventario']) + show('txt_existencia', cfg_products['inventario']) + show('txt_minimo', cfg_products['inventario']) } @@ -70,21 +80,24 @@ function get_products(){ function cmd_new_product_click(id, e, node){ get_taxes() - configurar_productos(true) + $$('unidad').getList().load('/values/unidades') + configurar_producto() $$('form_product').setValues({ id: 0, es_activo_producto: true}) add_config({'key': 'id_product', 'value': ''}) get_new_key() get_categorias() + $$('unidad').setValue(cfg_products['default_unit']) + $$('grid_product_taxes').select(cfg_products['default_tax']) $$('grid_products').clearSelection() - $$('unidad').getList().load('/values/unidades') $$("multi_products").setValue("product_new") } function cmd_edit_product_click(){ get_taxes() - configurar_productos(false) + $$('unidad').getList().load('/values/unidades') + configurar_producto() var grid = $$('grid_products') var row = grid.getSelectedItem() if(row == undefined){ @@ -93,8 +106,6 @@ function cmd_edit_product_click(){ } $$('categoria').getList().load('/values/categorias') - $$('unidad').getList().load('/values/unidades') - webix.ajax().get('/products', {id:row['id']}, { error: function(text, data, xhr) { msg_error() diff --git a/source/static/js/ui/products.js b/source/static/js/ui/products.js index 72dd511..4648665 100644 --- a/source/static/js/ui/products.js +++ b/source/static/js/ui/products.js @@ -23,8 +23,11 @@ var grid_products_cols = [ fillspace:true, sort: 'string', footer: 'Productos y Servicios'}, { id: "unidad", header: ["Unidad", {content: "selectFilter"}], width: 150, sort:"string" }, - { id: "valor_unitario", header: ["Precio", {content: "numberFilter"}], width: 150, - sort:"int", format: webix.i18n.priceFormat, css: "right" }, + { id: "valor_unitario", header: ["Precio", {content: "numberFilter"}], + width: 150, sort: 'int', format: webix.i18n.priceFormat, css: "right" }, + { id: 'existencia', header: ['Existencia', {content: 'numberFilter'}], + width: 100, sort: 'int', format: webix.i18n.numberFormat, + hidden: true, css: 'right' }, ]