Commit Graph
41 Commits
Author SHA1 Message Date
jpegueroandClaude Sonnet 5 d4eb103454 Registrar y corregir ipprcs002 (Consulta Maestra de Productos)
- 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>
2026-09-14 15:03:03 -04:00
jpegueroandClaude Sonnet 5 bb9d9a05a1 Corregir ipprmt017: columnas sin titulo, toolbar incompleto y checkbox Elimina
- 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>
2026-09-11 17:00:17 -04:00
jpegueroandClaude Sonnet 5 866778edfe Avanzar en registro y correccion de ipprmt017 (Precio por Cliente)
- 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>
2026-09-11 13:23:21 -04:00
jpegueroandClaude Sonnet 5 4ce1e7a03d Registrar y corregir ipprmt014 (Administracion Medidas)
- 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>
2026-09-11 12:28:56 -04:00
jpeguero f163516115 Merge branch 'main' of https://git.fulldetord.com/jsoto/mbs 2026-09-11 11:55:22 -04:00
jpegueroandClaude Sonnet 5 1ed4e0e691 Corregir ipprmt010: campos de usuario/fecha/estado enlazados a tabla equivocada
- 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>
2026-09-11 11:48:59 -04:00
jpegueroandClaude Sonnet 5 189c582eee Registrar formulario ipfmmt010.per para ipprmt010 (Tipos de Productos)
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>
2026-09-11 11:38:45 -04:00
jpegueroandClaude Sonnet 5 ecdd770632 Registrar formulario ipfmmt012.per para ipprmt012 (Administracion Grupos)
Probado completo: alta, consulta-modificacion y eliminacion - todo
funciona correctamente.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-11 10:29:39 -04:00
jpegueroandClaude Sonnet 5 7915a27efe Agregar mapeo de conexion marmotech -> EXTERIOR en fglprofile
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>
2026-09-11 10:05:22 -04:00
jpeguero 972f2f1f47 Registrar formularios y funciones faltantes para ipprmt005 y ipprmt013
- 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.
2026-09-10 16:52:45 -04:00
jpeguero d43f2729bd Registrar y corregir ipprmt013 (Costos Estandares Producto Terminado)
- 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)
2026-09-10 16:42:48 -04:00
jpeguero 987c2c1122 Avanzar en registro y correccion de ipprmt044 (Productos Terminados)
- 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
2026-09-10 14:15:49 -04:00
jpeguero e414e52523 Registrar y corregir ipprmt021 (Autorizaciones Requisiciones Almacenes)
- 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
2026-09-10 13:03:01 -04:00
jpeguero a3e88776a9 Registrar y corregir ipprmt020 (Requisiciones Productos Almacenes)
- 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)
2026-09-09 16:30:34 -04:00
jpeguero 9e70c46451 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-09-05 12:03:31 -04:00
jpegueroandClaude Sonnet 5 adf5224440 Agrega ipprmt003 (Productos Terminados) y actualiza esquema de BD
- 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>
2026-09-05 12:03:13 -04:00
jpegueroandClaude Sonnet 5 367f0c4340 Agrega los 34 programas de Productos Terminados al proyecto
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>
2026-09-04 09:39:19 -04:00
jpeguero 43aa1c809d Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-09-04 09:31:18 -04:00
jpegueroandClaude Sonnet 5 b6085d4140 Mueve ipdir (Productos Terminados) de PROYECTOS a PROYECTO
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>
2026-09-04 09:29:01 -04:00
jpegueroandClaude Sonnet 5 4532d51e4b Prueba inprrp011 (completo) e inprrp028 (matricial completo, PDF pendiente)
- 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>
2026-09-03 16:52:39 -04:00
jpegueroandClaude Sonnet 5 f140ab917e Agrega y corrige inprrp008, inprrp028, inprrp009 e inprrp011 (Materia Prima)
- 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>
2026-09-01 16:48:20 -04:00
jpeguero cda8053d90 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-08-31 16:46:34 -04:00
jpegueroandClaude Sonnet 5 7f789181cf Agrega inprrp003 e inprrp005 (reportes de Materia Prima) al proyecto
- 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>
2026-08-31 16:44:13 -04:00
jpegueroandClaude Sonnet 5 ea1493db43 Prueba y corrige inprcs006 (Movimiento Materia Prima)
- 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>
2026-08-30 12:21:46 -04:00
jpeguero 7b1b414629 Agrega formulario infmcs006 para inprcs006
Compilo correctamente; pendiente probar por caida del servidor
de base de datos (192.168.40.250).
2026-08-28 19:39:54 -04:00
jpeguero 0d17478789 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-08-28 19:22:35 -04:00
jpeguero 6f50812bb1 Completa Buscar Documentos en inprmt036 y agrega inprmt066
- 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.
2026-08-28 19:21:13 -04:00
jpeguero f230a3002d Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-08-28 15:06:25 -04:00
jpeguero 817720127e Merge remote-tracking branch 'origin/main' 2026-08-28 14:21:56 -04:00
jpeguero 69b4500eed Corrige inprmt046, agrega inprmt036 y arreglos de fecha/impresion
- 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.
2026-08-27 16:57:10 -04:00
jpeguero 7b6cb1e111 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-08-26 13:35:09 -04:00
jpeguero efdf8953dd Reorganiza MATERIA PRIMA a PROYECTO y avanza inprmt002/005/013/046
- 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).
2026-08-26 13:31:09 -04:00
jpeguero 4bb2df1630 Agrega los 13 programas de MATERIA PRIMA al proyecto
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.
2026-08-25 13:32:55 -04:00
jpeguero 8e9619ae77 Merge remote-tracking branch 'origin/main' 2026-08-25 12:27:20 -04:00
jpeguero 18cf673753 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS
# 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.
2026-08-25 12:26:42 -04:00
jpeguero 9ce99926e1 Corrige prprrp116 (reporte STATUS ORDENES PEDIDOS) y agrega modulo MATERIA PRIMA
- 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).
2026-08-25 12:21:24 -04:00
jpeguero fd01d27119 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-08-24 17:00:07 -04:00
jpeguero 68b73cfd54 Jeilyn Peguero: desbloquea y agrega programas de PRODUCCION 2026-08-24 16:56:59 -04:00
jpeguero 430eac694b Jeilyn Peguero: agrega LIQUIDACION y modulo PRODUCCION 2026-08-21 17:08:14 -04:00
jpeguero c2f3364ac2 Merge branch 'main' of http://192.168.40.251:3000/jsoto/MBS 2026-08-21 14:38:47 -04:00
jpeguero 85d573ee4c Jeilyn Peguero: registra programas de COSTOS y LIQUIDACION en el proyecto
- 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
2026-08-21 14:38:00 -04:00