- Registrar noprmt001 en mbsERP.4pw (usa cofmmt001... nofmmt001.4fd,
el .per carece del grid smovimientos y los campos modifica/vacaciones)
- Reemplazar smarmotech.sch/.42d de nodir por la copia canonica ya
generada en MBS/DATABASE (orden de columnas correcto, incluye
telefonoCorporativo/numeroOficina/extension) en vez de regenerar
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar noprmt003 en mbsERP.4pw (FUNCIONES_NO: noprfu000.4gl,
nocarnet.4gl; FORMULARIOS_NO: nofmmt003.4fd); reutiliza
otrodir/departamentos.4gl ya presente en FUNCIONES
- Actualizar el diccionario de esquema smarmotech.sch: faltaban las
columnas telefonoCorporativo/numeroOficina/extension de adtb00003
(existen en la BD real pero no estaban en el diccionario, .42d se
regenera solo al recompilar); propagado a todos los directorios
- Desactivar el CONNECT TO "marmotech" AS "IFMX" (Informix ya no
existe, todo migro a SQL Server) y el INSERT duplicado hacia esa
conexion en el alta de empleados; sin esto el programa se colgaba
al iniciar
- Quitar CONVERT(...,103) de fechas en el SELECT/FETCH de empleados:
se convertian a texto dd/mm/yyyy y luego se reasignaban a variables
DATE, causando "-1205 Invalid month in date" con dias > 12
- Agregar BEFORE CONSTRUCT/END CONSTRUCT para poblar el combo de
Departamento en la busqueda (faltaba, quedaba vacio)
- Corregir foto de empleado que no se limpiaba al navegar
Siguiente/Anterior hacia un empleado sin foto
- nocarnet.4gl: sustituir fgl_report_* (API no disponible) por
om.XmlWriter.createFileWriter() hacia FGLSPOOL
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar noprmt002 en mbsERP.4pw junto con noprgb000.4gl
(FUNCIONES_NO), nofmmt002.per/nofmwd001.per (FORMULARIOS_NO) y
adfmwd004.per (FORMULARIOS_AD, compartido con ADMINISTRACION)
- Copiar el diccionario de esquema smarmotech.sch a nodir/addir
(faltaba, igual que en otros directorios ya corregidos)
- Corregir typo "database marmotech" -> "smarmotech" en nofmwd001.per
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar coprrp007 en mbsERP.4pw, usando cofmrp007.4fd (el .per
no define el combo de departamento que requiere busca_departamento())
- Enlazar la libreria FUNCIONES_IN (ya contiene departamento.4gl) en
vez de duplicar el archivo, evitando conflicto de salida .42m
- Agregar guarda NULL en departamento.4gl: ui.combobox.forname()
puede no encontrar el combo durante el CONSTRUCT y causaba
"Null pointer exception" al llamar .clear()
- Sustituir seleccionarsalida()/configureoutput() (no definidas,
API fgl_report_* no disponible) por om.XmlWriter.createFileWriter()
hacia FGLSPOOL
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>
- Registrar coprrp019 en mbsERP.4pw
- Agregar CONNECT TO/ARG_VAL faltante en MAIN (el programa hacia
consultas SQL sin haberse conectado nunca a la base de datos)
- Sustituir seleccionarsalida()/configureoutput() (no definidas,
API fgl_report_* no disponible) por om.XmlWriter.createFileWriter()
hacia FGLSPOOL
- Corregir typo "database marmotech" -> "database smarmotech" en
cofmrp019.per
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.
El Application node de coprmt009 no tenia la variable de entorno
FGLSPOOL configurada (a diferencia de coprrp001/coprrp004/coprmt025).
FGL_GETENV("FGLSPOOL") devolvia NULL, el handler de XmlWriter en
orden() (coprorden.4gl) nunca se creaba, y "Imprime" fallaba
silenciosamente sin generar el reporte ni mostrar error.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar coprrp004 (usando cofmrp004.4fd, el .per carece del
campo estado) en mbsERP.4pw
- Sustituir seleccionarsalida()/configureoutput() (no definidas en
este programa, misma API fgl_report_* no disponible) por
om.XmlWriter.createFileWriter() hacia FGLSPOOL
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
El CONSTRUCT del criterio de busqueda y un DISPLAY BY NAME en escoge()
referenciaban cotb00014.bodega/ordenes.bodega, que no existe como campo
visible en cofmmt009 (combo oculto, ya excluido en el INPUT BY NAME de
copcad009). Causaba "FORMS statement error -1102: Field (bodega) not
found in form" al usar Buscar Ordenes de Compras.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Registrar coprrp001/cofmrp001 en mbsERP.4pw
- Sustituir API fgl_report_* no disponible por XmlWriter en coprrp001.4gl
- Ampliar cs_ordena.codigo a CHAR(20) en coprgb000.4gl
- Corregir mascaras PICTURE de codigo en coprcs009.4gl
- Ampliar campo c1 en cofmcs009.per para igualar el ancho de codigo
- Corregir typo de base de datos en cofmwd016.per
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- 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.
- coprmt010 (Paises): corregir condicion invertida en "Escoger" que
bloqueaba editar registros activos y solo permitia editar los ya
eliminados (status_t != "E" -> = "E").
- coprmt016 (Terminos de Pago): usar el formulario .4fd (el .per no tenia
el grid "Tabla" que el codigo espera); agregar columna "dias" faltante
al INSERT (la tabla real tiene 9 columnas, el INSERT solo daba 8 valores
sin lista de columnas explicita).
- coprmt025 (Requisicion Compras): agregar funciones faltantes
(busca_departamento2 en depto.4gl, enviaemail en FUNCIONESEMAIL);
sincronizar el RECORD "data" y la aridad de RETURNING de ApiMaintainC
con el fix de api_test.4gl; reemplazar fgl_report_* (no disponible) por
om.XmlWriter en las 3 rutas de impresion.
- coprmt015 y coprcs005: sin cambios de codigo, solo registro en el
proyecto.
- mbsERP.4pw: registrar los 5 programas; investigar/configurar Java para
coprmt025 (FGLJVMPATH/JAVA_HOME/CLASSPATH apuntando a un JRE Temurin
8u504 local). Pendiente: el puente Java de esta instalacion de Genero
sigue fallando ("Can not create java VM") incluso con el ejemplo oficial
de FGL: parece un problema de la instalacion misma, no de version de
Java. Se sugirio reparar via MsiExec /f {3B1E10F3-FBCC-4737-8BDF-284359029D70}
(Four Js Genero BDL with Web Services 6.00.02), pendiente de ejecutar.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- 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).
- coprmt001 (Suplidores): agregar campos faltantes (tipo_doc,rnc,cuenta_no)
al RECORD interno de ApiMaintainC() en api_test.4gl, y unificar la
aridad de RETURNING en las 3 llamadas (POST/PATCH/DELETE) - el
enlazador exige el mismo numero de valores de retorno en todo el modulo.
- coprmt009 (Ordenes de Compra): reemplazar fgl_report_loadCurrentSettings/
selectDevice/selectPreview/commitCurrentSettings (no disponibles en este
FGL) por om.XmlWriter.createFileWriter en coprorden.4gl; agregar
verificacion defensiva en lugarentrega.4gl (ui.combobox.forname puede
devolver NULL si el formulario actual no tiene el combo "bodega"); quitar
"ordenes.bodega" de los INPUT BY NAME (campo oculto, no se puede enlazar).
Pendiente: probar el flujo completo de creacion de orden (se corto por
una caida de conexion transitoria durante la prueba).
- coprmt016 (Terminos de Pago): CRUD simple, sin cambios de codigo.
- mbsERP.4pw: crear modulo COMPRAS (estaba vacio) con librerias
FUNCIONES_CO y FORMULARIOS_CO, y registrar los 3 programas.
- otrodir/smarmotech.sch: diccionario de esquema completo (antes faltaba
en este directorio, causaba fallos de link en api_test.4gl).
- .gitignore: excluir logs de STARTLOG() (bin/*.TXT) y archivos .err de
compilacion.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
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).
- cpprrp011: agregar INTO explicito a SELECT de validacion de referencia
duplicada, y lineas de diagnostico temporales (pendiente: el campo ref
sigue llegando NULL al INSERT en cgtb00004, falta investigar mas).
- cpprrp017: agregar bloque MAIN faltante, quitar CALL PANTALLA() redundante,
cambiar rutas hardcodeadas C:\archivo y %USPRINT% (sin permisos/no
definida) por FGLSPOOL, y reemplazar a.rowid (pseudo-columna de Informix
inexistente en SQL Server) por ROW_NUMBER() OVER(...).
- cpfmrp017.per: corregir typo "database marmotech" -> "database smarmotech"
que rompia la resolucion del esquema.
- mbsERP.4pw: registrar cpprrp011 y cpprrp017 con sus dependencias y
configuracion de prueba.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>