142 lines
5.1 KiB
Plaintext
142 lines
5.1 KiB
Plaintext
IMPORT os
|
|
|
|
DEFINE usuarios,clave VARCHAR(50),
|
|
imagen,pimagen BYTE,
|
|
ficha INT,
|
|
nombre VARCHAR(100),
|
|
d_tipos,mensaje,f_tipos,filepath,extension,xdestino,l_file,tmpdir_file,dir_file,nombre_file STRING
|
|
|
|
FUNCTION firmas(ficha INT)
|
|
|
|
DEFINE respuesta,remueve VARCHAR(3)
|
|
OPEN WINDOW w2 WITH FORM "subefirma"
|
|
|
|
INPUT BY NAME ficha ATTRIBUTES(UNBUFFERED, WITHOUT DEFAULTS)
|
|
BEFORE INPUT
|
|
LET nombre_file = NULL
|
|
LET remueve="NO"
|
|
|
|
AFTER FIELD ficha
|
|
|
|
SELECT a.nom1_emp||ISNULL(a.apell1_emp,' '),b.usuario
|
|
INTO nombre,usuarios
|
|
FROM adtb00003 a,seg0001 b
|
|
WHERE a.num_emp = ficha AND a.num_emp = b.num_emp
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL msg(3)
|
|
NEXT FIELD ficha
|
|
END IF
|
|
|
|
DISPLAY BY NAME nombre
|
|
NEXT FIELD ficha
|
|
|
|
IF ficha IS NOT NULL THEN
|
|
|
|
LOCATE pimagen IN MEMORY
|
|
SELECT a.nom1_emp||ISNULL(a.apell1_emp,' '),b.firmafactura,b.nombre_file_firma,b.usuario
|
|
INTO nombre,pimagen,nombre_file,usuarios
|
|
FROM adtb00003 a,seg0001 b
|
|
WHERE a.num_emp = ficha AND a.num_emp = b.num_emp
|
|
|
|
IF STATUS = NOTFOUND THEN
|
|
CALL msg(3)
|
|
NEXT FIELD ficha
|
|
END IF
|
|
DISPLAY BY NAME nombre
|
|
|
|
IF nombre_file IS NOT NULL THEN
|
|
LET dir_file = 'tmp\\',tmpdir_file CLIPPED
|
|
CALL pimagen.writeFile(dir_file)
|
|
DISPLAY dir_file TO firma
|
|
ELSE
|
|
NEXT FIELD ficha
|
|
END IF
|
|
|
|
END IF
|
|
|
|
ON ACTION firma
|
|
CALL imagenfirma()
|
|
DISPLAY "data ",dir_file
|
|
DISPLAY dir_file TO firma
|
|
|
|
ON ACTION remover ATTRIBUTE(TEXT="Remover",IMAGE="delete")
|
|
LET remueve='SI'
|
|
|
|
ON ACTION guardar ATTRIBUTE(TEXT="Guardar",IMAGE="save")
|
|
|
|
IF int_flag THEN
|
|
CALL msg(2)
|
|
LET int_flag = FALSE
|
|
EXIT INPUT
|
|
END IF
|
|
|
|
DISPLAY "remueve ",remueve," tmodir ",tmpdir_file
|
|
|
|
IF tmpdir_file IS NOT NULL THEN
|
|
LET respuesta = fgl_winquestion("Actualiza","ESTA SEGURO DE ACTUALIZAR FIRMA?","YES","YES|NO","QUESTION",0)
|
|
IF respuesta = "YES" THEN
|
|
SET CONNECTION "MSSQL"
|
|
IF remueve = "NO" THEN
|
|
DISPLAY "dato ",ficha
|
|
TRY
|
|
UPDATE seg0001 SET firmafactura = imagen,
|
|
nombre_file_firma =tmpdir_file
|
|
WHERE num_emp = ficha
|
|
CATCH
|
|
DISPLAY SQLCA.sqlerrd[2]
|
|
END TRY
|
|
SET CONNECTION "IFMX"
|
|
TRY
|
|
UPDATE seg0001 SET firmafactura = imagen,
|
|
nombre_file_firma =tmpdir_file
|
|
WHERE num_emp = ficha
|
|
CATCH
|
|
DISPLAY SQLCA.sqlerrd[2]
|
|
END TRY
|
|
END IF
|
|
IF remueve = "SI" THEN
|
|
UPDATE seg0001 SET firmafactura = NULL,
|
|
nombre_file_firma =NULL
|
|
WHERE num_emp = ficha
|
|
SET CONNECTION "IFMX"
|
|
UPDATE seg0001 SET firmafactura = null,
|
|
nombre_file_firma =tmpdir_file
|
|
WHERE num_emp = ficha
|
|
END IF
|
|
CALL fgl_winmessage("info","Actualizacion Exitosa","info")
|
|
END IF
|
|
END IF
|
|
|
|
SET CONNECTION "MSSQL"
|
|
|
|
END INPUT
|
|
CLOSE WINDOW w2
|
|
END FUNCTION
|
|
|
|
FUNCTION imagenfirma()
|
|
CALL ui.Interface.frontCall("standard","openfile", [dir_file,d_tipos,f_tipos,mensaje], [filepath] )
|
|
IF filepath IS NOT NULL THEN
|
|
IF downshift(os.Path.extension(filepath)) = "jpg" OR
|
|
downshift(os.Path.extension(filepath)) = "png" THEN
|
|
LET dir_file = os.Path.basename(filepath)
|
|
DISPLAY filepath TO firma
|
|
|
|
|
|
LET dir_file = ".\\tmp\\",dir_file CLIPPED
|
|
CALL fgl_getfile(filepath,dir_file)
|
|
DISPLAY "dir file ",dir_file
|
|
IF os.Path.exists(dir_file) THEN
|
|
LOCATE imagen IN MEMORY
|
|
CALL imagen.readFile(dir_file)
|
|
LET tmpdir_file=os.Path.basename(filepath)
|
|
DISPLAY "tmp dir1 ",tmpdir_file
|
|
ELSE
|
|
DISPLAY "no existe"
|
|
END IF
|
|
ELSE
|
|
CALL fgl_winmessage("ERROR","EL FILE DEBE SER JPG, PNG","INFO")
|
|
END IF
|
|
END IF
|
|
END FUNCTION
|