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>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
database smarmotech
|
||||
screen size 24 by 80
|
||||
screen size 24 by 80 title "Consulta Maestra de Productos"
|
||||
{
|
||||
|
||||
Producto Terminado [a ]-[b ]-[c ]-[d ] [a1 ]
|
||||
|
||||
@@ -11,6 +11,10 @@ GLOBALS "ipprgb000.4gl"
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT TO "smarmotech" USER usuarios USING clave
|
||||
SELECT * INTO p_companias.* FROM companias
|
||||
CALL ipprcs002()
|
||||
END MAIN
|
||||
@@ -55,6 +59,7 @@ LET SELEC =
|
||||
## Busca los registros con la condicion dada y verifica si el producto terminado
|
||||
## existe en el catalogo de bienes y servicios.
|
||||
|
||||
CALL prod.clear()
|
||||
LET idx = 1
|
||||
FOREACH accion INTO prod[idx].*,descrip1
|
||||
IF int_flag THEN
|
||||
|
||||
@@ -328,7 +328,7 @@ DEFINE prod11 DYNAMIC ARRAY OF RECORD
|
||||
fecha_ordenada DATE
|
||||
END RECORD
|
||||
|
||||
DEFINE prod ARRAY[200] OF RECORD
|
||||
DEFINE prod DYNAMIC ARRAY OF RECORD
|
||||
cod_n1 SMALLINT,
|
||||
cod_grupo1 SMALLINT,
|
||||
cod_tipo1 SMALLINT,
|
||||
|
||||
@@ -516,6 +516,7 @@
|
||||
<File filePath="ipdir/ipfmmt017.4fd"/>
|
||||
<File filePath="ipdir/ipfmwd008.per"/>
|
||||
<File filePath="ipdir/vefmwd002_ip.4fd"/>
|
||||
<File filePath="ipdir/ipfmcs002.per"/>
|
||||
</Library>
|
||||
<Library binaryName="FUNCIONES_IP" dependencies="-1026233879" id="1763548104" label="FUNCIONES_IP">
|
||||
<File filePath="ipdir/ipprgb000.4gl"/>
|
||||
@@ -530,6 +531,7 @@
|
||||
<File filePath="ipdir/ubicacionH.4gl"/>
|
||||
<File filePath="otrodir/LlenarUbicaciones.4gl"/>
|
||||
<File filePath="otrodir/categorias.4gl"/>
|
||||
<File filePath="otrodir/pantalla_ip.4gl"/>
|
||||
<File filePath="ipdir/ipactualizareqtrx.4gl"/>
|
||||
<File filePath="ipdir/loadDespiece.4gl"/>
|
||||
</Library>
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
GLOBALS "../ipdir/ipprgb000.4gl"
|
||||
|
||||
FUNCTION pantalla()
|
||||
DEFINE fecha CHAR(8),
|
||||
hora char(5),
|
||||
l SMALLINT
|
||||
SELECT UNIQUE a.* INTO p_companias.* FROM companias a
|
||||
LET fecha = today USING "dd/mm/yy"
|
||||
LET hora = time
|
||||
LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
DISPLAY p_companias.nombre CLIPPED AT 4,l ATTRIBUTE (REVERSE,BLUE)
|
||||
DISPLAY fecha AT 4,70 ATTRIBUTE (BLUE)
|
||||
DISPLAY "Sistema Inventario de Productos" AT 5,25
|
||||
DISPLAY hora AT 6,73 ATTRIBUTE(BLUE)
|
||||
|
||||
CALL fgl_drawbox(5,79,3,1)
|
||||
CALL fgl_drawbox(1,79,22,1)
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user