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 " Ejecuta impresion 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) IF NOT fgl_report_loadCurrentSettings(NULL) THEN RETURN NULL END IF CALL fgl_report_setPageMargins("0.5cm", "0.5cm", "0.5cm", "0.5cm") CALL fgl_report_configureCompatibilityOutput(160,"Monospaced",NULL,NULL,NULL,NULL) CALL fgl_report_selectDevice(tipo_file) CALL fgl_report_configurexlsxdevice(NULL, NULL, NULL, FALSE, FALSE, NULL, 1) CALL fgl_report_selectPreview(TRUE) RETURN fgl_report_commitCurrentSettings() RETURN NULL END FUNCTION FUNCTION selectOutput() DEFINE r_output STRING, r_action STRING, preview INTEGER OPTIONS INPUT WRAP OPEN WINDOW f_configuration WITH FORM "Configuration" LET INT_FLAG=FALSE LET preview = FALSE INPUT BY NAME r_output ON ACTION CANCEL EXIT PROGRAM ON ACTION CLOSE EXIT PROGRAM END INPUT CLOSE WINDOW f_configuration CALL ui.interface.refresh() IF r_action IS NOT NULL THEN IF r_action == "preview" THEN LET preview = TRUE END IF END IF RETURN r_output END FUNCTION FUNCTION seleccionarSalida() RETURN selectOutput() END FUNCTION