Guía Técnica: Incorporación de la Columna de Observaciones INVFACENC.IFE_REFERENCIA al Reporte de Diario de Facturas de Concreto 2
Guía Técnica: Incorporación de la Columna de Observaciones INVFACENC.IFE_REFERENCIA al Reporte de Diario de Facturas de Concreto 2
Introducción
El Diario de Facturas de Concreto 2 (gus005201q.p
) es un programa crítico para la gestión y reporte de facturas en el sistema de concreto. En su versión actualizada, se ha incorporado la columna INVFACENC.IFE_REFERENCIA
para incluir información adicional de observaciones en el reporte, mejorando la trazabilidad y la capacidad de análisis de las facturas. Esta guía técnica detalla los cambios realizados, su impacto en el sistema, y cómo se implementaron, manteniendo un enfoque profesional y visualmente atractivo para facilitar su comprensión.
Objetivo de la Modificación
La adición de la columna INVFACENC.IFE_REFERENCIA
permite incluir observaciones asociadas a cada factura en los formatos detallado por partida y totalizado por factura. Esto proporciona a los usuarios información contextual adicional, como notas específicas sobre la factura, mejorando la claridad y la utilidad del reporte.
Cambios Realizados
1. Modificación en el Bloque de Generación del Reporte
a) Reporte Detallado por Partida
En el bloque IF mDETALLE = 1 THEN
, se actualizó la generación de datos en wREPORTE.TMP_DATOS
para incluir el campo INVFACENC.IFE_REFERENCIA
. Este campo se agrega al final de la cadena de datos, separado por el carácter CHR(9)
(tabulador), asegurando compatibilidad con el formato existente.
Código Original:
wREPORTE.TMP_DATOS = copiastr(ALMACEN.ALM_CLAVE) + CHR(9)
+ copiaint(bFACALMEnc.MAE_FOLIO) + CHR(9)
...
+ copiastr(STRING(EMPLEADO.EMP_CLAVE)) + CHR(9)
+ copiastr(EMPLEADO.EMP_NOM_ABREV).
Código Modificado:
wREPORTE.TMP_DATOS = copiastr(ALMACEN.ALM_CLAVE) + CHR(9)
+ copiaint(bFACALMEnc.MAE_FOLIO) + CHR(9)
...
+ copiastr(STRING(EMPLEADO.EMP_CLAVE)) + CHR(9)
+ copiastr(EMPLEADO.EMP_NOM_ABREV) + CHR(9)
+ copiastr(INVFACENC.IFE_REFERENCIA).
b) Reporte Totalizado por Factura
De manera similar, en el bloque ELSE DO
para el reporte totalizado, se añadió INVFACENC.IFE_REFERENCIA
al final de la cadena de datos en wREPORTE.TMP_DATOS
.
Código Original:
wREPORTE.TMP_DATOS = copiastr(ALMACEN.ALM_CLAVE) + CHR(9)
+ copiaint(bFACALMEnc.MAE_FOLIO) + CHR(9)
...
+ copiastr(STRING(EMPLEADO.EMP_CLAVE)) + CHR(9)
+ copiastr(EMPLEADO.EMP_NOM_ABREV).
Código Modificado:
wREPORTE.TMP_DATOS = copiastr(ALMACEN.ALM_CLAVE) + CHR(9)
+ copiaint(bFACALMEnc.MAE_FOLIO) + CHR(9)
...
+ copiastr(STRING(EMPLEADO.EMP_CLAVE)) + CHR(9)
+ copiastr(EMPLEADO.EMP_NOM_ABREV) + CHR(9)
+ copiastr(INVFACENC.IFE_REFERENCIA).
2. Actualización de Etiquetas y Columnas
Para reflejar la nueva columna en la interfaz del reporte, se modificaron las variables mETIQUETAS
, mCOLUMNAS
, y mFORMATOS
en ambos modos del reporte.
a) Reporte Detallado por Partida
- mETIQUETAS: Se añadió
"Observaciones"
al final de la lista de etiquetas. - mCOLUMNAS: Se incluyó
"Observaciones"
como nombre de la nueva columna. - mFORMATOS: Se agregó
"<25 code=""> para definir el formato de la columna de observaciones, permitiendo un ancho de hasta 25 caracteres.
Código Original:
mETIQUETAS = "Alm|Folio|Fecha|Estatus|#Factura|Nombre Almacén|Clave|Nombre Cliente|tipoCliente|Csg|Nombre Consignatario|"
+ "Dst|Nombre Destino|RFC|Ren|Paq|Artículo|Nombre Artículo|Acelerante|Cantidad|Uni|Precio S/Dscto|%Dscto|"
+ "Precio C/Dscto|Importe|Rem. Cant.|Rem. Imp.|Surtido Manual|Cant. No Rem.|Imp. No Rem|Ven|Vendedor".
mCOLUMNAS = "Alm|Folio|Fecha|Estatus|Factura|AlmacenNombre|ClienteClave|ClienteNombre|Tipo Cliente|ConsigClave|ConsigNombre|"
+ "DestinoClave|DestinoNombre|ClienteRFC|Ren|Paq|Art|NombreArt|Acel|Cantidad|Uni|PrecioSDscto|Dscto|"
+ "PrecioCDscto|Importe|RemCant|RemImp|SrtMan|CantNoRem|ImpNoRem|Ven|Vendedor".
mFORMATOS = "<5>8|>&10|<12>8|<40>4|<35>7|<35>4|>4|<16>12#3|<5>17#5|>10#5|"
+ ">17#5|>$12|>12#3|>$12|<15>12#3|>$12|<7 code="">
Código Modificado:
mETIQUETAS = "Alm|Folio|Fecha|Estatus|#Factura|Nombre Almacén|Clave|Nombre Cliente|tipoCliente|Csg|Nombre Consignatario|"
+ "Dst|Nombre Destino|RFC|Ren|Paq|Artículo|Nombre Artículo|Acelerante|Cantidad|Uni|Precio S/Dscto|%Dscto|"
+ "Precio C/Dscto|Importe|Rem. Cant.|Rem. Imp.|Surtido Manual|Cant. No Rem.|Imp. No Rem|Ven|Vendedor|Observaciones".
mCOLUMNAS = "Alm|Folio|Fecha|Estatus|Factura|AlmacenNombre|ClienteClave|ClienteNombre|Tipo Cliente|ConsigClave|ConsigNombre|"
+ "DestinoClave|DestinoNombre|ClienteRFC|Ren|Paq|Art|NombreArt|Acel|Cantidad|Uni|PrecioSDscto|Dscto|"
+ "PrecioCDscto|Importe|RemCant|RemImp|SrtMan|CantNoRem|ImpNoRem|Ven|Vendedor|Observaciones".
mFORMATOS = "<5>8|>&10|<12>8|<40>4|<35>7|<35>4|>4|<16>12#3|<5>17#5|>10#5|"
+ ">17#5|>$12|>12#3|>$12|<15>12#3|>$12|<7 class="string" span=""><25 span="">".
b) Reporte Totalizado por Factura
- mETIQUETAS: Se añadió
"Observaciones"
al final. - mCOLUMNAS: Se incluyó
"Observaciones"
como nombre de la columna. - mFORMATOS: Se agregó
"<20 code=""> para el formato de la columna de observaciones.
Código Original:
mETIQUETAS = "Alm|Folio|Fecha|Estatus|Tipo|#Factura|Nombre Almacén|Clave|Nombre Cliente|tipoCliente|Csg|"
+ "Nombre Consignatario|Dst|Nombre Destino|RFC|Importe|IVA|Total|Mon|Surtido|Pagado|"
+ "Capturó|Fecha Captura|Canceló|Fecha Cancela|Razones Cancela|Importe Remisionado|Surtido Manua|ImpNoRem.".
mCOLUMNAS = "Alm|Folio|Fecha|Estatus|Tipo|Factura|AlmacenNombre|ClienteClave|ClienteNombre|Tipo Cliente|ConsigClave|"
+ "ConsigNombre|DestinoClave|DestinoNombre|ClienteRFC|Importe|IVA|Total|Mon|Surtido|Pagado|"
+ "Capturo|FechaCap|Cancelo|FechaCan|RazCan|RemImp|SrtMan|ImpNoRem".
mFORMATOS = "<5>8|>&10|<12>8|<40>4|"
+ "<35>7|<35>$12|>$12|>$12|<5>$12|>$12|"
+ "<35>@15|<35>@15|<35>$12".
Código Modificado:
mETIQUETAS = "Alm|Folio|Fecha|Estatus|Tipo|#Factura|Nombre Almacén|Clave|Nombre Cliente|tipoCliente|Csg|"
+ "Nombre Consignatario|Dst|Nombre Destino|RFC|Importe|IVA|Total|Mon|Surtido|Pagado|"
+ "Capturó|Fecha Captura|Canceló|Fecha Cancela|Razones Cancela|Importe Remisionado|Surtido Manua|ImpNoRem.|Ven|Vendedor|Observaciones.".
mCOLUMNAS = "Alm|Folio|Fecha|Estatus|Tipo|Factura|AlmacenNombre|ClienteClave|ClienteNombre|Tipo Cliente|ConsigClave|"
+ "ConsigNombre|DestinoClave|DestinoNombre|ClienteRFC|Importe|IVA|Total|Mon|Surtido|Pagado|"
+ "Capturo|FechaCap|Cancelo|FechaCan|RazCan|RemImp|SrtMan|ImpNoRem|Ven|Vendedor|Observaciones".
mFORMATOS = "<5>8|>&10|<12>8|<40>4|"
+ "<35>7|<35>$12|>$12|>$12|<5>$12|>$12|"
+ "<35>@15|<35>@15|<35>$12|<25 class="string" span=""><20 span="">".
Impacto de los Cambios
- Funcionalidad Mejorada:
- La columna
Observaciones
permite a los usuarios visualizar notas específicas asociadas a cada factura, como comentarios sobre el cliente, condiciones especiales de entrega, o referencias internas. - Esto es particularmente útil para auditorías y seguimiento de facturas con requerimientos específicos.
- La columna
- Compatibilidad:
- Los cambios mantienen la estructura existente del reporte, asegurando que no se altere la funcionalidad previa.
- La adición de la columna se realizó al final de las cadenas de datos, evitando conflictos con columnas existentes.
- Interfaz de Usuario:
- La nueva columna se muestra en la interfaz del reporte, con un formato claro y consistente (
<25 code=""> para detallado y
<20 code=""> para totalizado).
- La alternancia de colores en el reporte detallado se mantiene, adaptándose al modo claro u oscuro.
- La nueva columna se muestra en la interfaz del reporte, con un formato claro y consistente (
- Rendimiento:
- La adición de
INVFACENC.IFE_REFERENCIA
no introduce consultas adicionales ni afecta el rendimiento, ya que el campo ya está disponible en la tablaINVFACENC
.
- La adición de
Beneficios de la Modificación
- Mayor Contexto: Las observaciones proporcionan información adicional que puede ser crucial para la toma de decisiones.
- Trazabilidad Mejorada: Facilita el seguimiento de facturas con notas específicas.
- Flexibilidad: Aplicable tanto en el reporte detallado como en el totalizado, cubriendo todos los casos de uso.
- Usabilidad: La integración en la interfaz es intuitiva, con etiquetas claras y formatos consistentes.
Consideraciones Técnicas
- Validación de Datos:
- El campo
INVFACENC.IFE_REFERENCIA
debe contener datos válidos y relevantes. Se recomienda implementar validaciones en el sistema de entrada para evitar valores nulos o inconsistentes. - Si el campo está vacío, el reporte mostrará una cadena vacía, lo cual es manejado correctamente por la función
copiastr
.
- El campo
- Compatibilidad con Versiones Anteriores:
- Los sistemas que consuman el reporte deben actualizarse para reconocer la nueva columna. Esto incluye interfaces de usuario y herramientas de exportación (e.g., CSV, Excel).
- La adición al final de la cadena asegura que los sistemas legacy puedan ignorar la columna sin errores.
- Pruebas Recomendadas:
- Pruebas Unitarias: Verificar que el campo
IFE_REFERENCIA
se muestre correctamente en ambos formatos (detallado y totalizado). - Pruebas de Integración: Asegurar que los datos de observaciones se integren correctamente con el resto del reporte.
- Pruebas de Rendimiento: Confirmar que la adición no impacta el tiempo de generación del reporte.
- Pruebas de Visualización: Validar que la columna se muestre correctamente en la interfaz, con el formato y ancho especificados.
- Pruebas Unitarias: Verificar que el campo
- Documentación:
- Actualizar la documentación del sistema para reflejar la nueva columna.
- Comunicar a los usuarios finales sobre la funcionalidad añadida y su propósito.
Ejemplo Visual del Reporte
Reporte Detallado por Partida (Antes)
Alm | Folio | Fecha | Estatus | #Factura | Nombre Almacén | ... | Vendedor |
---|---|---|---|---|---|---|---|
A01 | 12345 | 2025-06-01 | Activa | F-12345 | Almacén Central | ... | Juan Pérez |
Reporte Detallado por Partida (Después)
Alm | Folio | Fecha | Estatus | #Factura | Nombre Almacén | ... | Vendedor | Observaciones |
---|---|---|---|---|---|---|---|---|
A01 | 12345 | 2025-06-01 | Activa | F-12345 | Almacén Central | ... | Juan Pérez | Entrega urgente requerida |
Reporte Totalizado por Factura (Antes)
Alm | Folio | Fecha | Estatus | Tipo | #Factura | Nombre Almacén | ... | ImpNoRem |
---|---|---|---|---|---|---|---|---|
A01 | 12345 | 2025-06-01 | Activa | I | F-12345 | Almacén Central | ... | 5000.00 |
Reporte Totalizado por Factura (Después)
Alm | Folio | Fecha | Estatus | Tipo | #Factura | Nombre Almacén | ... | ImpNoRem | Observaciones |
---|---|---|---|---|---|---|---|---|---|
A01 | 12345 | 2025-06-01 | Activa | I | F-12345 | Almacén Central | ... | 5000.00 | Entrega urgente requerida |
Conclusión
La incorporación de la columna INVFACENC.IFE_REFERENCIA
en el Diario de Facturas de Concreto 2 representa una mejora significativa en la funcionalidad del reporte, proporcionando información adicional que enriquece el análisis de las facturas. Los cambios se implementaron de manera eficiente, manteniendo la compatibilidad con el sistema existente y asegurando una experiencia de usuario mejorada. Esta actualización es un paso hacia un sistema más robusto y adaptable a las necesidades de los usuarios.
Anexos
Código Fuente
- Archivo Original:
gus005201q.p
(versión sinIFE_REFERENCIA
). - Archivo Modificado:
gus005201q.p
(versión conIFE_REFERENCIA
).
Notas Adicionales
- Versión del Sistema: Asegúrese de que el sistema esté actualizado para soportar la nueva columna.
- Soporte: Contacte al equipo de desarrollo para cualquier duda o problema relacionado con esta actualización.
Fecha de Publicación: 11 de junio de 2025
Autor: Equipo de Desarrollo
Versión del Documento: 1.0
Comentarios
Publicar un comentario