Mostrar unidad predeterminada en productos

This commit is contained in:
Mauricio Baeza 2018-02-24 20:04:44 -06:00
parent 900176a13b
commit 2d45a8258f
3 changed files with 44 additions and 29 deletions

View File

@ -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()
)

View File

@ -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()

View File

@ -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' },
]