Commit Graph
19 Commits
Author SHA1 Message Date
jpegueroandClaude Sonnet 5 d1b29437c9 Reescribir ipprrp010 (Operacion Movimientos Detallado): .4rp equivocado
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>
2026-09-29 12:22:25 -04:00
jpegueroandClaude Sonnet 5 ecf819671d Corregir ipprrp050 (Conteo Fisico) y actualizar meta-esquema de smarmotech
- 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>
2026-09-23 16:21:16 -04:00
jpegueroandClaude Sonnet 5 1ea7f53344 Corregir ipprrp002_1 (Catalogo Productos Con Costos): cierre colgado y titulo
- 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>
2026-09-23 12:10:43 -04:00
jpegueroandClaude Sonnet 5 c00ba4b920 Corregir ipprrp002 (Catalogo Productos Terminados) y registrar assets de ipprrp002_1/ipprrp052
- 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>
2026-09-22 12:58:06 -04:00
jpegueroandClaude Sonnet 5 1647848fec Corregir ipprcs042 (Hoja Vida Producto): form no registrado y crash de fecha
- 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>
2026-09-21 15:15:37 -04:00
jsoto c52fce4cb8 Merge branch 'main' of https://git.fulldetord.com/jsoto/mbs 2026-09-15 12:15:37 -04:00
jsoto 61195adc75 JSOTO Arreglo programa ipprmt005, quitando la conexion IFMX 2026-09-15 12:14:15 -04:00
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
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
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
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 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
jsoto 454973e269 Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md 2026-08-18 20:59:52 -04:00