lunes, 19 de octubre de 2009

TCB Migración.- Prestamos Movimiento.- part I

Migrando a TCB.
Cuadernos de Origen: Prestamo Movimientos. Ya le he dado muchas vueltas al asusnto, el hecho es que no he podido concebir la forma en que estará conformada la información. No he platicado muy bién con el Consultor, pues me da un poco de pena mi incapacidad de entender la necesidad de información. Se que SAFE tiene todo lo necesario, pero no logro imaginar donde va cada pieza del rompecabezas... hasta ahora... es el único cuaderno que me ha solapado mi capacidad. Primero intentaré con iniciar una
consulta SQL, ordenando los pagos efectivamente hechos por fechas.

SELECT

`operaciones_mvtos`.`socio_afectado` AS `socio`,
`operaciones_mvtos`.`docto_afectado` AS `credito`,
`operaciones_mvtos`.`tipo_operacion` AS `operacion`,
`operaciones_mvtos`.`fecha_operacion` AS `fecha`,
`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,
SUM(`operaciones_mvtos`.`afectacion_real`) AS `monto`
FROM
`eacp_config_bases_de_integracion_miembros`
`eacp_config_bases_de_integracion_miembros`
INNER JOIN `operaciones_mvtos` `operaciones_mvtos`
ON
`eacp_config_bases_de_integracion_miembros`.`miembro` =
`operaciones_mvtos`.`tipo_operacion`
WHERE
(`eacp_config_bases_de_integracion_miembros`.`codigo_de_base` =8002)
GROUP BY
`operaciones_mvtos`.`docto_afectado`,
`operaciones_mvtos`.`tipo_operacion`,
`operaciones_mvtos`.`fecha_operacion`
ORDER BY
`eacp_config_bases_de_integracion_miembros`.`codigo_de_base`,
`operaciones_mvtos`.`fecha_operacion`,
`operaciones_mvtos`.`tipo_operacion`

el código de base es 8002.- TCB pagos de crédito efectuado. Los resultados ascienden a más de 221,000 registros, ejecutados en mi inspiron 1520 en 5 segundos. Agregaré un SQL_CACHE por sí necesito ejecutarlas varias veces. La tabla de destino se llama tcb_prestamos_movimientos y tiene este script de
creación:CREATE TABLE `tcb_prestamos_movimientos` (
`numero_de_cliente`
bigint(20) default '0',
`numero_de_credito` bigint(20) default
NULL,
`numero_de_pago` int(4) default NULL,
`fecha_de_amortizacion` date default NULL,
`capital_a_pagar`
float(12,2) default NULL,
`interes_a_pagar` float(12,2) default
NULL,
`iva_por_el_interes_a_pagar` float(12,2) default NULL,
`capital_pagado` float(12,2) default NULL,
/* correcion */
`interes_pagado` float(12,2) default NULL,
`iva_pagado` float(12,2) default NULL,
`interes_moratorio` float(12,2) default NULL,
`iva_interes_moratorio` float(12,2) default NULL,
`comisiones`
float(12,2) default NULL,
`iva_comisiones` float(12,2) default
NULL
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='tabla de
movimientos de prestamos, construidos con codigo p'

que en sí, es el mismo layout de los Cuadernos de Origen. también lo
agregué al proyecto de respaldo "PROYECTO-2009" le agregué dos lineas al SQL:
/* WHERE .. */
AND

(`operaciones_mvtos`.`docto_afectado` != 1)
/* ORDER BY ... */
`operaciones_mvtos`.`docto_afectado`,


En la consulta, interpretaré cada fecha como cada letra. bueno, hasta hoy terminé, pues debo checar el proyecto de estatus de la Sociedad cooperativa.

sábado, 3 de octubre de 2009

Un gran chasco.

No debería de criticar, pero es que estoy muy molesto con el actuar de esta Empresa de Software.
Orgullosamente, trabajo en una microfinanciera de caracter social de rápido crecimiento, esto se ha dado por dos factores principales: el compromiso de su gente y el compromiso de sus directivos.
Hace diez años solo eramos tres personas: el Contador (yo), el Gerente y un auxiliar. Hoy somos más de 35 personas con tres sucursales y 4 ventanillas, con presencia en Yucatán y Campeche.
En el 2001, se publicó la Ley de Ahorro y Crédito Popular que es una ley para regularizar a microfinancieras del sector rural, que no entraban en otras leyes como la Ley de Organizacion y Operaciones Auxiliares de Crédito; en un principio esta Ley está basada en los principios de los acuerdos de Basilea; pero con el toque mexicano de alta complejidad; siendo tan exigente que muchas microfinancieras sociales no podría cubrirlas.
Nosotros, después de esperar un sistema integral, y rechazar un propio proyecto, en busca de la garantía de Autorización emitida por la Comisión Nacional Bancaria y de Valores, buscamos la asesoría de nuestra Federación quién nos recomendó un software que en supuesto usaban ya varias entidades afiliadas.
En el mes de octubre de 2008 tuvimos una plática con la proveedora de Software, y con la confianza que tenemos con nuestra Federación.
Cuando tuvimos las platicas el gerente de la proveedora de software nos lo pintó como miel sobre hojuelas, nos dijo que la infraestructura de software teníamos era suficiente y que el sistema corría sobre un frijol como servidor.
Firmamos los contratos de inmediantos basados en el "profesionalismo" de la proveedora y por recomendación de nuestra Federación.
Yo era en ese momento el Jefe de migración del módulo operativo del sistema, y con la renuncia de la parte contable, me quedé con la resposabilidad de ambas.
Inicié los trabajos de migración para adaptar la información mantenidad en el sistema, a los requerimiento pedidos por el sistema.
También inicié la conversión de variables y matrices al sistema según los cuadernos de migración.
La otra tarea que llevé a cabo fue el subsane de la información del actual sistema, ya que mantenía errores o datos incompletos desde que se migró.
Algunos datos como los planes de pago, debido a la variedad de criterios del oficial de crédito, se tuvo que subir mediante hojas de cálculo que para ello programé. Todo esto me llevó cuatro meses de intenso trabajo, y aunado a la presión de la entrega de los estados financieros (mi trabajo como titular contable) fue una ardua labor.
Ya terminada mi labor empezamos la siguiente etapa que era de la evaluación de los datos migrados. hasta esa fecha nos habrían brindado unas 30 horas de asesoría, solamente los contacté para aclarar dudas, preguntas que no tardaban más de 5 minutos en contestar.
Por todo esto pagamos más de $ 420,000.00 correspondiente al 100% de cobro de licencias, 50% del cobro de Migración que asciende a $ 75,000.00 (migración == subir datos al sistema), y $ 45,000.00 al cobro de actualización por un año, más de $ 20,000 de viáticos que pagamos.
Es de notar, que somos una Microfinanciera que no es tan grande, he hicimos un gran sacrificio económico adquirir el sistema.
Para nuestra sorpresa, en la planeación de la instalación, donde nos iríamos a poner de acuerdo en la fechas y método de instalación, el Gerente de la proveedora de software nos condicionó la compra de Hardware y otro equipo por más de 780,000.00 o si no fuese así que adquirieramos su hosting por dos años que costaba aproximadamente 350,000 por año.
Además de comprar licencias del protocolo Citrix para correr la aplicación, y licencias de los sistemas operativos por más de $ 90,000.00, en total, un gasto por más de 1,290,000.00, y siendo una microfinanciera con altos requerimientos de crédito, no podríamos desembolsar esa cantidad a corto plazo, como lo exigía la proveedora de software.
Al vernos engalados, quisimos dar marcha atrás con el proyecto de migración, contactamos con la Proveedora quién nos dijo que los formatos estaban firmados y que no podía deolver el costo de la licencias, esto a pesar de no habernos entregado nada del software o ni siquiera mostrarnos en funcionamiento de forma presencial.
Nos pusimos en contacto con nuestra Federación para que gestionase la devolución de los recursos, para colmo nuestra Federación nos dió las espalda, argumentando que la Proveedora tenía razón, y que nosotros debíamos pagar.
Ahora nos dicen que sólo 90,000 nos pueden devolver, y para matar el caso, el consejo de administración no quizo levantar ninguna denuncia.
En mi opinión, la Proveedora abusó de nuestra confianza, nos engañó y no cumplió el contrato, yo estuve en contacto directo con la gente de la proveedora y les puedo asegurar que no gastaron mas de 8 horas de su tiempo.
El actuar de nuestra Federación nos mostró la inutilidad de este tipo de instituciones, que solo quieren comer y beber a costillas de Microfinancieras que nacieron con un propósito noble.
Actualmente inicié los trabajos para otra plafaforma informática apadrinada por Bansefi, en la cual ya avanzamos más que con la anterior Proveedora y espero que para el cierre de Diciembre de este año tenga yo Migrado el sistema.
Sirva esto de experiencia:
No todo lo que brilla es oro
.

viernes, 2 de octubre de 2009

soporte de carga masiva de cobros a S.A.F.E.

Como somos una microfinanciera que tenemos convenios de Ministración y Cobro de créditos vía nómina con distintas instituciones, se ha vuelvo una necesidad el crear una forma eficiente de cargar los recibos en el Sistema S.A.F.E, para ello he hecho modificaciones al core y he creado un módulo de carga Batch para cubrir esta necesidad.
Las características de archivo de carga es:
Archivo de texto o cvs separado con comas (,), tener claro que en las observaciones no debe llevar ninguna coma, pues esto hará que se cargue incorrectamente el archivo. El Archivo admite hasta 100 lineas, o sea 100 cobros por recibo, si es mas de 100, éstos son ignorados.
El layout de carga del archivo es el siguiente:
NUMERO_DE_SOCIO[coma]NUMERO_DE_CREDITO[coma]NUMERO_DE_PARCIALIDAD[coma]CAPITAL[coma]INTERES[coma]IVA[coma]AHORRO[coma]OBSERVACIONES

al tener el archivo hecho, vamos al menú caja>factura rápida de convenios:

carga-paso-01

Al cargar el archivo tenemos esta vista:

carga-paso-02

En la última parte de archivo (o el pie de página) tenemos las notas y avisos que el sistema manda:


carga-paso-03

una vez analizado el pago, para guardar y generar el recibo solo se oprime el boton "enviar pago"; los registros irán desapareciendo uno a uno conforme se vayan guardando, hasta quedar el registro cero (0) y te mostrará el botón "imprimir recibo xxxx".

BUGS:
Como el conteo de matrices en php empieza de cero (0), este no se elimina, y muestra el seudo error la "linea [número de registros] no se existe".
El proceso puede ser tardado, según el servidor y el tamaño de la base de datos, en nuestro caso como tenemos cientos de miles, el proceso tarda más de 10 minutos.

jueves, 1 de octubre de 2009

Comiendo un Armadillo.

bueno, si no me conoces... nunca vayas a creer que soy un nerd con lentes grandres y fino como una muñequita, la verdad soy medio salvaje. Me gusta mucho la cacería y el campo, vagar por el monte y pasar hambre, frío y humedad.
Ya tiene un buen tiempo que no salgo, así que me he vuelvo sedentario, anteriormente urgaba en montículos de los llamados "cuyos" que no son más que antigüos edificios mayas (en su momento colgaré fotos). Aunque hay oportunidades de retomar mi salvajez y un ejemplo fue hace una semanas fuimos a un pobrado a 40km de San Francisco de Campeche que se llama Nohakal, donde tuve la oportunidad de deleitarme con carne de "tepezcuintle" y de "huéch" en "pí", mi hijo que es más citadino, quedó encantado por el contacto con la naturaleza, pero haya les dejo unos videos y fotos.


este lo filmó mi hijo... habrán de notar su profesionalismo.