Instruccion de Johnny: todos los directorios de fuentes de inventario deben migrarse de la carpeta temporal PROYECTOS a la carpeta real PROYECTO, ya que PROYECTOS sera eliminada. Se elimino tambien un archivo suelto sin relacion llamado "ipdir" que existia en PROYECTO (del commit inicial) y bloqueaba el nombre de la carpeta. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
462 lines
8.8 KiB
Plaintext
462 lines
8.8 KiB
Plaintext
{
|
|
Esta funcion se utiliza para desplegar mensajes de los reportes de
|
|
los sistemas de Ray-O-Vac Dominicana.
|
|
|
|
Realizada por JUAN SOTO
|
|
FECHA : 13/7/2009
|
|
}
|
|
|
|
SCHEMA smarmotech
|
|
|
|
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 busca_printer(usuarios,clave)
|
|
|
|
|
|
|
|
DEFINE pcurr,impresor,idx SMALLINT,
|
|
|
|
negrillas_on,
|
|
|
|
negrillas_off,
|
|
|
|
doble_on,
|
|
|
|
doble_off,
|
|
|
|
doce,
|
|
|
|
comp_on,
|
|
|
|
comp_off,
|
|
|
|
normal CHAR(6),
|
|
|
|
archivo CHAR(80),
|
|
|
|
lpprog CHAR(30),
|
|
|
|
lpnum INTEGER,
|
|
|
|
lppipe CHAR(1),
|
|
|
|
imprime CHAR(80)
|
|
|
|
|
|
|
|
DEFINE dspprt ARRAY[40] OF RECORD
|
|
|
|
nombre CHAR(30),
|
|
|
|
codigo SMALLINT,
|
|
|
|
puerto LIKE prttb00001.puerto,
|
|
|
|
|
|
lpprog LIKE prttb00001.lpprog,
|
|
|
|
lppipe LIKE prttb00001.lppipe,
|
|
|
|
prtcodigo LIKE prttb00001.prtcodigo
|
|
|
|
END RECORD,
|
|
|
|
prt RECORD LIKE prttb00001.*,
|
|
|
|
prtcodigo LIKE prttb00001.prtcodigo,
|
|
usuarios,clave CHAR(8)
|
|
|
|
|
|
|
|
OPEN WINDOW impresoras AT 10,5 WITH FORM "msgfmrp" ATTRIBUTE
|
|
|
|
(BORDER,FORM LINE FIRST + 1)
|
|
|
|
CONNECT TO "smarmotech" USER usuarios USING clave
|
|
|
|
# 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
|
|
|
|
DECLARE busca CURSOR FOR
|
|
|
|
SELECT * FROM prttb00001
|
|
|
|
ORDER BY 1
|
|
|
|
|
|
|
|
LET idx = 1
|
|
|
|
FOREACH busca INTO prt.*
|
|
|
|
LET dspprt[idx].nombre = prt.nombre
|
|
|
|
LET dspprt[idx].codigo = prt.codigo
|
|
|
|
LET dspprt[idx].puerto = prt.puerto
|
|
|
|
LET dspprt[idx].prtcodigo = prt.prtcodigo
|
|
|
|
LET dspprt[idx].lpprog = prt.lpprog
|
|
|
|
LET dspprt[idx].lppipe = prt.lppipe
|
|
|
|
LET idx = idx + 1
|
|
|
|
END FOREACH
|
|
|
|
|
|
|
|
CALL set_count(idx-1)
|
|
|
|
DISPLAY ARRAY dspprt TO s_prt.*
|
|
|
|
|
|
|
|
LET pcurr = arr_curr()
|
|
|
|
LET impresor = dspprt[pcurr].codigo
|
|
|
|
LET prtcodigo = dspprt[pcurr].prtcodigo
|
|
|
|
LET prt.puerto = dspprt[pcurr].puerto
|
|
|
|
LET lpprog = dspprt[pcurr].lpprog
|
|
|
|
LET lppipe = dspprt[pcurr].lppipe
|
|
|
|
|
|
|
|
CASE
|
|
|
|
WHEN 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 prtcodigo = 2
|
|
|
|
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
|
|
|
|
END CASE
|
|
|
|
LET archivo = FGL_GETENV("FGLSPOOL"),"\\",lpnum USING "<<<<<<<<<<"
|
|
|
|
LET imprime = lpprog CLIPPED," ",archivo CLIPPED," ",
|
|
|
|
lppipe," ",prt.puerto
|
|
|
|
{UPDATE prttb00002 set ult_imp = lpnum +1,
|
|
|
|
usuario = suser_sname()}
|
|
|
|
LET lpnum = lpnum + 1
|
|
|
|
INSERT INTO prttb00002 VALUES (lpnum,SUSER_SNAME(),GETDATE())
|
|
|
|
|
|
|
|
CLOSE WINDOW impresoras
|
|
|
|
RETURN imprime,negrillas_on,negrillas_off,doble_on,doble_off,comp_on,comp_off,doce,normal,archivo
|
|
|
|
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 LIKE prttb00001.*,
|
|
usuarios,clave CHAR(80),copia CHAR(100)
|
|
|
|
CONNECT TO "smarmotech" USER usuarios USING clave
|
|
|
|
SELECT * INTO prt.* FROM prttb00001 a
|
|
|
|
WHERE 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 VALUES (lpnum,suser_sname(),getdate())
|
|
|
|
|
|
|
|
RETURN imprime,negrillas_on,negrillas_off,doble_on,doble_off,
|
|
comp_on,comp_off,doce,normal,archivo,copia
|
|
|
|
END FUNCTION
|
|
|
|
|
|
|
|
FUNCTION ElijeImpresion(parametro)
|
|
|
|
|
|
|
|
DEFINE parametro CHAR(2),
|
|
|
|
orden,destino CHAR(1)
|
|
|
|
DEFINE letras RECORD
|
|
|
|
negrillas_on CHAR(6),
|
|
|
|
negrillas_off CHAR(6),
|
|
|
|
doble_on CHAR(6),
|
|
|
|
doble_off CHAR(6),
|
|
|
|
comp_on CHAR(6),
|
|
|
|
comp_off CHAR(6),
|
|
|
|
doce CHAR(6),
|
|
|
|
normal CHAR(6)
|
|
|
|
END RECORD
|
|
|
|
|
|
OPEN WINDOW wopcion AT 10,5 WITH FORM "msgfmwd001" ATTRIBUTE
|
|
|
|
(BORDER,FORM LINE FIRST + 1)
|
|
|
|
CASE
|
|
|
|
WHEN parametro = "OD"
|
|
|
|
INPUT BY NAME orden,destino
|
|
|
|
EXIT CASE
|
|
|
|
WHEN parametro = "D"
|
|
|
|
INPUT BY NAME destino
|
|
|
|
EXIT CASE
|
|
|
|
END CASE
|
|
|
|
IF destino = "P" THEN
|
|
|
|
INITIALIZE letras.* TO NULL
|
|
|
|
END IF
|
|
|
|
|
|
|
|
CLOSE WINDOW wopcion
|
|
|
|
RETURN orden,destino,letras.*
|
|
|
|
END FUNCTION
|
|
|
|
FUNCTION fdestino(p_destino,p_archivo,p_imprime)
|
|
|
|
DEFINE p_destino CHAR(1),
|
|
|
|
p_imprime,ejecuta CHAR(80),
|
|
|
|
p_archivo CHAR(80)
|
|
|
|
|
|
CASE
|
|
|
|
WHEN p_destino = "I"
|
|
|
|
DISPLAY P_IMPRIME AT 18,2
|
|
|
|
RUN p_imprime
|
|
|
|
EXIT CASE
|
|
|
|
WHEN p_destino = "P"
|
|
|
|
LET ejecuta = FGL_GETENV("EDITOR")," ",p_archivo CLIPPED
|
|
|
|
RUN ejecuta
|
|
|
|
EXIT CASE
|
|
|
|
END CASE
|
|
|
|
END FUNCTION
|
|
|
|
|