forked from elmau/empresa-libre
Validar agregar deposito
This commit is contained in:
parent
0a575afaa9
commit
2e9dadf301
|
@ -6,9 +6,13 @@ var bancos_controllers = {
|
||||||
$$('cmd_agregar_retiro').attachEvent('onItemClick', cmd_agregar_retiro_click)
|
$$('cmd_agregar_retiro').attachEvent('onItemClick', cmd_agregar_retiro_click)
|
||||||
$$('cmd_agregar_deposito').attachEvent('onItemClick', cmd_agregar_deposito_click)
|
$$('cmd_agregar_deposito').attachEvent('onItemClick', cmd_agregar_deposito_click)
|
||||||
$$('cmd_guardar_retiro').attachEvent('onItemClick', cmd_guardar_retiro_click)
|
$$('cmd_guardar_retiro').attachEvent('onItemClick', cmd_guardar_retiro_click)
|
||||||
|
$$('cmd_guardar_deposito').attachEvent('onItemClick', cmd_guardar_deposito_click)
|
||||||
$$('txt_retiro_importe').attachEvent('onChange', txt_retiro_importe_change)
|
$$('txt_retiro_importe').attachEvent('onChange', txt_retiro_importe_change)
|
||||||
|
$$('txt_deposito_importe').attachEvent('onChange', txt_deposito_importe_change)
|
||||||
$$('grid_cfdi_este_deposito').attachEvent('onAfterDrop', grid_cfdi_este_deposito_after_drop)
|
$$('grid_cfdi_este_deposito').attachEvent('onAfterDrop', grid_cfdi_este_deposito_after_drop)
|
||||||
$$('grid_cfdi_por_pagar').attachEvent('onAfterDrop', grid_cfdi_por_pagar_after_drop)
|
$$('grid_cfdi_por_pagar').attachEvent('onAfterDrop', grid_cfdi_por_pagar_after_drop)
|
||||||
|
$$('grid_cfdi_este_deposito').attachEvent('onBeforeEditStop', grid_cfdi_este_deposito_before_edit_stop)
|
||||||
|
$$('grid_cfdi_este_deposito').attachEvent('onAfterEditStop', grid_cfdi_este_deposito_after_edit_stop)
|
||||||
set_year_month()
|
set_year_month()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -262,6 +266,14 @@ function cmd_guardar_retiro_click(){
|
||||||
|
|
||||||
|
|
||||||
function txt_retiro_importe_change(new_value, old_value){
|
function txt_retiro_importe_change(new_value, old_value){
|
||||||
|
showvar(new_value)
|
||||||
|
if(!isFinite(new_value)){
|
||||||
|
this.config.value = old_value
|
||||||
|
this.refresh()
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function txt_deposito_importe_change(new_value, old_value){
|
||||||
if(!isFinite(new_value)){
|
if(!isFinite(new_value)){
|
||||||
this.config.value = old_value
|
this.config.value = old_value
|
||||||
this.refresh()
|
this.refresh()
|
||||||
|
@ -275,13 +287,15 @@ function actualizar_deposito(grid){
|
||||||
var suma = 0
|
var suma = 0
|
||||||
var descripcion = ''
|
var descripcion = ''
|
||||||
grid.data.each(function(obj){
|
grid.data.each(function(obj){
|
||||||
suma += obj.saldo.to_float()
|
|
||||||
descripcion += 'Pago de la factura: ' + obj.serie + obj.folio + ' del '
|
descripcion += 'Pago de la factura: ' + obj.serie + obj.folio + ' del '
|
||||||
descripcion += 'cliente: ' + obj.cliente + '\n'
|
descripcion += 'cliente: ' + obj.cliente + '\n'
|
||||||
|
if(obj.importe == undefined){
|
||||||
obj.importe = obj.saldo
|
obj.importe = obj.saldo
|
||||||
|
}
|
||||||
|
suma += obj.importe.to_float()
|
||||||
})
|
})
|
||||||
$$('txt_deposito_importe').setValue(suma)
|
$$('txt_deposito_importe').setValue(suma)
|
||||||
$$('deposito_descripcion').setValue(descripcion)
|
$$('deposito_descripcion').setValue(descripcion.slice(0, -1))
|
||||||
grid.refresh()
|
grid.refresh()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -296,3 +310,202 @@ function grid_cfdi_este_deposito_after_drop(context, native_event){
|
||||||
var grid = $$('grid_cfdi_este_deposito')
|
var grid = $$('grid_cfdi_este_deposito')
|
||||||
actualizar_deposito(grid)
|
actualizar_deposito(grid)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function grid_cfdi_este_deposito_after_edit_stop(state, editor, ignoreUpdate){
|
||||||
|
var grid = $$('grid_cfdi_este_deposito')
|
||||||
|
|
||||||
|
var suma = 0
|
||||||
|
grid.data.each(function(obj){
|
||||||
|
suma += obj.importe.to_float()
|
||||||
|
})
|
||||||
|
$$('txt_deposito_importe').setValue(suma)
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function grid_cfdi_este_deposito_before_edit_stop(state, editor){
|
||||||
|
var grid = $$('grid_cfdi_este_deposito')
|
||||||
|
var row = grid.getItem(editor.row)
|
||||||
|
|
||||||
|
if(editor.column == 'importe'){
|
||||||
|
var importe = parseFloat(state.value)
|
||||||
|
if(isNaN(importe)){
|
||||||
|
msg = 'El importe a pagar debe ser un número'
|
||||||
|
msg_error(msg)
|
||||||
|
grid.blockEvent()
|
||||||
|
state.value = state.old
|
||||||
|
grid.editCancel()
|
||||||
|
grid.unblockEvent()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
if(importe <= 0){
|
||||||
|
msg = 'El importe a pagar debe ser mayor a cero'
|
||||||
|
msg_error(msg)
|
||||||
|
grid.blockEvent()
|
||||||
|
state.value = state.old
|
||||||
|
grid.editCancel()
|
||||||
|
grid.unblockEvent()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
var saldo = row['saldo'].to_float()
|
||||||
|
if(importe > saldo){
|
||||||
|
msg = 'El importe a pagar no puede ser mayor al saldo de la factura'
|
||||||
|
msg_error(msg)
|
||||||
|
grid.blockEvent()
|
||||||
|
state.value = state.old
|
||||||
|
grid.editCancel()
|
||||||
|
grid.unblockEvent()
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function validate_deposito(values){
|
||||||
|
var grid = $$('grid_cfdi_este_deposito')
|
||||||
|
var importe = values.deposito_importe.to_float()
|
||||||
|
|
||||||
|
if(!importe){
|
||||||
|
msg = 'El importe es requerido'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if(importe <= 0){
|
||||||
|
msg = 'El importe debe ser mayor a cero'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!values.deposito_descripcion.trim()){
|
||||||
|
msg = 'La descripción es requerida'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
var horas = $$('time_deposito').getText().split(':')
|
||||||
|
var seg = parseInt(horas[2])
|
||||||
|
var min = parseInt(horas[1])
|
||||||
|
var horas = parseInt(horas[0])
|
||||||
|
|
||||||
|
if(horas > 23){
|
||||||
|
focus('time_deposito')
|
||||||
|
msg = 'Hora inválida'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if(min > 59){
|
||||||
|
focus('time_deposito')
|
||||||
|
msg = 'Hora inválida'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
if(seg > 59){
|
||||||
|
focus('time_deposito')
|
||||||
|
msg = 'Hora inválida'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
|
if(grid.count()){
|
||||||
|
var suma = 0
|
||||||
|
grid.data.each(function(obj){
|
||||||
|
var tmp = obj.importe.to_float()
|
||||||
|
if(tmp <= 0){
|
||||||
|
msg = 'El importe de la factura: ' + obj.serie + obj.folio + ' no puede ser menor a cero'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
suma += tmp
|
||||||
|
})
|
||||||
|
if(suma > importe){
|
||||||
|
msg = 'La suma del pago de facturas, no puede ser mayor al deposito'
|
||||||
|
msg_error(msg)
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return true
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function guardar_deposito(values){
|
||||||
|
var form = $$('form_banco_deposito')
|
||||||
|
var grid = $$('grid_cfdi_este_deposito')
|
||||||
|
|
||||||
|
var data = new Object()
|
||||||
|
data['cuenta'] = $$('lst_cuentas_banco').getValue()
|
||||||
|
data['fecha'] = values.retiro_fecha
|
||||||
|
data['hora'] = $$('time_deposito').getText()
|
||||||
|
data['numero_operacion'] = values.deposito_referencia.trim()
|
||||||
|
data['forma_pago'] = $$('lst_deposito_forma_pago').getValue()
|
||||||
|
data['deposito'] = values.deposito_importe.to_float()
|
||||||
|
data['retiro'] = 0.0
|
||||||
|
data['descripcion'] = values.deposito_descripcion
|
||||||
|
|
||||||
|
webix.ajax().post('/movbanco', data, {
|
||||||
|
error:function(text, data, XmlHttpRequest){
|
||||||
|
msg = 'Ocurrio un error, consulta a soporte técnico'
|
||||||
|
msg_error(msg)
|
||||||
|
},
|
||||||
|
success:function(text, data, XmlHttpRequest){
|
||||||
|
var values = data.json()
|
||||||
|
if(values.ok){
|
||||||
|
$$('txt_cuenta_saldo').setValue(values.saldo)
|
||||||
|
get_estado_cuenta()
|
||||||
|
$$('multi_bancos').setValue('banco_home')
|
||||||
|
form.setValues({})
|
||||||
|
grid.clearAll()
|
||||||
|
}else{
|
||||||
|
msg_error(values.msg)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function cmd_guardar_deposito_click(){
|
||||||
|
var form = $$('form_banco_deposito')
|
||||||
|
|
||||||
|
if(!form.validate()) {
|
||||||
|
msg_error('Valores inválidos')
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
var values = form.getValues()
|
||||||
|
if(!validate_deposito(values)){
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
if(!grid.count()){
|
||||||
|
msg = 'Todos los datos son correctos<br>br>'
|
||||||
|
msg = 'El depósito no tiene facturas relacionadas<br><br>¿Estás '
|
||||||
|
msg += ' seguro de guardar del depósito sin facturas relacionadas?'
|
||||||
|
webix.confirm({
|
||||||
|
title: 'Guardar depósito',
|
||||||
|
ok: 'Si',
|
||||||
|
cancel: 'No',
|
||||||
|
type: 'confirm-error',
|
||||||
|
text: msg,
|
||||||
|
callback:function(result){
|
||||||
|
if(result){
|
||||||
|
guardar_deposito(values)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}else{
|
||||||
|
msg = 'Todos los datos son correctos.<br><br>¿Deseas agregar este depósito?'
|
||||||
|
webix.confirm({
|
||||||
|
title: 'Guardar depósito',
|
||||||
|
ok: 'Si',
|
||||||
|
cancel: 'No',
|
||||||
|
type: 'confirm-error',
|
||||||
|
text: msg,
|
||||||
|
callback:function(result){
|
||||||
|
if(result){
|
||||||
|
guardar_deposito(values)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
|
@ -84,7 +84,7 @@ var grid_cfdi_este_deposito_cols = [
|
||||||
{id: 'saldo', header: ['Saldo'], width: 125, sort: 'int',
|
{id: 'saldo', header: ['Saldo'], width: 125, sort: 'int',
|
||||||
format: webix.i18n.priceFormat, css: 'right'},
|
format: webix.i18n.priceFormat, css: 'right'},
|
||||||
{id: 'importe', header: ['Este pago'], width: 125, sort: 'int',
|
{id: 'importe', header: ['Este pago'], width: 125, sort: 'int',
|
||||||
format: webix.i18n.priceFormat, css: 'right'},
|
format: webix.i18n.priceFormat, css: 'right', editor: 'text'},
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
@ -119,6 +119,7 @@ var grid_cfdi_este_deposito = {
|
||||||
resizeColumn: true,
|
resizeColumn: true,
|
||||||
headermenu: true,
|
headermenu: true,
|
||||||
drag: true,
|
drag: true,
|
||||||
|
editable: true,
|
||||||
columns: grid_cfdi_este_deposito_cols,
|
columns: grid_cfdi_este_deposito_cols,
|
||||||
on:{
|
on:{
|
||||||
'data->onStoreUpdated':function(){
|
'data->onStoreUpdated':function(){
|
||||||
|
|
|
@ -261,7 +261,7 @@ var grid_details = {
|
||||||
autoheight: true,
|
autoheight: true,
|
||||||
editable: true,
|
editable: true,
|
||||||
columns: grid_details_cols,
|
columns: grid_details_cols,
|
||||||
data: []
|
data: [],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -284,7 +284,7 @@ var grid_totals = {
|
||||||
footer: true,
|
footer: true,
|
||||||
autoheight: true,
|
autoheight: true,
|
||||||
columns: grid_totals_cols,
|
columns: grid_totals_cols,
|
||||||
data: [{id: 1, concepto: 'SubTotal', importe: 0}]
|
data: [{id: 1, concepto: 'SubTotal', importe: 0}],
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue