/** * Obtiene las cotizaciones para la compra venta de divisas * @param ind Numero de fila dentro del bloque exchange * @param _montocta Indica si se recibe el monto de la cuenta (true = monto en la moneda de la cuenta) * @return */ function cambioMoneda (ind,_montocta) { if(qdf.f_monedacta.value == '') { initLoadingDialog('NO EXISTE MONEDA DESTINO'); return; } var _monto = '&cLov_' + ( (_montocta ) ? ("VALORMONEDA=" + qComa(qdf.fValorMonedacta[ind].value)) : ("MONTO=" + qComa(qdf.fmonto[ind].value))); var _cpersona = (qdf.fcpersona.value == '') ?'':'&cLov_CPERSONA=' + qdf.fcpersona.value; var rec = getJsonRecord('cambiomoneda', 'CMONEDAORIGEN', qdf.fcmonedacta[ind].value, 'cLov_CMONEDAORIGEN=' + qdf.fcmonedacta[ind].value + '&cLov_CMONEDADESTINO=' + qdf.f_monedacta.value + '&cLov_CSUBSISTEMA=' + qdf.fsub.value + '&cLov_CTRANSACCION=' + qdf.ftrx.value + '&cLov_VERSIONTRANSACCION=' + qdf.fver.value + _monto + _cpersona); if(rec == null) { st(document.getElementById('estatus').innerHTML); return false; } var monto = revisaNull(rec['MONTO']); if(monto != '') { qdf.fmonto[ind].value = revisaNull(rec['MONTO']); dc(qdf.fmonto[ind], 2); } qdf.fCotizacionCom[ind].value = revisaNull(rec['COTIZACIONCOMPRA']); qdf.fCotizacionVent[ind].value = revisaNull(rec['COTIZACIONVENTA']); monto = revisaNull(rec['VALORMONEDA']); if(monto != '') { qdf.fValorMonedacta[ind].value = revisaNull(rec['VALORMONEDA']); dc(qdf.fValorMonedacta[ind], 2); } qdf.fcmoneda[ind].value = qdf.fMonedacta.value ; var __totalExchange = 0; for(var a = 0; a < qdf.fCotizacionCom.length; a++) { if(qdf.fValorMonedacta[a].value != '') { __totalExchange += parseFloat(qComa(qdf.fValorMonedacta[a].value), 10); } } qdf.ftotalExchange.value = __totalExchange > 0?__totalExchange:''; dc(qdf.ftotalExchange, 2); st('TRANSACCION REALIZADA CORRECTAMENTE'); }; /** * Calcula el total de registro del bloque en Efectivo = "EFE" * @return */ function calcularTotalEfectivo() { qdf.ftotalefectivo.value = ''; var totalefectivo = 0; for(var i = 0; i < qdf.fValorMonedacta.length; i++) { if(qdf.ftipo[i].value != '' && qdf.ftipo[i].value == 'EFE') { totalefectivo += parseFloat(0 + qc(qdf.fValorMonedacta[i].value), 10); } } qdf.ftotalefectivo.value = totalefectivo > 0?totalefectivo:''; dc(qdf.ftotalefectivo, 2); }; /** * Maneja la navegacion dentro del bloque exchange * @param _num * @param ind Numero de fila dentro del bloque * @return */ function navegacionExchange(_num, ind) { while(_num < _listanav.length) { _num++; if((!qdf[_listanav[_num]][ind].disabled && !qdf[_listanav[_num]][ind].readOnly )) { qdf[_listanav[_num]][ind].focus(); return; } } }; /** * Habilita o deshabilita botones de acuerdo a la forma de pago elegida * @param posicion * @return */ function deshabilitarbotonesExchange(posicion) { if(qdf.ftipo[posicion].value == 'EFE') { qdf.lvcodcontable[posicion].disabled = true; qdf.lvcta[posicion].disabled = true; qdf.lvmoneda[posicion].disabled = false; } else if(qdf.ftipo[posicion].value == 'DEB') { qdf.lvcodcontable[posicion].disabled = true; qdf.lvmoneda[posicion].disabled = true; } else if(qdf.ftipo[posicion].value == 'DIS') { qdf.lvcodcontable[posicion].disabled = false; qdf.lvcta[posicion].disabled = false; qdf.lvmoneda[posicion].disabled = true; } else if(qdf.ftipo[posicion].value == 'CHE'){ qdf.lvcodcontable[posicion].disabled = true; qdf.lvcta[posicion].disabled = true; qdf.lvmoneda[posicion].disabled = true; qdf.fValorMonedacta[posicion].disabled = true; qdf.fCodigoAut[posicion].disabled = true; qdf.fmonto[posicion].disabled = true; qdf.fborrar[posicion].disabled = true; } }; /** * Obtiene la lista de deudores y codeudores * @param nrocuenta Numero de prestamo * @return Filtro (in) de codigos de personas vinculadas a prestamos */ function getAccountsPerson(nrocuenta) { var count = 0; var _personas; var _persona; var regarr = getJsonResult( 'personacuenta', 'CCUENTA', 'cLov_CCUENTA=' + nrocuenta + '&cLov_CRELACIONPRODUCTO=in(\'\DEU\', \'COD\')&cLov_CPERSONA_COMPANIA=2'); if (regarr == null) { st('LA CONSULTA NO TIENE REGISTRO'); _personas = 'IN(\'0\')'; return false; } for ( var i = 0; i < regarr.length; i++) { var reg = regarr[i]; _persona = revisaNull(reg['CPERSONA']); if (_persona != '') { if (count == 0) _personas = 'IN('; else { _personas += ','; } _personas += '\'' + _persona + '\''; count++; } } if (count > 0) { _personas += ')'; } else { _personas = 'IN(\'0\')'; } return _personas; }; /** * Obtiene un filtro de los codigos de personas relacionadas a una solicitud * @param solicitud Codigo de la solicitud * @param relacion Filtro de relaciones a consultar * @return */ function getSolicitudPersonas(solicitud, relacion) { var count = 0; var _personas; var _persona; var regarr = getJsonResult('solicitudpersonas', 'CSOLICITUD', 'cLov_CSOLICITUD=' + solicitud + '&cLov_CRELACIONPRODUCTO=' + relacion + '&cLov_CPERSONA_COMPANIA = 2'); if (regarr == null) { st('LA CONSULTA NO TIENE REGISTRO'); _personas = 'IN(\'0\')'; return false; } for ( var i = 0; i < regarr.length; i++) { var reg = regarr[i]; _persona = revisaNull(reg['CPERSONA']); if (_persona != '') { if (count == 0) _personas = 'IN('; else { _personas += ','; } _personas += _persona; count++; } } if (count > 0) { _personas += ')'; } else { _personas = 'IN(0)'; } return _personas; };