Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,138 @@
|
||||
IMPORT OS
|
||||
|
||||
GLOBALS "prprgb000.4gl"
|
||||
|
||||
DEFINE l_file,tmpdir_file STRING
|
||||
|
||||
|
||||
FUNCTION busca_imagen_conduces(xnum_oc)
|
||||
DEFINE nombre_cliente,vendedor CHAR(60),
|
||||
documentos DYNAMIC ARRAY OF RECORD
|
||||
idx INT,
|
||||
tipo_file CHAR(20),
|
||||
bodega SMALLINT,
|
||||
num_doc INT,
|
||||
nombre_file VARCHAR(100),
|
||||
filedestino BYTE,
|
||||
envio_correo CHAR(10)
|
||||
|
||||
END RECORD,
|
||||
p_res,i SMALLINT,
|
||||
xnum_oc,cuenta INT
|
||||
|
||||
LET i = 1
|
||||
|
||||
# VERIFICA QUE LA ORDEN TENGA DIBUJOS
|
||||
SELECT ISNULL(COUNT(*),0) INTO cuenta FROM prtb00029 a WHERE a.num_oc = xnum_oc AND a.tipo_file = 'CO'
|
||||
IF cuenta = 0 THEN
|
||||
CALL fgl_winmessage("info","ORDEN NO TIENE CONDUCES ESCANEADOS","INFO")
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OPEN WINDOW w1 WITH FORM "prfmwd012"
|
||||
|
||||
CALL documentos.clear()
|
||||
|
||||
|
||||
DECLARE busca_dibujo CURSOR FOR
|
||||
SELECT a.id,a.tipo_file,a.bodega,a.num_doc,a.nombre_file,
|
||||
a.documento,a.envio_notificacion
|
||||
FROM prtb00029 a
|
||||
WHERE a.num_oc =xnum_oc AND a.tipo_file = 'CO'
|
||||
ORDER BY a.id
|
||||
LET idx = 1
|
||||
LOCATE documentos[idx].filedestino IN MEMORY
|
||||
FOREACH busca_dibujo INTO documentos[idx].*
|
||||
LET idx = idx + 1
|
||||
LOCATE documentos[idx].filedestino IN MEMORY
|
||||
|
||||
END FOREACH
|
||||
|
||||
|
||||
DISPLAY ARRAY documentos TO sdibujo.*
|
||||
BEFORE DISPLAY
|
||||
|
||||
SELECT a.cotizacion_no,b.nombre,a.sec_vend,ISNULL(c.nom1_emp,' ')+ISNULL(c.apell1_emp,' '),
|
||||
a.tipo_cliente,a.sec_cliente
|
||||
INTO kprtb12.cotizacion_no,nombre_cliente,kprtb12.sec_vend,vendedor,
|
||||
kprtb12.tipo_cliente,kprtb12.sec_cliente
|
||||
FROM prtb00012 a,vetb00004 b,adtb00003 c
|
||||
WHERE a.num_oc = xnum_oc AND
|
||||
a.tipo_cliente = b.tipo_cliente AND
|
||||
a.sec_cliente = b.sec_cliente AND
|
||||
a.sec_vend = c.num_emp
|
||||
|
||||
DISPLAY BY NAME kprtb12.num_oc,kprtb12.cotizacion_no,nombre_cliente,vendedor
|
||||
|
||||
|
||||
ON ACTION abrir
|
||||
WHENEVER ERROR CONTINUE
|
||||
TRY
|
||||
LET tmpdir_file = "tmp\\",usuarios CLIPPED,documentos[arr_curr()].nombre_file
|
||||
|
||||
CALL documentos[arr_curr()].filedestino.writeFile(tmpdir_file)
|
||||
|
||||
CALL ui.Interface.frontCall("standard","getenv", ["TEMP"], [l_file] )
|
||||
|
||||
LET l_file = l_file CLIPPED,"\\",documentos[arr_curr()].nombre_file
|
||||
CALL fgl_putfile(tmpdir_file,l_file)
|
||||
|
||||
CALL ui.Interface.frontCall("standard","shellexec", [l_file],[p_res])
|
||||
|
||||
CATCH
|
||||
CALL fgl_winmessage("ERROR",err_get(STATUS),"INFO")
|
||||
END TRY
|
||||
AFTER DISPLAY
|
||||
IF INT_FLAG THEN
|
||||
|
||||
EXIT DISPLAY
|
||||
END IF
|
||||
EXIT DISPLAY
|
||||
END DISPLAY
|
||||
LET INT_FLAG = FALSE
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
|
||||
{FUNCTION showDir(path)
|
||||
DEFINE path STRING
|
||||
DEFINE child STRING
|
||||
DEFINE h INTEGER,
|
||||
contenido DYNAMIC ARRAY OF STRING,
|
||||
exito BOOLEAN
|
||||
|
||||
OPEN WINDOW w2 WITH FORM "prtest"
|
||||
IF NOT os.Path.exists(path) THEN
|
||||
CALL fgl_winmessage("NO",path,"info")
|
||||
RETURN
|
||||
END IF
|
||||
IF NOT os.Path.isdirectory(path) THEN
|
||||
DISPLAY " ", os.Path.basename(path)
|
||||
RETURN
|
||||
END IF
|
||||
LET contenido[1]="[",path,"]"
|
||||
LET idx = 1
|
||||
CALL os.Path.dirsort("name", 1)
|
||||
LET h = os.Path.diropen(path)
|
||||
WHILE h > 0
|
||||
LET child = os.Path.dirnext(h)
|
||||
IF child IS NULL THEN EXIT WHILE END IF
|
||||
IF child == "." OR child == ".." THEN CONTINUE WHILE END IF
|
||||
LET contenido[idx] = os.Path.join( path, child )
|
||||
LET idx = idx + 1
|
||||
END WHILE
|
||||
CALL os.Path.dirclose(h)
|
||||
DISPLAY ARRAY contenido TO scontenido.*
|
||||
ON ACTION borrar
|
||||
CALL os.Path.delete(contenido[arr_curr()]) RETURNING exito
|
||||
IF NOT exito THEN
|
||||
CALL fgl_winmessage("E","NO BORRE EL FILE","INFO")
|
||||
CONTINUE DISPLAY
|
||||
END IF
|
||||
AFTER DISPLAY
|
||||
IF INT_FLAG THEN
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
EXIT DISPLAY
|
||||
END DISPLAY
|
||||
CLOSE WINDOW w2
|
||||
END FUNCTION}
|
||||
Reference in New Issue
Block a user