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
|
database smarmotech
|
||||||
screen size 24 by 80
|
screen size 24 by 80 title "Consulta Maestra de Productos"
|
||||||
{
|
{
|
||||||
|
|
||||||
Producto Terminado [a ]-[b ]-[c ]-[d ] [a1 ]
|
Producto Terminado [a ]-[b ]-[c ]-[d ] [a1 ]
|
||||||
|
|||||||
@@ -9,8 +9,12 @@ DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
|
|||||||
}
|
}
|
||||||
GLOBALS "ipprgb000.4gl"
|
GLOBALS "ipprgb000.4gl"
|
||||||
|
|
||||||
MAIN
|
MAIN
|
||||||
DEFER INTERRUPT
|
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
|
SELECT * INTO p_companias.* FROM companias
|
||||||
CALL ipprcs002()
|
CALL ipprcs002()
|
||||||
END MAIN
|
END MAIN
|
||||||
@@ -55,6 +59,7 @@ LET SELEC =
|
|||||||
## Busca los registros con la condicion dada y verifica si el producto terminado
|
## Busca los registros con la condicion dada y verifica si el producto terminado
|
||||||
## existe en el catalogo de bienes y servicios.
|
## existe en el catalogo de bienes y servicios.
|
||||||
|
|
||||||
|
CALL prod.clear()
|
||||||
LET idx = 1
|
LET idx = 1
|
||||||
FOREACH accion INTO prod[idx].*,descrip1
|
FOREACH accion INTO prod[idx].*,descrip1
|
||||||
IF int_flag THEN
|
IF int_flag THEN
|
||||||
|
|||||||
@@ -328,7 +328,7 @@ DEFINE prod11 DYNAMIC ARRAY OF RECORD
|
|||||||
fecha_ordenada DATE
|
fecha_ordenada DATE
|
||||||
END RECORD
|
END RECORD
|
||||||
|
|
||||||
DEFINE prod ARRAY[200] OF RECORD
|
DEFINE prod DYNAMIC ARRAY OF RECORD
|
||||||
cod_n1 SMALLINT,
|
cod_n1 SMALLINT,
|
||||||
cod_grupo1 SMALLINT,
|
cod_grupo1 SMALLINT,
|
||||||
cod_tipo1 SMALLINT,
|
cod_tipo1 SMALLINT,
|
||||||
|
|||||||
@@ -516,6 +516,7 @@
|
|||||||
<File filePath="ipdir/ipfmmt017.4fd"/>
|
<File filePath="ipdir/ipfmmt017.4fd"/>
|
||||||
<File filePath="ipdir/ipfmwd008.per"/>
|
<File filePath="ipdir/ipfmwd008.per"/>
|
||||||
<File filePath="ipdir/vefmwd002_ip.4fd"/>
|
<File filePath="ipdir/vefmwd002_ip.4fd"/>
|
||||||
|
<File filePath="ipdir/ipfmcs002.per"/>
|
||||||
</Library>
|
</Library>
|
||||||
<Library binaryName="FUNCIONES_IP" dependencies="-1026233879" id="1763548104" label="FUNCIONES_IP">
|
<Library binaryName="FUNCIONES_IP" dependencies="-1026233879" id="1763548104" label="FUNCIONES_IP">
|
||||||
<File filePath="ipdir/ipprgb000.4gl"/>
|
<File filePath="ipdir/ipprgb000.4gl"/>
|
||||||
@@ -530,6 +531,7 @@
|
|||||||
<File filePath="ipdir/ubicacionH.4gl"/>
|
<File filePath="ipdir/ubicacionH.4gl"/>
|
||||||
<File filePath="otrodir/LlenarUbicaciones.4gl"/>
|
<File filePath="otrodir/LlenarUbicaciones.4gl"/>
|
||||||
<File filePath="otrodir/categorias.4gl"/>
|
<File filePath="otrodir/categorias.4gl"/>
|
||||||
|
<File filePath="otrodir/pantalla_ip.4gl"/>
|
||||||
<File filePath="ipdir/ipactualizareqtrx.4gl"/>
|
<File filePath="ipdir/ipactualizareqtrx.4gl"/>
|
||||||
<File filePath="ipdir/loadDespiece.4gl"/>
|
<File filePath="ipdir/loadDespiece.4gl"/>
|
||||||
</Library>
|
</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