Programas (bugs encontrados en las pruebas funcionales en la .250):
- acprmt004/acprmt005: MIN/MAX sobre la fecha real (no sobre texto CONVERT 103); acprmt004 alinea rowid.
- cgprrp008: lee cgtb00004 (no la copia cgtb00004_tmp del 14-mar-2026) y solo regenera
cgtb00016 cuando se corre sin filtro de cuenta.
- cgprrp014: CONSTRUCT con los nombres de campo del form (cod_sp_sc).
- cgfmrp013: defaultValue del combo = cgprrp012.4rp.
- cgprrp022/edprrp029: salida getPreviewDevice() en lugar de SVG fijo.
- edprrp080: no consume numero ED con afecta = NO.
- cgprmt004/022/037, segprmt0001: sin CONNECT "IFMX" (-6366); EXTERIOR via cross-DB.
- irprcs001: agrega CONNECT; irprmt021: columna idestado; irprmt066: la anulacion sin
MaintainX ya no se deshace (-255); otrodir/bodegas: rama '2' llena origen y destino.
- teprmt001: ajustes G6.
Despliegue G6:
- DBDATE=dmy4 en config/Application.xcf, config/Main_prg.xcf, resources/Application.xcf
y en el grupo MODULOS del .4pw (los programas lanzados por el menu heredan el entorno).
- 31 .4rp: IMAGEBOX con rutas absolutas file:///E:|F:|C: -> relativas IMAGENES/...;
se agregan IMAGENES/LOGO.JPG y genero_logo.png.
- Paquete mbs: incluye bin/*.4rp y bin/IMAGENES (antes el GAR no llevaba los reportes).
- resources/TopMenu.4st (irprcs008 daba -8014); bin/cgprcs024.4rp.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Merge de main (ipprrp013/014/046/053) con conflictos resueltos:
- mbsERP.4pw: ipprrp014 conserva ambos 4rp y su 4fd.
- bin/ipprrp014.4rp: columnas MARGEN/CLASIF. + titulo IPPRRP014.
Programas agregados a mbsERP.4pw (53 compilan y enlazan con fgl602):
- CONTABILIDAD GENERAL, ACTIVOS FIJOS, REPUESTOS; grupos nuevos TESORERIA,
CHEQUES e INFORMATICA (segprmt001 = seguridad2.0/segprmt0001.4gl).
- irdir copiado de 3.20 PROYECTOS/irdir a PROYECTO/irdir; helpers de
PROYECTOS/otrodir en FUNCIONES_IR (departamento -> irdepartamento.4gl).
- Fuentes mas nuevos de 3.20: edprrp118, edprrp080, acprrp010, cgprmt022.
- FUNCIONES: GeneraEntradaDiario.4gl a la version 3.20 + costoLiquidacion.4gl.
- Ajustes G6: existe duplicado en irprgb000, fakeData de 22 campos y
answer2 en irprmt036/020 (ApiMaintainC), selectOutputSimple en irprcs008,
schemas de forms a smarmotech, referencia declarada en cgprmt005.
- cgprmt005 sigue sin enlazar: requiere funciones de EXTERIOR.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- Registra ipfmrp014.4fd y la dependencia FUNCIONESREPORT en mbsERP.4pw
- Quita convert(char(10),...,103) de fecha_v y fecha_oc (el campo es DATE)
- Titulo de ventana corregido
- Rescata ipprrp014.4rp del respaldo PROYECTOS/bin; el encabezado decia
IPPRRP013 (texto fijo copiado del otro diseno), corregido a IPPRRP014
Verificado: pantalla, PDF y Excel con el gerente Adolfo Santelises (prueba
con usuario temporal, no incluido en este commit). Pendiente: Resumen por
clase, ipprrp014r.4rp no existe en el repo ni en el respaldo.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Registra ipfmrp053.4fd y la dependencia FUNCIONESREPORT en mbsERP.4pw
- selectoutput() inexistente -> selectOutputSimple()
- Rescata ipprrp053.4rp del respaldo PROYECTOS/bin (ipdir/ y bin/)
- Titulo de ventana corregido (mostraba "form")
Verificado: rango 05/01/2026 a hoy genera 911 paginas; pantalla, PDF y Excel OK.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
- Registra ipfmrp013.4fd y la libreria FUNCIONESREPORT en mbsERP.4pw
- Quita CONVERT(...,103) en fecha_factura y fech_oc (error -1205)
- Titulo de ventana corregido
- ipprrp013.4rp: formato 7.00, diseno plano con rtl:input-variable
(los grupos anidados no coincidian con el flujo del REPORT), encabezado
con compania/fecha/hora y FECHA VENTA enlazada a fecha_v
- Resumen usa ipprrp013r.4rp (agregado por Johnny)
Verificado: Detallado sin filtros (3 paginas) y Resumen clase 124.
Pendiente: alineacion visual de columnas del Detallado.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Se agrega noprrp015 al proyecto usando nofmrp015.per.
A diferencia de noprrp009 (donde se opto por salida de archivo de
texto), aqui se reescribio REPORT prestamo de PRINT COLUMN clasico a
PRINTX, y se creo nodir/../bin/noprrp015.4rp (diseno Report Writer
2.0) para soportar pantalla/PDF/Excel, igual que noprrp002/003/039/
043/044. configureOutput() en msgrp000.4gl sigue siendo un stub NULL
(ver noprrp009), asi que se usa fgl_report_loadCurrentSettings +
fgl_report_selectDevice/selectPreview/commitCurrentSettings
directamente.
Se corrige tambien el mismo problema de signo oculto en los montos
(mascaras sin caracter de signo) que se encontro en noprrp009.
Probado con empleado especifico y con varios empleados del mismo
movimiento, verificado contra BD (valor, interes y balance).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
.4rp faltantes y titulo incorrecto
- Registrar ipfmrp036.4fd en el proyecto.
- Agregar dependencia faltante FUNCIONESREPORT para selectOutput().
- Rescatar ipprrp036.4rp de un backup viejo (PROYECTOS/bin), no existia
en el repo. El nombre de reporte (inv1) coincidia bien.
- El titulo del reporte decia "ipprrp035" (texto quemado copiado del
diseño anterior, nunca actualizado) - corregido a "ipprrp036", y el
subtitulo aclarado a "Reporte costos de calidad (con ventas)".
Verificado con rango de fechas 2026-hoy: abre limpio, muestra
"Facturado ventas a la fecha" en el encabezado, exporta correctamente
en PDF, pantalla y Excel.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmrp035.4fd en el proyecto.
- Agregar dependencia faltante FUNCIONESREPORT para selectOutput().
- Rescatar ipprrp035.4rp de un backup viejo (PROYECTOS/bin), no existia
en el repo. El nombre de reporte (inv1) coincidia bien.
Verificado con rango de fechas 2024-hoy, vista detallada y resumida
(por producto y por departamento): abre limpio, exporta correctamente
en PDF, pantalla y Excel.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmrp009.4fd y agregar dependencias faltantes
(FUNCIONESREPORT, FUNCIONES_IN) para msgrp000/selectOutput/defecto/
fgl_report_*.
- Rescatar ipprrp009.4rp de un backup viejo (PROYECTOS/bin), no existia
en el repo. El nombre de reporte (existencia_grafica) coincidia bien,
a diferencia del caso de ipprrp010.
- Quitar dos DISPLAY de depuracion olvidados (mostraban el SQL completo
y el texto "imprime" en cada fila).
Verificado con producto 29-668-1403-6952, rango 01/01/2026-29/09/2026,
grafico=SI: Existencia 360.00, Costo 3,512.41/3,512.42, Total
1,264,469.40 (cuadra: 360 x costo). Subtotal por origen y total general
correctos. Exportado en PDF, pantalla y Excel sin problemas. Cierre
limpio.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmrp005.4fd en el proyecto (form not found al abrir).
- Agregar dependencias faltantes FUNCIONESREPORT (msgrp000) para el
papel/preview del reporte.
- selectOutput() no estaba definida en ningun modulo enlazable sin
conflicto: la version de otrodir/vesalidaimpresora.4gl tiene una
firma distinta (devuelve 3 valores) y la de otrodir/msgrp000.4gl
choca con indir/defecto.4gl al traer ambas. Se extrajo a un archivo
propio (otrodir/selectoutput_simple.4gl) la version de un solo
valor de retorno que ya coincidia con lo que espera este programa,
reutilizando el formulario "Configuration" ya existente.
- ipprrp005.4rp: la ruta del logo era absoluta a la maquina de
produccion (E:\MARMOTECHC\IMAGENES\logo.png), no existia aqui -
cambiada a ruta relativa (logo.png, ya esta en PROYECTO/bin).
- Se agrego titulo a la ventana (usaba el generico "screen").
Verificado con producto 29-668-1403-6952, año 2026: Material 3,512.42,
Labor 0.00, Gasto 0.00, Costo STD 3,512.42 - reporte bien formateado
(usa el .4rp original del programa, no uno reescrito). Cierre limpio.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
El .4rp que traia el repo (y su copia en el backup viejo) era en
realidad el reporte de "activos" de otro programa (RWFglReportName y
todo el cuerpo no correspondian a REPORT detalle(x)) - por eso nunca
pudo generar nada, ni siquiera despues de arreglar el crash original
de configureOutput().
- Se convirtio el REPORT detalle(x) de PRINT COLUMN clasico a PRINTX
(siguiendo el patron de ipprrp005, que si funciona), y se escribio un
.4rp nuevo desde cero con las variables correctas.
- Se quito el subtotal por "Orden" que la migracion habia agregado sin
incluirlo en el ORDER BY (nunca funciono bien, no existia en 3.20).
- Se agrego titulo a la ventana (usaba el generico "screen").
Pendiente: el acomodo visual de columnas del reporte sale apilado en
vertical en vez de en fila - los datos y subtotales son correctos, pero
falta pulir el layout en el Report Designer (consultado con Johnny).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Se agrega noprrp044 al proyecto usando nofmrp044.4fd, reutilizando
FUNCIONESREPORT y libgre.42x.
Se corrige ruta absoluta hardcodeada en noprrp044.4rp
(file:///F:/MARMOTECHC/BIN320/IMAGENES/marmotech.png, inexistente en
este equipo) por una ruta relativa a IMAGENES/Logo.png, ya presente
en el proyecto.
Probada impresion de carnet (frente y reverso) para un empleado con
foto, verificado contra BD.
Pendiente: la opcion "NO EMPLEADOS" (generacardnet, etiquetas
genericas) usa noprrp044_1.4rp, que no existe en el proyecto (solo
una version renombrada noprrp044_1_otros_ant.4rp de origen incierto).
Se deja sin resolver hasta confirmar con el usuario cual version usar.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Se agrega noprrp039 al proyecto usando nofmrp039.4fd, reutilizando
FUNCIONESREPORT y libgre.42x.
Se corrige "AND and" duplicado (typo) en las 3 consultas dinamicas
del bloque tipoEmpleados=9 (TODOS los empleados), que producia un
error de sintaxis SQL y bloqueaba completamente esa opcion.
Se corrige CONVERT(CHAR,fech_efec,103) hacia variable DATE en las 5
consultas del programa, mismo patron de error -1205 "Invalid month
in date" ya visto en otros programas.
Se crea PROYECTO/bin/IMAGENES/EMPLEADOS (con .gitkeep), carpeta
faltante donde el programa exporta las fotos de empleados
(foto_empleado.writeFile); sin ella el reporte fallaba con error
-8087 al procesar cualquier empleado con foto guardada.
Probado con empleado especifico y con "TODOS" (activos+inactivos con
foto), verificado contra BD sobre departamento 1000.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmrp050.4fd en el proyecto (form not found al abrir).
- Agregar dependencia faltante FUNCIONESREPORT a ipprrp050 (no linkeaba,
llamaba seleccionarSalida() sin tener el modulo).
- Rescatar ipprrp050.4rp de un backup viejo (PROYECTOS/bin), no existia
en el repo.
Verificado con producto 29-668-1403-6952, bodega ALMACEN PUNTA CANA:
existencia 308.00, coincide con la BD. Cierre limpio con Cancel (usa el
mismo patron DIALOG/ON ACTION que ipprrp052, sin el bug de cierre
colgado de ipprrp002/ipprrp002_1).
Nota aparte (sin corregir, igual que ipprrp052): cuentaitems() nunca se
llama (comentado), variable cuenta sin inicializar para la barra de
progreso - inofensivo pero es codigo muerto.
Ademas: actualizar DATABASE/smarmotech.4db, smarmotech.sch y
PROYECTO/smarmotech.sch desde la BD real (.40.250) via Update Meta-schema
de Genero Studio. Se hizo intentando resolver el bloqueo de ipprrp052
(columna iptb00002.categoria no reconocida por el compilador) - el
esquema ya trae la columna correcta pero el compilador sigue sin
reconocerla incluso tras Rebuild All completo; ipprrp052 sigue
bloqueado, pendiente que Johnny revise el paso de regeneracion del
diccionario que nos falta.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Rescatar de un backup viejo (PROYECTOS/bin) los .4rp que faltaban en el
repo: ipprrp002.4rp, ipprrp002_1.4rp, ipprrp002_2.4rp e ipprrp052.4rp.
Sin ellos el reporte nunca podia generarse (fgl_report_loadCurrentSettings
fallaba y el programa hacia EXIT PROGRAM).
- Registrar en mbsERP.4pw los formularios ipfmrp002.4fd, ipfmrp002_1.4fd
e ipfmrp052.4fd, y los .4rp anteriores: existian en el repo pero nunca
se habian agregado al proyecto.
- ipprrp002.4gl: cambiar `cuenta` de SMALLINT a INTEGER, causaba
"Value too large to fit in a SMALLINT" al generar el catalogo completo
(43,796 productos sin filtro).
- ipprrp002.4gl: envolver el flujo de captura/reporte en un WHILE para
permitir buscar de nuevo sin cerrar el programa, y para que Cancelar
termine limpio (antes, al terminar de generar el reporte el programa
quedaba colgado y habia que forzar el cierre).
Verificado con producto 29-668-1403-6952 (1 pagina, ciclo buscar-reporte-
cerrar limpio) y catalogo completo sin filtro (43,796 productos, 1093
paginas, generacion correcta).
Nota aparte (sin corregir): sin filtro de codigo el programa genera el
catalogo completo (43,796 productos) sin ninguna advertencia; evaluar si
deberia exigir un filtro minimo. Campo "Anio" en pantalla sin uso en el
codigo. ipprrp002_1 e ipprrp052 tienen sus assets registrados pero aun
no se han probado funcionalmente.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar 8 archivos faltantes en FUNCIONES_IP (ipautorizareq, codigoModificacion,
piking, conduces, ubicacionH, ipactualizareqtrx, loadDespiece, LlenarUbicaciones)
- Agregar dependencias FUNCIONESREPORT y FUNCIONESEMAIL a ipprmt044 (defecto,
configureOutput, enviaemail ya existian en el proyecto)
- Resolver colision de nombres: renombrar REPORT/FUNCTION duplicados en
ipautorizareq.4gl (requiere->requiereAutoriza, buscadoc->buscadocAutoriza,
impdocumento->impdocumentoAutoriza) que chocaban con imprequisiciones.4gl
y buscarequisicion.4gl
- Sincronizar registros locales desactualizados: x RECORD en ipautorizareq.4gl
(faltaba us_crea) y x/z RECORD del REPORT formu4 en ipprgb000.4gl (faltaban
bodega_destino, factura, area, descripcion_area, existencia, disponible,
codigo_bloque, id_kit) respecto a los registros globales reales
- Migrar ipprmt020_1.4rp desde PROYECTOS y corregir su RWFglReportName
Pendiente: funcion 'fotos' (12 parametros) no existe en ningun archivo del
proyecto, consultado con Johnny
- Registrar funciones compartidas faltantes (buscarequisicion, imprequisiciones, funciones_ip) y formularios ipfmmt003/ipfmmt020 en el proyecto
- Agregar usuarioSistema a seg000.4gl
- Ampliar combos Codigo Mov/Bodega/Bodega Destino en ipfmmt020.4fd (texto ilegible)
- Refrescar lista de requisiciones al anular (buscarData + clear del arreglo)
- Corrige selectOutput()/seleccionarSalida()/configureOutput() en
defecto.4gl para usar la API real fgl_report_* (Report Writer 2.0),
reemplazando los stubs previos. Reutiliza el formulario Configuration
ya existente en el proyecto (FUNCIONESREPORT)
- inprrp011: quita el START REPORT forzado a XML roto (media migracion
abandonada), probado completo: filtros, totales/subtotales vs
produccion, exportacion PDF/Excel/Pantalla funcionando
- inprrp028: mismo patron, restaura Sietesalida) - No/matricial
como respaldo. Crea bin/inprrp028.4rp (diseno de reporte, no existia)
para la salida grafica; carga sin error de formato pero la
generacion no completa en este entorno - pendiente de revisar
rendimiento/recursos
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>