- 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>
- Registrar ipfmrp013.4fd en el proyecto (form not found al abrir).
- Agregar dependencia faltante FUNCIONESREPORT (msgrp000,
seleccionarSalida), no linkeaba.
- Agregar titulo a la ventana (usaba el generico "screen").
El .4rp ya existia en el repo y no necesito cambios. Pendiente probar
funcionalmente (filtros/fechas, totales, exportar) - queda para la
proxima sesion.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
otrodir/selectoutput_simple.4gl definia FUNCTION selectOutput(), mismo
nombre que otrodir/vesalidaimpresora.4gl (ya usado por Abel en
noprcs006, ipprrp002, ipprrp003, ipprrp039, ipprrp044). Al mezclar
ambos commits, cualquier programa que dependiera de FUNCIONESREPORT
mas la libreria de Abel rompia por simbolo duplicado.
Se renombra la funcion (y se actualizan sus 4 unicos llamados: ipprrp005,
ipprrp009, ipprrp035, ipprrp036) sin tocar vesalidaimpresora.4gl, para
no afectar los programas que Abel ya tiene funcionando con esa version.
Recompilados y verificados los 4 programas tras el cambio.
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>
La regeneracion via 'Update Meta-schema' del commit anterior perdio 239
tablas que si existian en el esquema anterior (algunas reales, como
departamentos y dgii_rnc, no solo staging temporal), probablemente por
la opcion 'Ignore errors' de la extraccion o por permisos/timeout contra
la base real. Riesgo de romper la compilacion de otros programas del
equipo sin necesidad, y de todas formas no resolvio el bloqueo de
ipprrp052 (columna iptb00002.categoria). Se revierte para no arriesgar
el trabajo de otros mientras se investiga la causa real con Johnny.
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>
- ipprrp002_1.4gl: envolver el flujo de captura/reporte en un WHILE,
mismo bug que ipprrp002 (el programa quedaba colgado tras generar el
reporte y habia que forzar el cierre; ahora Cancelar cierra limpio y
se puede volver a buscar sin cerrar el programa).
- ipfmrp002_1.4fd: agregar texto al <Form> ("CATALOGO PRODUCTOS CON
COSTOS"), la ventana no tenia titulo y mostraba "screen" por defecto.
Verificado con producto 29-668-1403-6952 (1 pagina, existencia 360.00,
costo 3,512.42, precio 7,379.02, coincide con la BD) y con el catalogo
completo sin filtro (mismo volumen que ipprrp002, generacion correcta
aunque lenta por las consultas adicionales que hace por fila).
Nota aparte (sin corregir): los campos "Origen" y "Lista Precios" en
pantalla no estan en el INPUT BY NAME ni se usan en el query (que trae
siempre ventas='1' y cod_lista=1 hardcodeados) - no seleccionables,
funcionalidad a medio conectar igual que "Anio" en ipprcs042.
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>
ipfmrp002.4fd e ipfmrp002_1.4fd existian en el repo pero nunca se habian
agregado a mbsERP.4pw, mismo patron visto en ipprcs004_1/ipprcs042.
Pendiente aparte: los reportes ipprrp002.4rp e ipprrp002_2.4rp (usados
por fgl_report_loadCurrentSettings) no existen en el repo ni en su
historial, el programa no puede completar la generacion del reporte
hasta que se consigan o se rehagan en Report Studio. Consultado con
Johnny, sin respuesta aun.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmcs042.4fd en el proyecto, no estaba agregado a mbsERP.4pw
y el runtime daba "Form file not found" al abrir el programa.
- Quitar CONVERT(CHAR(10),b.fech_oc,103) en la busqueda de ordenes de
compra a proveedores, causaba "Invalid month in date" (-1205) igual
que en mercancia_transito.4gl/funciones_ip.4gl.
Verificado con producto 1-119-2-56 (272 ordenes de compra 2008-2026):
grilla de proveedores, inventarios y precios cargan correctamente.
Nota aparte (sin corregir): los campos "Almacen" y "Rank" del formulario
existen mas nunca se usan en el codigo, no filtran nada.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- mercancia_transito.4gl y funciones_ip.4gl: quitar CONVERT(...,103) al
traer fechas de SQL Server, causaba "Invalid month in date" (-1205) en
ambiente de pruebas por ambiguedad de formato dd/mm/yyyy vs mm/dd/yyyy.
- ipprcs004_1: agregar dependencia faltante FUNCIONES_PR (no linkeaba,
llamaba mercancia_transito/fechas_llegadas sin tener el modulo).
- Registrar en el proyecto tres formularios que existian en el repo pero
nunca se agregaron a mbsERP.4pw (ipfmwd017.4fd, almacenes.4fd,
cofmfu009.4fd), causaban "Form file not found" en los botones
Ordenes/Almacenes/Fecha Llegada.
Verificado botón por botón contra produccion (Genero 3.20, .40.8) con el
mismo codigo de producto: Foto, Ordenes, Reservados, Ubicacion, Almacenes
y Reporte (PDF/pantalla/Excel) dan resultados consistentes.
Pendiente aparte: el patron CONVERT(...,103) aparece en ~132 archivos del
proyecto, riesgo sistemico a evaluar por separado.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmcs004.4fd, coloca_ubicacion.4fd, ipfmcs004b.per e
ipfmcs004_1.4fd (faltaban)
- Crear libreria UBICACIONDH_IP para ubicacionDH.4gl (funcion
InsertaUbicacionDH), separada de FUNCIONES_IP porque su otra funcion
buscardata() choca con la ya existente en ipprmt020.4gl
- Agregar dependencia de FUNCIONESREPORT a ipprcs004 (para
seleccionarSalida, ya registrada ahi para ipprmt044)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Probado: filtros de busqueda (producto, bodega, rango de fechas) con
opcion "Actual" - resultados correctos comparados contra la BD.
Opcion "Historico" (consulta base separada historicomtech) confirmada
como bug preexistente: falla con "Invalid column name num_oc" tanto en
el ambiente de pruebas (se restauro un backup fresco de produccion del
40.8 para poder probar) como en produccion Genero 3.20 - la tabla
historicomtech.dbo.iptb00006 nunca tuvo la columna num_oc que si tiene
la tabla en vivo. No es un bug de la migracion, no se toca.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar formulario ipfmcs002.per (faltaba)
- Extraer la funcion pantalla() de ipmn00000.4gl (programa de menu con su
propio MAIN) a un archivo compartido nuevo (otrodir/pantalla_ip.4gl)
para poder reutilizarla sin conflicto de MAIN duplicado
- Bug corregido: el programa nunca tenia CONNECT TO, dependia de heredar
una conexion de otro programa que nunca lo invoca en este contexto de
prueba - se agrego ARG_VAL + CONNECT TO "smarmotech" como en el resto
de los programas
- Bug corregido: el arreglo global "prod" (usado solo por este programa)
era de tamaño fijo ARRAY[200], causaba error -1326 con mas de 200
resultados - convertido a DYNAMIC ARRAY, y se agrego prod.clear() antes
de repoblarlo
- Agregado titulo a la ventana (usaba "screen size" clasico sin TITLE)
Pendiente de decision de Johnny: la pantalla no exige ningun filtro de
busqueda y hace una consulta SQL adicional por cada producto encontrado
(calculo de existencia) - sin filtro intenta traer todo el catalogo y
tarda mas de una hora antes de fallar. Se probo exitosamente usando
siempre un codigo de producto completo (clase-grupo-tipo-secuencia).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Agregar titulo a columnas Unidad y Moneda, ocultar campo interno idrow
- Agregar a ToolBar1 los botones Busca Informacion, Limpia Screen,
Conversion Moneda y Cancela operacion (estaban definidos como
ActionDefault pero nunca agregados a la barra, por eso no se veian)
- Capturar el idrow generado al insertar un precio nuevo (antes quedaba
NULL en memoria, rompiendo el eliminar de esa misma fila en la misma
sesion)
- Corregir el checkbox "Elimina": el clic con mouse marcaba la casilla
visualmente pero no actualizaba el valor real hasta perder el foco con
Tab (bug de renderizado de GST). Se cambio el trigger de AFTER FIELD a
ON CHANGE, que si sincroniza el valor de inmediato con clic de mouse
Pendiente: falta la prueba final completa del flujo eliminar en
ipprmt017 (se hizo hasta confirmar que ON CHANGE captura el valor
correctamente, falta probar el guardado + verificacion en BD)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmmt017.4fd e ipfmwd008.per (faltaban)
- Corregir esquema viejo "marmotech" -> "smarmotech" en ipfmwd008.per
- Copiar vefmwd002.4fd a ipdir (renombrado vefmwd002_ip.4fd) para evitar
depender de la libreria FORMULARIOS_PR (de Compras), que tiene errores
propios sin relacion (prfmmt006.4fd con columna inexistente,
prfmwd014.per con problema estructural) que bloqueaban la compilacion
- Corregir 3 columnas de la lista de precios sin titulo (idrow, unidadmed,
moneda): idrow se oculta (es un campo interno), unidadmed y moneda
reciben titulo visible
Pendiente: falta recompilar y probar el flujo completo (alta, consulta,
eliminacion) de ipprmt017.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar formulario ipfmmt014.per (faltaba)
- Corregir refresco de pantalla al eliminar (no mostraba estado 'E' hasta
volver a consultar), confirmado por Johnny que debe verse al instante
- Agregar validacion para no permitir eliminar un registro ya eliminado
(mostraba "REGISTRO ELIMINADO" de nuevo sin avisar)
Nota: el aviso de "ya eliminado" no sale centrado en pantalla - limitacion
del cliente grafico de Genero para dialogos lanzados desde pantallas tipo
MENU clasico (no aplica en pantallas DIALOG modernas). Aceptado por la
usuaria, no es bloqueante.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- El formulario ipfmmt010.per tenia los campos Usuario Creador/Modificador,
Fecha Creacion/Modificacion y el indicador de estado enlazados a
iptb00020 (tabla de Grupos, ajena a este programa) en vez de iptb00024
(Tipos de Productos) - copiado por error del formulario de otro programa
- La consulta en ipprmt010.4gl tampoco seleccionaba esas columnas
- Al eliminar, el registro en memoria y la pantalla no se actualizaban con
el nuevo estado, solo la base de datos
Confirmado por Johnny que el estado 'E' debe reflejarse en pantalla al
eliminar.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Probado completo: alta, consulta-modificacion y eliminacion (confirmado
en BD que status_t queda en 'E') - todo funciona correctamente.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Autorizado por Johnny Soto: crear DSN ODBC apuntando a la base EXTERIOR
para la segunda conexion legada de Informix usada en ipprmt064/ipprmt005.
Investigacion: la conexion aislada a EXTERIOR funciona correctamente,
pero abrir esta segunda conexion junto con la conexion activa a
smarmotech falla con error -6366 "Changed database context" del driver
dbmsnc de Genero. Se descarto: colision de nombre de DSN, pooling de
conexiones ODBC, y version del driver (probados ODBC Driver 18 y el
driver "SQL Server" legado) - mismo resultado en todos los casos.
Parece ser una limitacion del driver de Genero al manejar dos conexiones
simultaneas al mismo servidor SQL Server. Escalado a Johnny para abrir
caso con soporte de Four Js.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar ipfmmt019.4fd (formulario real que usa ipprmt005.4gl)
- Migrar categorias.4gl desde PROYECTOS y registrarlo (usaba
formonly.cod_cat, coincide con ipprmt005; la copia existente en
PUNTO VENTAS VER2 usaba un nombre de campo distinto)
Pendiente: ipprmt005 (como ipprmt064) requiere una segunda conexion a una
base "marmotech" (alias IFMX) no mapeada en el ambiente, resto de la
epoca Informix. Consultado con Johnny como patron general.
- Registrar formulario ipfmmt013.4fd en el proyecto (faltaba)
- Corregir databaseName del formulario (marmotech -> smarmotech, esquema
viejo que impedia resolver la tabla iptb00004)
- Agregar titulo de ventana (formulario no tenia atributo text, mostraba
"screen" generico)
- 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 estadosprocesos.4gl y formulario ipfmmt021.4fd en el proyecto
- Corregir columna estado_proceso inexistente por idestado (error SQL -6372)
- Corregir desfase de columnas en SELECT/INTO de buscadoc() que dejaba
usuario, bodega origen y tipo de movimiento vacios en el reporte impreso,
y filtraba la descripcion del estado hacia el campo de observacion
- 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)
- Registra formulario ipfmmt003 en FORMULARIOS_IP con dependencia a
Database
- Corrige dos bugs reales en ipprmt003.4gl: campo
control_ubicacion_almacen duplicado en INPUT BY NAME (error -8090),
y columnas control_produccion/control_ubicacion_almacen duplicadas
en el INSERT INTO (error SQL -6372). Probado completo: alta,
consulta, eliminacion, validacion de duplicados
- Actualiza DATABASE/smarmotech.4db con el esquema actual de SQL
Server (agrega columnas nuevas de iptb00002 y otras tablas)
- ipprmt002 queda pendiente: 5 columnas de iptb00002 no son
reconocidas por el compilador pese a existir en la BD real,
requiere revision en vivo con Johnny
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Registra las Applications de Productos Terminados (ipprmt/ipprcs/ipprrp)
con dependencias a FUNCIONES_IP, Database y FUNCIONES, y agrega
ipprgb000.4gl como archivo compartido de FUNCIONES_IP. Listo para
compilar/probar programa por programa, igual que se hizo con Materia
Prima.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Instruccion de Johnny: todos los directorios de fuentes de inventario
deben migrarse de la carpeta temporal PROYECTOS a la carpeta real
PROYECTO, ya que PROYECTOS sera eliminada.
Se elimino tambien un archivo suelto sin relacion llamado "ipdir"
que existia en PROYECTO (del commit inicial) y bloqueaba el nombre
de la carpeta.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- 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>
- inprrp008: agrega CONNECT faltante en MAIN, corrige ruta de impresion
hardcodeada (C:\archivo -> FGLSPOOL) y comando RUN sin comillas,
reconstruye infmrp008 como .4fd (el campo Ordenamiento se compilaba
como checkbox en vez de texto)
- inprrp028: restaura la rama matricial (Si/No Reporte Grafico) que
habia quedado comentada, dejando el programa forzado a la via XML
rota; agrega funcion compartida seleccionarSalida() a defecto.4gl
- inprrp009: agrega notNull al combo de Bodega para quitar los items
<blank>/<not blank>, agrega titulo a la ventana
- Registra formularios infmrp008, infmrp028 e infmrp011 en el proyecto
- Todos probados: corren completos sin error de FGL (Exit code: 0) via
matricial; la salida grafica/PDF sigue siendo la limitacion conocida
de entorno (Report Writer 2.0 no disponible)
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registra formularios infmrp003.per e infmrp005.per en FORMULARIOS_IN
- Agrega funciones compartidas msgrp000() y selectOutput() a defecto.4gl
(selectOutput como stub, mismo limite conocido de Report Writer 2.0
que configureOutput)
- inprrp003 probado: reporte de movimientos corre completo sin error
de FGL (impresion fisica no disponible en entorno de desarrollo)
- inprrp005 pendiente: error SQL -1262 "Non-numeric character in
datetime" al filtrar por Fecha del Dia, en investigacion
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Proyecto ahora referencia infmcs006.4fd en vez de .per (el .per
clasico no puede declarar las columnas del Tree de filas hijas)
- Corrige conflicto de campo "bodega" entre INPUT y CONSTRUCT dentro
del mismo DIALOG (error -8090), moviendo la busqueda a ON ACTION
- Corrige binding de ComboBox Bodega y campo mensaje_ini (faltaba
colName/sqlTabName, causaba Null pointer exception)
- Agrega titulo "MOVIMIENTO MATERIA PRIMA" y ensancha combo de bodega
- Corrige tabIndex del combo de bodega para navegacion con teclado
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- inprfu000.4gl: corrige reimprime()/busca_info() para que branchen
correctamente segun el programa llamante (inprmt046 vs otros).
Antes usaban siempre las variables de inprmt046 (otros_mov),
causando errores en inprmt036. Se activa y corrige la logica que
estaba comentada para el caso generico (Johnny autorizo completarla,
confirmado que tampoco funcionaba en produccion).
- inprmt066 (Anular Documentos): agrega formulario faltante y el
campo Bodega (combo) que no existia. Ensancha el combo para
legibilidad. Probado: anulacion de documento real, funciona.
- inprmt046: agrega columnas Maquina/Clasf.Bloque faltantes en la
tabla, ensancha combos para legibilidad, corrige formato de fecha
(CONVERT 103 requiere DBDATE=DMY4/ configurado). Saca la funcion
maquinaria() de un archivo local a una compartida (maquinaria.4gl)
para evitar duplicado.
- inprmt036 (Requisicion de Materiales): agrega formulario, campo
Impresion (MATRICIAL/PDF), corrige nombre_d y agrega columna
Existencia faltante en la tabla.
- Agrega funcion compartida configureOutput (stub, Report Writer 2.0
no disponible en FGL 6.00.01).
- Requiere variables de entorno DBDATE=DMY4/ y FGLSPOOL (carpeta
PROYECTO/spool) al abrir Genero Studio para reportes/fechas.
- Mueve todo el contenido de PROYECTOS/indir y varias funciones
compartidas de PROYECTOS/otrodir hacia PROYECTO, siguiendo
instruccion de Johnny (PROYECTOS se va a eliminar).
- inprmt002: agrega campo Desglose faltante, corrige typo "eLiminar".
- inprmt005: agrega formulario y 3 campos faltantes (Consumo,
Requiere Autorizacion, Requisiciones), corrige typo "eLiminar".
- inprmt013: agrega formulario, titulo, corrige typo "eLiminar".
- inprmt046: agrega formulario y varias funciones/dependencias
faltantes (cincodmov, clasf_bloque, medidas, defecto,
buscaEmp, consultaTransportista, busca_departamento);
corrige nombres de campo desalineados con el codigo
(depto_a, bodega) y los convierte a ComboBox donde el
codigo lo requiere.
- Corrige dependencia faltante de FORMULARIOS_IN a la libreria
Database (bloqueaba todo el modulo de MATERIA PRIMA).
Todos quedan bloqueados por un error de diccionario de base de datos
(Can not open Database dictionary 'smarmotech' / tabla no encontrada
entre las especificadas), confirmado en inprmt002 e inprmt005 pese a
actualizar el diccionario (Update from database). Reportado a Johnny.
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
- prprrp116: agrega form faltante, corrige encabezado del reporte
(p_compania.nombre), evita crash cuando no hay registros, agrega
opcion EXCEL en Visualizacion, quita filtros <blank>/<not blank>
del combo Status Orden.
- prprcs001: corrige CONSTRUCT con columna inexistente (fecha_oc).
- prprmt022: quita filtros <blank>/<not blank> del combo Estado.
- Agrega los 13 programas de MATERIA PRIMA al proyecto (mbsERP.4pw).
- Agrega ctprmt001, ctprrp004, ctprrp014 al grupo COSTOS
- Agrega lqprmt001, lqprmt002 al grupo LIQUIDACION (usa busca_liquidacion.4gl)
- Regenera ctfmmt001.4fd desde el .per para incluir la tabla s_semi