Detalle
| Campo | Valor |
|---|---|
| Manual de Usuario | Log de Auditorías - Plenario v14 |
| Módulo | Herramientas |
| Ventanas | Log de Auditorías (+ Detalle) |
| Versión | 1.2 |
El Log de Auditorías es el visor de la tabla Plenario_Operaciones_Log: registra las operaciones auditadas del sistema (asientos, clientes, créditos, parámetros, cierres, transferencias, tickets, etc.), con el objeto…
| Campo | Valor |
|---|---|
| Manual de Usuario | Log de Auditorías - Plenario v14 |
| Módulo | Herramientas |
| Ventanas | Log de Auditorías (+ Detalle) |
| Versión | 1.2 |
El Log de Auditorías es el visor de la tabla Plenario_Operaciones_Log: registra las operaciones auditadas del sistema (asientos, clientes, créditos, parámetros, cierres, transferencias, tickets, etc.), con el objeto involucrado serializado en JSON para poder revisar el estado guardado.
La ventana permite filtrar por rango de fecha y por tipo de log, ver el resultado en grilla y, con doble clic sobre una fila, abrir el detalle con el objeto serializado (y, en el caso de cierres automáticos, el desglose del proceso). El detalle se puede imprimir, exportar a PDF y exportar a Excel.
Es una herramienta de trazabilidad/diagnóstico: muestra qué operación se hizo, de qué tipo, su estado, origen/destino, quién y cuándo, más el JSON del objeto auditado.
Desde esta versión se auditan también el alta, la modificación y la baja de las fichas de Clientes, Proveedores y Proveedores Financieros, que antes no dejaban registro. La diferencia con el resto de los tipos es que la modificación se registra campo por campo: el detalle no muestra la ficha completa, sino únicamente los campos que efectivamente cambiaron, con su valor anterior y el nuevo.
Esto permite responder con precisión "quién le cambió el límite de crédito a este cliente y qué valor tenía antes", sin tener que comparar dos volcados de la ficha entera.
Se incorpora el tipo de log Clientes_Percepciones, que registra cada alta, modificación y baja de una alícuota de percepción asignada a un cliente, con el valor anterior, el nuevo y de dónde salió el dato (padrón importado, padrón online, alícuota default, carga manual, importación de solicitudes o actualización masiva). Permite responder "¿qué alícuota de IIBB tenía este cliente, quién se la cambió y con qué fuente?".
| Ventana | Ruta |
|---|---|
| Log de Auditorías | Herramientas → Log de Auditorías |
El acceso suele requerir permisos que deben solicitarse al administrador del sistema.
Al abrir, el rango de fecha se inicializa al día actual (desde = hasta = hoy) y el tipo de log en "Todos". Se carga la grilla con las operaciones del rango/tipo, ordenadas de la más reciente a la más antigua.
| Botón | Descripción |
|---|---|
| Buscar | Ejecuta la consulta con el rango de fecha y el tipo seleccionados. |
| Limpiar parámetros | Restablece los parámetros de búsqueda. |
| (Doble clic en fila) | Abre el Detalle de la operación (FormPlenarioAuditoriasLog_Detalle). |
| Filtro | Descripción |
|---|---|
| Fecha (rango) | Rango por fecha de alta del log (Fecha_Add), desde/hasta. Por defecto, hoy. |
| Tipo Log | Combo con los tipos de operación auditada; "Todos" trae todos los tipos. |
| Limpiar parámetros | Vuelve los parámetros a sus valores por defecto. |
El tipo de log se elige de una lista que corresponde al enum
Tipo_Log(Asientos, Parámetros, Clientes, Crédito, Cierre, Factoring, Transferencias, Tickets, etc.). "Todos" (valor 0) no filtra por tipo.
Para auditar las fichas maestras, los tipos a elegir son:
| Ficha | Tipo Log |
|---|---|
| Clientes | Clientes |
| Proveedores | Proveedores |
| Proveedores Financieros | Inversores |
El tipo Clientes_LimitesDeCredito es distinto: registra el alta de los límites de crédito del cliente, no los cambios de la ficha.
Para auditar las alícuotas de percepción de los clientes, elegí el tipo Clientes_Percepciones (ver la sección siguiente).
Cada registro corresponde a una alícuota de percepción de un cliente (un impuesto y una provincia) que se dio de alta, se modificó o se dio de baja. El Tipo_Log_Id es el Id del cliente, así que filtrando por esa columna se ve toda la historia de percepciones de un cliente.
| Columna | Contenido en este tipo |
|---|---|
| Origen | Siempre "Alícuotas de percepción del cliente". |
| Destino | La acción: "Alta", "Modificación" o "Baja". |
| Estado | "Modificado" si la grabación se hizo; "Sin modificar" si falló (en ese caso la descripción termina con "Error: …"). |
| Descripcion | Impuesto, provincia y alícuota, más el origen del dato (ver ejemplos abajo). |
Ejemplos de Descripcion:
IIBB - Buenos Aires: 1,50 % -> 3,00 % | Origen: …IIBB - Buenos Aires: 1,00 % (activa) | Origen: … o (inactiva).IIBB - Buenos Aires: 1,00 % dada de baja | Origen: …IIBB - Buenos Aires: 1,00 % | se desactiva | Origen: … o | se activa.| Error: ….Una grabación sin cambios reales (misma alícuota y mismo estado activo/inactivo) no se registra.
Origen del dato (texto que aparece después de "Origen:" en la descripción y en el detalle):
| Origen | Dónde se genera |
|---|---|
Padrón importado <provincia> <vigencia desde-hasta> |
Ficha del cliente, al marcar Sujeto a Percepción de IIBB (padrón importado vigente a la fecha de trabajo). |
Padrón Online AGIP / Padrón Online ARBA |
Ficha del cliente, con la vigencia que informa InfoAPI. |
Alícuota default |
Ficha del cliente, cuando el CUIT no figura en ningún padrón. |
Carga manual |
Pantalla de asignación de percepciones del cliente (Clientes › Ver › Percepciones Asignadas): alta, cambio de alícuota, activar/desactivar y eliminar. |
Importación de solicitudes de préstamo - Padrón importado vigente dd/mm/aaaa-dd/mm/aaaa, … - Alícuota default o … - percepción no informada o sin alícuota: se desactiva |
Importación de solicitudes de préstamo desde archivo. |
Actualización masiva online - Padrón Online AGIP/ARBA … o … - Alícuota default (no figura en el padrón online …) |
Actualización de Alícuotas de IIBB, origen Online, proceso de percepciones de clientes. |
Actualización masiva por padrón - Padrón importado <provincia> <vigencia> o … - Alícuota default (no figura en el padrón) … |
Actualización de Alícuotas de IIBB, origen Padrones. En este proceso sólo se registran los clientes a los que se les dio de alta la alícuota o cuya alícuota cambió. |
Cambio respecto de versiones anteriores: la actualización masiva online de percepciones de clientes ya no se registra bajo el tipo InfoAPI sino bajo Clientes_Percepciones. Las retenciones de proveedores actualizadas desde InfoAPI siguen registrándose bajo InfoAPI.
La grilla muestra una fila por operación auditada:
| Columna | Descripción |
|---|---|
| Id | Identificador del registro de log. |
| Tipo_Log | Tipo de operación (se muestra el nombre del tipo). |
| Tipo_Log_Id | Identificador del objeto auditado (clave del registro de origen). |
| Descripcion | Descripción de la operación. |
| Origen | Origen de la operación. En las fichas maestras indica el módulo: "Clientes", "Proveedores" o "Prov. Financiero". |
| Destino | Destino de la operación. En las fichas maestras indica qué se hizo: "Nuevo", "Modificar", "Eliminar" o "Reactivar". |
| Estado | Estado de la operación: "Modificado" / "Sin modificar". |
| JSON | Objeto serializado (Objeto_Serializado); el detalle completo se ve en la ventana de detalle. |
| Id_User_Add | Usuario que generó el registro. |
| Fecha_Add | Fecha y hora de alta del log. |
| Fecha_Trabajo | Fecha de trabajo (fecha de operación). |
| User_Environment | Entorno del usuario (máquina/dominio). |
Es una pantalla de consulta y auditoría: no edita los registros.
| Acción | Cómo |
|---|---|
| Buscar / refrescar | Botón Buscar con el rango y tipo elegidos. |
| Filtrar en grilla | Fila de auto-filtro y encabezados de columna. |
| Ver detalle | Doble clic sobre la fila → abre FormPlenarioAuditoriasLog_Detalle. |
El detalle muestra el objeto serializado de la operación:
Para la modificación de una ficha maestra (Clientes, Proveedores, Inversores): se muestra la lista de campos que cambiaron, con tres datos por campo — Propiedad (el nombre del campo, en castellano: "Límite de crédito", "Teléfono", "Condición de IVA"), Anterior (el valor que tenía) y Nuevo (el valor que quedó). Si en el guardado no cambió ningún campo, no se genera registro.
Para Clientes_Percepciones: se muestra el registro de la alícuota con los campos Id_Cliente, Id_Clientes_Percepciones, Accion, Tipo_Impuesto, Provincia, Alicuota_Anterior, Alicuota_Nueva, Activa_Anterior, Activa_Nueva y Origen. En un alta, los valores "Anterior" quedan vacíos.
En el alta y en la baja/reactivación de una ficha el detalle es más breve: deja constancia del usuario y del identificador de la ficha, porque los datos completos ya están en la propia ficha. El detalle campo por campo aplica solo a las modificaciones.
| Acción del detalle | Descripción |
|---|---|
| Imprimir | Vista previa de impresión del resultado. |
| Exportar PDF | Exporta el detalle a archivo .pdf. |
| Exportar XLS | Exporta el detalle a archivo .xls. |
| Aceptar | Cierra la ventana de detalle. |
Un cliente reclama que le cambiaron el límite de crédito y hay que averiguar quién fue y qué valor tenía antes:
Si en el paso 4 el Destino dice "Nuevo", ese registro es el alta de la ficha, no una modificación. Y si dice "Eliminar" o "Reactivar", corresponde a la baja o la reactivación del cliente.
Caso: averiguar de dónde salió la alícuota de IIBB de un cliente.
IIBB - Buenos Aires: 1,50 % -> 3,00 %) y el Origen del dato (padrón importado con su vigencia, padrón online, alícuota default, carga manual, importación o actualización masiva).Estado_Operacion del log: indica si la operación implicó modificación del objeto auditado o no.El formulario FormPlenarioAuditoriasLog no ejecuta validaciones IsAllowedObject en su código: la búsqueda y el detalle se ejecutan directamente. El control de acceso se da por la visibilidad de la opción en el menú.
| Operación | Objeto de permiso |
|---|---|
| Acceso al módulo | (por visibilidad de la opción en el menú) |
| Buscar / Ver detalle / Exportar | (sin validación de permiso dentro del form) |
Basada en el análisis del formulario real de la v14.
| Form | Rol |
|---|---|
FormPlenarioAuditoriasLog.cs (C#, VPNET_WinForms/Common) |
Hereda de FrmSearch. Visor de Plenario_Operaciones_Log: filtro por rango de fecha + tipo de log, grilla de resultados; doble clic abre el detalle. |
FormPlenarioAuditoriasLog_Detalle.cs (C#, Common) |
Hereda de FrmAddMod. Muestra el objeto serializado (JSON) o, para Tipo_Log=13, el desglose del proceso de cierre. Imprime y exporta a PDF/XLS. |
| Form | Qué registra |
|---|---|
frmClientes_AddMod.vb (VB, Common) |
Alta y modificación de la ficha de Cliente (169 campos comparados). |
frmClientes.vb (VB, Common) |
Baja lógica, reactivación y bloqueo/desbloqueo del Cliente. |
frmProveedores_AddMod.vb (VB, Common) |
Alta y modificación de la ficha de Proveedor (24 campos comparados). |
frmProveedores.vb (VB, Common) |
Baja lógica y reactivación del Proveedor. |
frmInversores_AddMod.vb (VB, Common) |
Alta y modificación de la ficha de Proveedor Financiero (31 campos comparados). |
frmInversores.vb (VB, Common) |
Baja lógica y reactivación del Proveedor Financiero. |
Las bajas de las tres fichas son lógicas (marcan el registro como eliminado), no borrados físicos; por eso existe la operación inversa "Reactivar".
Al abrir la ficha para editar se toma una copia de los valores previos. Después de guardar con éxito, se comparan los campos uno a uno y se serializa en Objeto_Serializado solo la lista de los que cambiaron, con la forma Propiedad / Anterior / Nuevo. Si la lista queda vacía no se graba nada.
La lista de campos a comparar es explícita en cada formulario: al agregar un campo nuevo a una ficha hay que sumarlo también a esa lista, o el campo no se auditará (y no habrá ningún error que lo advierta).
La auditoría corre dentro de un Try/Catch propio que deriva a Functions.LogError: si algo fallara al registrar, no interrumpe ni revierte el guardado de la ficha.
| Permiso | Acción |
|---|---|
(sin IsAllowedObject en el form) |
Ni el visor ni el detalle validan un objeto de permiso propio. |
| Tabla | Uso |
|---|---|
Plenario_Operaciones_Log |
Tabla auditada: tipo, origen, destino, estado, usuario/fecha de alta, fecha de trabajo, entorno y objeto serializado (JSON). |
Clientes |
Ficha auditada por el tipo Clientes (3). |
Proveedores |
Ficha auditada por el tipo Proveedores (43). |
Inversores |
Ficha de Proveedor Financiero, auditada por el tipo Inversores (42). |
Clientes_Percepciones |
Alícuotas de percepción asignadas a cada cliente, auditadas por el tipo Clientes_Percepciones (45). |
| Manual relacionado | Vínculo operativo |
|---|---|
| ABM de Usuarios y Permisos - Plenario v14 | Amplía el circuito, la configuración o los datos que utiliza esta funcionalidad. |
| ABM de Clientes - Plenario v14 | Ficha cuya alta, modificación y baja se auditan bajo el tipo Clientes. |
| Cargar, editar y administrar Proveedores - Plenario v14 | Ficha cuya alta, modificación y baja se auditan bajo el tipo Proveedores. |
| Actualización de Alícuotas de IIBB | Las actualizaciones masivas de percepciones de clientes (Online y por padrón) se auditan bajo Clientes_Percepciones; las de retenciones de proveedores (Online), bajo InfoAPI. |
Tipo_Log (0 = Todos) y rango de Fecha_Add desde/hasta; orden descendente por Fecha_Add.Tipo_Log del manager (1=Asientos, 3=Clientes, 4=Crédito, 10=Cierre, 11=Factoring, 13=Cierre_Dia_Automatico, 18=Transferencias, 26=Tickets, 33=LogError, 41=Clientes_LimitesDeCredito, 42=Inversores, 43=Proveedores, 45=Clientes_Percepciones, etc.).Save_Plenario_Operaciones_Log1Async, pasando la lista de diferencias como modelo; no usa Save_Plenario_Operaciones_Log_ByIdAsync, así que no depende del switch de Get_Object_ById.Destino ("Nuevo" / "Modificar" / "Eliminar" / "Reactivar") y el identificador de la ficha en Tipo_Log_Id. El Origen lleva el módulo ("Clientes", "Proveedores", "Prov. Financiero").Clientes_LimitesDeCredito) lo genera SaveLimites() en frmClientes_AddMod.vb y es independiente de la auditoría de la ficha: registra el alta del límite de crédito inicial del cliente.Clientes_Percepciones (CS 23692, Ticket#117048). Lo registra clsClientes_percepciones (ClassVisualPlenarioNET\Common\clsClientes_percepciones.vb) al grabar (Alta/Modificación) y al eliminar (Baja), con Save_Plenario_Operaciones_Log1Async(Tipo_Log.Clientes_Percepciones, modelo, "Alícuotas de percepción del cliente", ok, Id_Cliente, accion, descripcion). El modelo serializado es Auditoria_Clientes_Percepciones (Id_Cliente, Id_Clientes_Percepciones, Accion, Tipo_Impuesto, Provincia, Alicuota_Anterior, Alicuota_Nueva, Activa_Anterior, Activa_Nueva, Origen). El origen lo informa quien graba en la propiedad Origen_Auditoria ("Sin especificar" si no se informa). Si la modificación no cambia Id_Percepciones_Alicuotas ni Is_Percepcion_Activa, no se registra. La auditoría va en un Try/Catch propio y nunca interrumpe la grabación. La actualización masiva por padrón (clsPagoFacil.Actualizacion_Alic_Percepcion_IIBB) no pasa por la clase: captura el antes/después con OUTPUT … INTO @Cambios y hace un INSERT INTO Plenario_Operaciones_Log en el mismo SQL, sólo para altas y cambios de alícuota; si ese insert falla no revierte la actualización. La masiva online de clientes (Actualizacion_Online_Alic_Percepcion_IIBB) dejó de usar Tipo_Log.InfoAPI; las retenciones de proveedores lo siguen usando.Objeto_Serializado: con GetDetalle (JsonDataSource clave/valor) para casos normales, y con GetDetalleCierre (lista de Proceso) cuando Tipo_Log == 13.Ingresá con tu usuario del equipo para dejar una sugerencia.