Bloqueados: lqprrp009, prprmt006 e ipprmt044 (pendiente enlazar y probar)

lqprrp009 (Liquidacion Repuestos):
- Dependencia FUNCIONESREPORT (msgrp000, seleccionarsalida).
- defecto() copiada al programa (vive en indir/defecto.4gl junto con
  msgrp000 duplicado, importarla chocaba -6203); configureOutput ya la
  aporta msgrp000.
- Quita Convert(...,103) que llenaba variables DATE (fecha_inicial/final).
- Titulo de ventana "Liquidacion Repuestos".

prprmt006 (Orden Produccion):
- El programa usa prtb08[idx].cod_n_c... como arreglo, pero el global
  prtb08 es RECORD LIKE prtb00012.* y el arreglo arrprtb08 se quito de
  prprgb000.4gl el 24/08 (68b73cf): 52 errores "Subscripting cannot be
  applied". Se define arrprtb08 dentro del propio programa (mismos 7
  campos que el form prfmmt006 s_orden) y se renombran 54 referencias.
  Nadie mas usa arrprtb08, no hay choque con globales.

ipprmt044 (Transacciones Inventario):
- Faltaba la funcion fotos() de 12 parametros: existe en el respaldo
  PROYECTOS/otrodir/fotos.4gl (version de 2017) y la llamada del programa
  coincide exactamente. Se agrega a la aplicacion junto con el form
  ipfmwd015.4fd. Las llamadas de ipprcs004/_1 a fotos() estan comentadas,
  no se afectan. cc_avisadespacho es un procedimiento almacenado, no una
  funcion 4GL.

Los tres compilan con fglcomp (esquema smarmotech); falta enlazar y
probar cuando se active la licencia de Genero (FLM-51 vencida).

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-19 13:00:27 -04:00
co-authored by Claude Sonnet 5.5
parent fcaa47948b
commit 604f9339ed
4 changed files with 693 additions and 57 deletions
+148 -2
View File
@@ -81,6 +81,7 @@ END MAIN
OPEN FORM lqfmrp009 FROM "lqfmrp009"
DISPLAY FORM lqfmrp009
CALL ui.Window.getCurrent().setText("Liquidacion Repuestos")
DISPLAY "lqprrp009" AT 4,3
DISPLAY "Liquidacion Partes y Repuestos" AT 6,24
@@ -101,7 +102,7 @@ END MAIN
CALL msg(numero_msg)
NEXT FIELD m_mes
END IF
SELECT Convert(varchar(10),a.fecha_inicio,103),Convert(varchar(10),a.fecha_corte,103) INTO fecha_inicial,fecha_final
SELECT a.fecha_inicio,a.fecha_corte INTO fecha_inicial,fecha_final
FROM prdtable a WHERE a.mes = m_mes and a.ano = p_ano
DISPLAY BY NAME fecha_inicial,fecha_final ATTRIBUTE(BOLD)
@@ -730,7 +731,7 @@ FUNCTION entrada0271()
LET entra1 = entra
BEFORE FIELD fecha1
SELECT MAX (Convert(varchar(10),(a.fecha),103)) INTO p_fecha FROM cgtb00004 a
SELECT Convert(varchar(10),MAX(a.fecha),103) INTO p_fecha FROM cgtb00004 a
WHERE a.ref[1,5] = entra1 AND a.status_t IS NULL
LET fecha1 = p_fecha + 1
@@ -1038,3 +1039,148 @@ ON LAST ROW
PRINT COLUMN 1,comp_off,negrillas_off
SKIP 4 LINE
END REPORT
FUNCTION defecto(usuarios,clave,impresor)
DEFINE impresor,idx SMALLINT,
negrillas_on,
negrillas_off,
doble_on,
doble_off,
doce,
comp_on,
comp_off,
normal CHAR(6),
archivo CHAR(80),
lpnum INTEGER,
imprime CHAR(150),
prt RECORD
prtcodigo SMALLINT,
nombre VARCHAR(60),
lpprog VARCHAR(150),
lppipe VARCHAR(20),
puerto VARCHAR(80)
END RECORD,
usuarios,clave CHAR(80),copia CHAR(100)
SELECT a.codigo,a.nombre,a.lpprog,a.lppipe,a.puerto INTO prt.* FROM prttb00001 a
WHERE a.codigo = impresor
CASE
WHEN prt.prtcodigo = 1
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
WHEN prt.prtcodigo = 2 {Printer Central. Contabilidad}
LET doble_on = ASCII 001
LET doble_off = ASCII 002
LET negrillas_on = ASCII 027, ASCII 098
LET negrillas_off = ASCII 027, ASCII 099
LET comp_on = ASCII 031
LET comp_off = ASCII 029
LET doce = ASCII 030
LET normal = ASCII 029
EXIT CASE
WHEN impresor = 3
LET doble_on = ASCII 14
LET doble_off = ASCII 18
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 27,ASCII 77
LET normal = ASCII 27,ASCII 80
EXIT CASE
END CASE
# BUSCA EL NUMERO DE IMPRESION A SEGUIR
SELECT MAX(ult_imp) INTO lpnum
FROM prttb00002
IF lpnum IS NULL THEN
LET lpnum = 1
END IF
LET lpnum = lpnum + 1
LET archivo = FGL_GETENV("FGLSPOOL"),"\\",lpnum USING "<<<<<<<<<<"
LET imprime = prt.lpprog CLIPPED," ",archivo CLIPPED," ",
prt.lppipe," ",prt.puerto
LET copia = prt.lppipe," ",prt.puerto
{ UPDATE prttb00002 set ult_imp = lpnum + 1,
usuario = suser_sname()}
INSERT INTO prttb00002 (ult_imp,usuario)VALUES (lpnum,usuarios)
RETURN imprime,negrillas_on,negrillas_off,doble_on,doble_off,
comp_on,comp_off,doce,normal,archivo,copia
END FUNCTION