SAC 9.5.7864

Estas son las modificaciones y mejoras hechas a la nueva versión de SAC y sus módulos. Se renumeró de 9.3 a 9.4 debido a que se agregó un campo "hora" en el archivo de pólizas, anteriormente solo se guardaba la fecha a nivel de póliza de SAC. Se renumeró a 9.5 porque se agregó la nueva tabla CONTPRE, que guarda la relación muchos a muchos entre un contrato de inversión y un préstamo, esto para que un contrato de inversión pueda garantizar varios préstamos, así como para que un préstamo pueda ser garantizado por varios contratos.

  1. Era incorrecto el verificador de consistencia entre secciones de la definición de producto de crédito, para número de abonos, periodo de abono y periodo de interés. Se arregló.
  2. En caja se verifica que si un menor posee mas de 1500 UDIS, requiere tener un tutor (relacionado mediante la tabla SOCIOSDEP). Sin embargo no se verificaba que tal tutor estuviera activo (status=0).
  3. SMC require fragmentar los créditos en IC no por producto de crédito, como lo venían haciendo, sino según la clasificación prendarios, quirografarios, hipotecarios. Se ha observado que esta funcionalidad ya existe del lado de SAC, en el campo PRESTOTOR.finalidad, siempre y cuando en VALORES existan todos los tipos de finalidad que SAC tiene por default. Por ejemplo 101 son quirografarios. En IC, en en la interfaz de IC, se agrega el rasgo 6 para la finalidad o lista de finalidades separadas por comas y encerradas en paréntesis. Se modifica CalcAboInt y CalcIntDvg para hacer consultas por finalidades.
  4. SAC ya permite seleccionar varias facturas y generar una sola póliza, el único detalle es que por cada póliza nos pregunta la forma de pago, en ocasiones se pagan varias facturas con un solo cheque. Ahora se permite editar la póliza una vez generada para cambiar el número de cheque.
  5. En el formulario personas había un pequeño error al seleccionar la Localidad CNBV y Localidad 8 CNBV, error de sintaxis cerca de DISTINCT
  6. Se detectó que en el reporte de Buró de Crédito tipo INTF, para créditos cerrados (con fecha de cierre y clave de observación CC), no aparecían en forma correcta los campos: monto a pagar, forma de pago (mop), forma de pago de los intereses (mop), los cuales deben ser respectivamente 01, 0 y 0. Había una instrucción en código que asignaba estos valores correctos, pero estaba antes de la asignación normal de valores, que los sobreescribía. La instrucción ya se situó correctamente al final.
  7. Al crear una nueva sucursal en SAC, desde frmNuevaSucursal, en vez de codificar cada campo de PARAMETROS para copiarlo, se incorpora un ciclo FOR para detectar todos los nombres de campos. Esto permite un mantenimiento mucho más sencillo en la subrutina, cuando se agregan o quitan campos de la tabla PARAMETROS.
  8. Igual que al abrir o cerrar caja, al crear una nueva sucursal en frmNuevaSucursal, desactivar el timer TiempoMsg, porque interfiere con el proceso de cierre, en este se accede a USUARIOS, y en VerifUsuAviso también dentro de una transacción.
  9. Al imprimir varios formatos de cobranza en el reporte de saldo de préstamos, se va incrementando la memoria hasta que marca error. Se observa en efecto que se va incrementando el uso de memoria. Se agregan instrucciones para liberarla en LoadRpt, como rpt.dispose y forma.dispose
  10. En MCOB se puede redactar una descripción para cada préstamo. Agregar un reporte que muestre estas descripciones. Se agrega en el reporte de saldo de préstamos, el nuevo sabor "MCOB". Es un reporte muy básico al que después, de acuerdo a las necesidades, se le pueden agregar columnas.
  11. Agregar candado para seleccionar obligatoriamente el origen y destino de recursos.
  12. Verificar que sea correcto el CURP del beneficiario.
  13. Agregar candado para realizar consulta en listas negras a socios y listas pep (y para justificar coincidencias). Usar el permiso 41, que ya se usa para autorizar movs. a personas bloqueadas y PEPs.
  14. En el reporte de saldo de préstamos, no se había actualizado el combo zona, para reflejar correctamente el catálogo de zonas locales y foráneas, para calificación de riesgo de crédito, el cual se toma de la tabla VALORES
  15. Se agrega una columna para subfinalidades en el reporte de saldo de préstamos tipo SAC
  16. Agregar un nuevo tipo de reporte para saldo de préstamos, conteniendo columnas con información detallada de las estimaciones preventivas.
  17. Ampliar el campo MOVUSUARIOS.denom de 50 a 60 caracteres.
  18. En el reporte de saldo de préstamos tipo SAC, mostraba diferencia de saldos para estimaciones, evidenciado con la comparación de SAC-IC en IC. Se debe a que la columna de garantías tenía retornos de carro y se movían las columnas. En los formularios de préstamos y de personas, ahora se aplica la función QuitarRetTab a los textbox que tienen la propiedad multiline. Pero es aconsejable ejecutar Especiales/Quitar retornos de carro y tabuladores.
  19. Al reinvertir una inversión, en frmMovInversion, desactivar el timer TiempoMsg, porque interfiere con la transacción, en esta se accede a USUARIOS, y en VerifUsuAviso también.
  20. Agregar en el formulario de Personas/Actualizaciones, un combo para seleccionar si una persona tiene relación (hasta de 2do. grado) con un PEP. Ya existe el campo SOCIOS.RelacionPEP, pero se establece automáticamente cuando hay una relación de parentesco entre 2 personas en la base de datos, y una de ellas es PEP. Se requiere ahora poderlo modificar manualmente en el formulario cuando el PEP no está en la base de datos, y la persona relacionada si. Se agrega al campo el valor 2-relación con un PEP externo.
  21. En SAC, en frmImagenes, cambiar el directorio de almacenamiento temporal de imagenes, de  Application.Info.DirectoryPath a My.Computer.FileSystem.SpecialDirectories.MyDocuments
  22. Agregar otra clasificación para los países, 3-"jurisdictions under increased monitoring", o "jurisdicciones bajo un mayor monitoreo" o lista gris, además de las clasificaciones que ya existen. Donde sea en la Internet se reconocen estas 3 clasificaciones, lista negra, lista gris y paraíso fiscal, p. ej. https://idconline.mx/fiscal-contable/2019/03/29/nueva-lista-de-paraisos-fiscales. Se usa la instruccion update paises set status=3 where alpha2 in ('al', 'bb', 'bw', 'kh', 'gh', 'jm', 'mu', 'mm', 'ni', 'pk', 'pa', 'sy', 'ug', 'ye', 'zw')
  23. En las fórmulas y reportes de información de PLD, en vez de considerar solo los ingresos, se consideran también todos los egresos, es decir (proingmes+ingfammes+ingotros-GasOrd-GasExt-GasViv-GasSer-GasTpt-GasEsc-GasLuz-GasAgu-GasTel-GasGas-GasImp-GasDeuF-GasDeuI-GasInv)
  24. Algunas personas con sus movimientos no aparecían en el reporte de op. inusuales. Esto debido a que el campo más reciente que se añadió para gastos, GasInv, era nulo, así que fallaban las comparaciones. Para eliminar estos nulos hay que correr Generar tablas y campos faltantes.
  25. Se corrige MPOST, el reporte de países, para mostrar también las jurisdicciones bajo un mayor monitoreo.
  26. Agrego un botón en el formulario de imágenes (frmImagenes), "reporte fotográfico", que reúne todas las imágenes correspondientes a una persona en un archivo HTML, para visualizar en un navegador o un procesador de textos. 
  27. En IC, en la contabilidad electrónica, específicamente en el reporte de balanza de comprobación, obtenía defectuosamente las cuentas y saldos para mostrar en el reporte XML. Esto debido a que se hacía una consulta simple a la tabla SALDOS. Se deben sumar los saldos y usar un GROUP BY debido a que IC separa los saldos de una misma cuenta pero diferente sucursal, en diferentes registros.
  28. El reporte de balanza de comprobación de la contabilidad electrónica también recalculaba saldos innecesariamente, debido a una condición errónea. Decía Or Suc <> "%" donde debía decir Or (Suc <> "%" And Suc <> ""), es decir, la sucursal podía ser todas (%) o estar en blanco, y en este caso no hay que recalcular saldos.
  29. Proporcionar un procedimiento para reenumerar duplicados en IC igual que el que hay en SAC.
  30. Pequeñas correcciones en el estado de cuenta de SAC, programado usando XML.Linq. Para incorporar renglones vacíos en tablas, no permite el uso de &nbsp (non-breaking space), en vez de él se puede usar &#160;
  31. En el reporte de eventos de MCOB, no aparecía el total del monto cumplido.
  32. Al renovar un contrato con el botón de automático, en Renovación de contratos, o al cerrar o abrir caja, lo renovaba con la tasa de interés del contrato precedente. Lo correcto es usar la tasa de interés del producto de contrato correspondiente. (Pudo ser que esta tasa haya sido cambiada, se tiene que usar la nueva tasa)
  33. Cuando en el mismo día un acreditado hace un pago que incluye interés, y un segundo pago de solo capital, los reportes de créditos muestran incorrectamente el último pago de interés como cero. Debe tomar en cuenta el pago de todo el día, tanto para el interés como para el capital.
  34. Lanzar alerta de op. inusual cuando un socio supere el número de operaciones mensuales promedio.  Se agrega el campo PARAMETROS.InuExNum, que representa el exceso en el número de operaciones mensuales para considerarse operación inusual. Si en el mes requerido, el número de operaciones mensuales del socio (SOCIOS.OpNumMes) es mayor al promedio del número de operaciones mensuales del mismo (SOCIOS.OpNum), se generará la op. inusual. También se crea el campo SOCIOS.OpMontoMes, para comparar con SOCIOS.OpMonto, y para desplegar en el reporte.
  35. Eliminar la detección y reportes de operaciones inusuales por abono a un crédito por un valor mayor a cierto porcentaje. O por pagar un préstamo en forma anticipada. Eliminar PARAMETROS.InuPorPre, PRESTOTOR.pagant, PRESTOTOR.pagexc y la propiedad PolPagAnt.
  36. En el formulario de préstamos (frmprestotor), al salir de la clave principal, en el evento groupbox1.leave, desactivo este groupbox, pero al hacerlo, vuelve a activarse, siendo un código reentrante. Por tanto agrego una condición  If Me.CanFocus = False Or GroupBox1.Enabled = False Then Exit Sub, al inicio, para evitar esto
  37. Al dar doble click sobre el grid de frmConsAva, o dar Enter, se regresa el valor de la primera columna del renglón seleccionado. El problema es que si era una consulta vacía (solo se muestran encabezados) regresaba el dato del encabezado, es decir el nombre del campo de la primera columna. Se modifica para que regrese espacio vacío.
  38. En el formulario de préstamos, en las pestañas de Cobros de apertura y Cobros periódicos, se agrega un botón de añadido, para agregar al gusto los cobros respectivos antes o incluso después de agregar el préstamo.
  39. Para el caso de PV que desea cobrar seguro anual de préstamo, pero hay una variedad de éstos, todos anuales, pero con diferente periodo (52 para semanal, 24 para quincenal, 12 para mensual, etc.). Era muy difícil y sujeto a errores estar modificando el producto de crédito con el servicio adecuado, y luego dar de alta el préstamo. Ahora se puede especificar con un -1 en cobroap o en cobroper, según corresponda,  en el producto de crédito, para obligar al capturista a agregar el cobro de servicio correspondiente cuando agrega el préstamo. Esto se verifica en verif_datos.
  40. Agregar a la tabla de SOCIOS el número de serie de la Firma Electrónica Avanzada, FIEL, que consta de 20 dígitos. De nombre SOCIOS.NumSerFiel
  41. En IC, al checar la validez de la interfaz en VerifInterfazTipo0, al verificar que todos los productos en SAC esten contenidos en las listas de productos de la interfaz de IC, para los productos de pasivos se leía incorrectamente de la tabla TASAS, cuando estos se encuentran en la tabla PRODPAS.
  42. La entidad desea que al hacer una condonación de préstamo no se cobre IVA. Se modifica la tabla SERVICIOS para reconocer un nuevo tipo de servicio específico de condonación. Al usarse este servicio en caja, permitir la posibilidad de que no se calcule IVA para los intereses del préstamo al hacer el cobro.
  43. Históricamente la tabla POLIZA solo guardaba la fecha de creación, y no la hora; esta se guardaba en cada movimiento ligado (movahorro, movprestamo, etc.) Se crea el campo POLIZA.hora y se llena en base a la hora de alguno de sus movimientos. Quitar el parámetro FechaYHora de ImprimirRecibo y obtener este dato de la tabla POLIZA
  44. No se imprimía la matriz de riesgo desde MCAL, debido a problemas con los módulos de programación de HTML. Agrego un nuevo módulo modHTMLmcal donde está ImprimirCalif, para así poderlo llamar desde MCAL y desde SAC.
  45. Se modificó el formato de solicitud de ingreso (SolicitudIngreso.rpt) de PAP para, en las subconsultas de propietario real, cotitular y proveedor de recursos, incluir una serie de campos generales como RFC, CURP, domicilio, etc.
  46. Cuando se aplica un abono desde el MBATCH, se aplica el abono como si el crédito tuviera pendiente el cobro del seguro cuando ya se pago. El monto del seguro en la póliza se pierde y hace que esta quede descuadrada. MBATCH no reconocía los pagos de servicios de cobro periódico. Se agrega la etiqueta <cobroper> al archivo XML tipo payment.
  47. Marcaba SAC un error al insertar datos en la tabla SOCIOSBLOQ. La solución es borrar totalmente esta tabla desde Management Studio y volver a generar tablas y campos faltantes
  48. Al leer información del archivo de personas bloqueadas separadas por punto y coma, marcaba error al encontrarse un apóstrofe. 
  49. No es requisito capturar el CURP para el beneficiario. Dejarlo como advertencia. Fracción VIII de la Disposición 4a a que se refieren los artículos 71 y  72 de la LRASCAP: "VIII. Respecto de los Beneficiarios, las Sociedades recabarán y harán constar en el respectivo expediente de identificación del Cliente, cuando menos, los siguientes datos: apellido paterno, apellido materno y nombre(s) sin abreviaturas; domicilio particular (compuesto por los mismos elementos que los señalados en el inciso a) de la fracción I de esta Disposición), cuando este sea diferente al del titular de la cuenta o contrato, así como fecha de nacimiento de cada uno de ellos."
  50. Disposición 10ma a que se refieren los artículos 71 y 72 de la LRASCAP: "10ª.- Las Sociedades deberán requerir a los Beneficiarios los mismos documentos que aquellos señalados para Clientes en la 4ª de las presentes Disposiciones, al momento en que tales Beneficiarios se presenten a ejercer sus derechos." De igual manera la Disposición anterior, señala que los documentos del beneficiario (incluida la CURP), han de requerirse cuando este se presente a ejercer sus derechos, es decir, una vez que el titular ha fallecido.
  51. Se modifica la lista de los países de alto riesgo (lista negra) y los países bajo un mayor monitoreo (lista gris), de acuerdo a http://www.fatf-gafi.org/publications/high-risk-and-other-monitored-jurisdictions/
  52. En el reporte de buró de crédito no se consideraba la frecuencia de pagos semestral, representado por la letra "H"
  53. Varias funciones de guardado de información dentro del módulo modSACbd no recibían un parámetro de usuario, y en vez de eso usaban la variable global strUsuario. Con MBATCH esto daba problemas puesto que el usuario que emite el XML remotamente no es el mismo usuario de MBATCH.
  54. Proveer 2 formatos más de pagaré de préstamo. El nombre de los archivos de CR son respectivamente pagare2.rpt y pagare3.rpt, además de los que ya existían, pagare.rpt y pagare1.rpt
  55. Reportar operación inusual cuando se hizo ficha de depósito con instrumento monetario (IM) tipo efectivo.
  56. El procedimiento CalcPromEfe, que calcula el promedio de depósitos en efectivo de cada socio, no tomaba en cuenta los movimientos de banco asimilables como efectivo, como son las fichas de depósito hechas con efectivo (o plata amonedada, oro amonedado o divisas). Esto ocasionaba que no se detectaran las op. inusuales respectivas.
  57. En la consulta avanzada (frmConsAva) mostrar los datos en forma descendente, para los movimientos masivos (pasivos), los contratos, los préstamos y los socios. Para los socios se usa comúnmente order by maymen, clavesocio desc
  58. Se reporta una diferencia de montos al entregar un préstamo reestructurado, entre el monto recomendado del préstamo (tomado de caja) y el monto calculado en ese momento para reestructurar (tomado de calcprestamo4). La diferencia se debe a que en caja primero se suma int nor mas int nor co, y luego se redondea, y en frmEntPrest, primero se redondea y luego se suma. De la misma forma primero se suma int mor mas int mor co, y luego se redondea, en frmEntPrest primero se redondea y luego se suma. El estándar debe ser Math.Round(Val(salidas(8)) + Val(salidas(17)), 2), y Math.Round(Val(salidas(9)) + Val(salidas(35)), 2), es decir primero sumar los int. dvg. semejantes, y luego redondear.
  59. En la tabla SOCIOS, estado civil, cambiar el valor otro por unión libre.
  60. Reporte de las personas con sus imágenes cargadas en SOCIOSBLOB.
  61. Que una inversión pueda garantizar más de un crédito. Se crea una nueva tabla CONTPRE que permite especificar varios contratos como garantía de un préstamo. También un mismo contrato puede servir como garantía de varios préstamos. Por tanto esta tabla establece una relación de muchos a muchos entre las tablas PRESTOTOR y CONTINV. Se eliminan los campos CONTINV.sucpre y CONTINV.claveprestamo.

Comentarios

Entradas más populares de este blog

Ciclo de vida de préstamos

Reporte de Buró de Crédito INTF versión 14

Base de datos de códigos postales