You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Se está trabajando con una arquitectura orientada a (micro)servicios, con CRUD APIs desligadas unas de otras, lo que implica que no todos los datos se propagan al cambiar
Las cuentas actualmente se están almacenando a nivel de base de datos, de tal manera que en cada registro/objeto, el identificador es el mismo código de la cuenta (Esto quizás para intentar evitar que un código pudiese repetirse), no hay un identificador inmutable
Otros sistemas están almacenando justamente este "identificador" como cuenta_contable_id
Los dos puntos anteriores tienen, entre otras, las siguientes implicaciones:
Si Contabilidad decide, por la razón que sea, recodificar una cuenta (cambiarle el código a una cuenta, manteniendo su historial), a nivel interno puede que no haya problema, pero cuando otras APIs realicen movimientos contables acorde a la parametrización de cada concepto contable de cada negocio, las transacciones van a fallar
Para evitar lo anterior, habría que impedir el renombrado de cuentas. Pero hacer esto iría en contra de la primer consideración, del objetivo de Kronos: se le estaría limitando a Contabilidad la funcionalidad de que, sin intervención alguna de la OAS, en Kronos puedan recodificar las cuentas
Esta funcionalidad se podría plantear como un caso de soporte, en que se solicite desde Contabilidad, sin embargo es inviable, principalmente porque un cambio no mas en una única cuenta implicaría realizar consultas y cambios en varias bases de datos, y eso a nivel de las bases de datos que se tienen administradas por la OAS
Obtener visto bueno de Jhon, DBA y Arquitecto, para la estrategia descrita en los pasos siguientes (Editar de ser necesario para la aprobación):
Estrategia de Mitigación
Para mitigar la situación se propone el siguiente proceso:
1. Realizar una primer migración (mongo) en la que se agregue un campo "codigo" a cada registro de la tabla (colección mongo) de cuentas contables, y "_id" para regenerar mongo_ids. Lo que está actualmente en "_id" se copiaría a "codigo", y luego se generaría el "_id" como un ObjectID. Esto podría realizarse, bien sea elemento a elemento, o creando una nueva colección. Agregar por cada uno de los campos anteriores un índice único (mongo), según haga falta.
2. Dejar preparada (y simular) una segunda migración, a ser ejecutada en la-etapa/el-paso 4
3. Una vez terminado lo anterior, notificar y dar un tiempo definir una fecha prudente para que los demás sistemas apliquen las correcciones pertinentes, de tal manera que todos sus procesos consuman dicho campo en vez del id, a nivel de consulta, pero a nivel de base de datos, deberán empezar a usar el id generado por la base de datos. En lo que concierne a datos, una vez identificados los sistemas afectados, coordinar con DBA la estrategia de migración de datos
4. Finalizado el tiempo, eliminar el id que originalmente usaba la cuenta contable. A nivel del id de cada objeto retornado por la API, dejar de retornar el codigo y usar el id mongo
Fecha Estimada hasta las dos primeras migraciones: 12 de Enero
The text was updated successfully, but these errors were encountered:
Consideraciones
cuenta_contable_id
Tareas
- El propio cuentas_contables_crud
- "Motor contable" (movimientos_contables_crud y movimientos_contables_mid)
- Arka II (cliente, MID y movimientos_arka_crud - por confirmar)
Estrategia de Mitigación
Para mitigar la situación se propone el siguiente proceso:
dar un tiempodefinir una fecha prudente para que los demás sistemas apliquen las correcciones pertinentes, de tal manera que todos sus procesos consuman dicho campo en vez del id, a nivel de consulta, pero a nivel de base de datos, deberán empezar a usar el id generado por la base de datos. En lo que concierne a datos, una vez identificados los sistemas afectados, coordinar con DBA la estrategia de migración de datosFecha Estimada hasta las dos primeras migraciones: 12 de Enero
The text was updated successfully, but these errors were encountered: