Files
MBS/PROYECTO/indir/defecto.4gl
T
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

189 lines
4.5 KiB
Plaintext

FUNCTION msgrp000(tipo_papel)
DEFINE tipo_papel SMALLINT,
longitud CHAR(11),
linea_papel CHAR(50)
CASE
WHEN tipo_papel = 1
LET longitud = " 9 1/2 x 11"
WHEN tipo_papel = 2
LET longitud = "14 7/8 x 11"
END CASE
LET linea_papel = "Coloque papel ",longitud," en la impresora."
DISPLAY linea_papel
AT 15,14
DISPLAY "Asegurese de que la impresora este encendida."
AT 16,14
DISPLAY "<Esc> Ejecuta impresion <Delete> Cancela impresion"
AT 18,14
END FUNCTION
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
FUNCTION configureOutput(tipo_file)
DEFINE tipo_file CHAR(3)
-- La API fgl_report_* (Report Writer 2.0) no esta disponible en este
-- FGL 6.00.01. Esta salida (XML/XLS/PDF por handler) no esta soportada
-- en este entorno; usar r_output = 'MA' (impresion clasica) en su lugar.
RETURN NULL
END FUNCTION
FUNCTION selectOutput()
-- El formulario "Configuration" del Report Writer 2.0 no esta disponible
-- en este entorno (ver configureOutput). Se devuelve un valor fijo para
-- que el flujo de "Reporte Grafico" siga y falle de forma consistente
-- con la limitacion ya conocida; usar MATRICIAL en su lugar.
RETURN "PDF"
END FUNCTION
FUNCTION seleccionarSalida()
-- Mismo caso que selectOutput(): el formulario "Configuration" del
-- Report Writer 2.0 no esta disponible en este entorno; usar MATRICIAL.
RETURN "PDF"
END FUNCTION