Files
MBS/PROYECTO/vedir/veconduceSinfacturar.4gl
T

82 lines
3.2 KiB
Plaintext

FUNCTION conducesinfacturar(pfecha)
DEFINE pfecha DATE,
conduces DYNAMIC ARRAY OF RECORD
fecha DATE,
codbodega SMALLINT,
bodega VARCHAR(100),
cod_mov SMALLINT,
descrip_mov VARCHAR(100),
conduce,
num_oc INT,
cotizacion_no INT,
cliente VARCHAR(100),
tipo_cliente,sec_cliente INT,
vendedor VARCHAR(100),
valor FLOAT,
ventas CHAR(1)
END RECORD,
idx,pconduce,pbodega,pcodigo,ptipocliente,pseccliente,porden INT,
pnombre VARCHAR(100),
pventas VARCHAR(1)
call ui.Interface.loadStyles("formularios")
OPEN WINDOW w1 WITH FORM "vefmmt041"
DECLARE buscac CURSOR FOR
SELECT distinct x0.fecha,c.cod_bodega,c.descripcion AS bodega,x0.cod_mov AS codigomov,
x1.descrip_mov AS descripcionmov,
x0.num_doc AS documento, x0.num_oc AS orden,a.cotizacion_no,
x2.nombre AS nombrecliente,
x2.tipo_cliente AS tipocliente, x2.sec_cliente AS codigocliente,
ISNULL(b.nom1_emp, ' ') + ' ' + ISNULL(b.apell1_emp, ' ')
AS Vendedor, x6.neto,x7.ventas, x6.factura
FROM iptb00006 x0
INNER JOIN prtb00012 a ON a.num_oc = x0.num_oc
LEFT OUTER JOIN vetb00060 x7 ON x7.tipo_cliente = x0.cod_sp and x7.cod_mov = x0.cod_mov
LEFT OUTER JOIN vetb00002 x6 ON x0.num_doc = x6.conduce and x0.bodega = x6.bodega and x6.fecha_factura > pfecha
and x6.tipo_cliente = x7.tipo_cliente and x6.status_t is null
INNER JOIN adtb00003 b ON b.num_emp = x0.sec_vend
INNER JOIN vetb00004 x2 ON x0.cod_sp = x2.tipo_cliente and x0.cod_sp_sec = x2.sec_cliente
INNER JOIN intb00009 c ON c.cod_bodega = x0.bodega
INNER JOIN iptb00005 x1 ON x0.cod_mov = x1.cod_mov AND x1.control_clientes = 'SI' AND x1.control_despacho = 'SI'
WHERE x0.fecha > pfecha and (x0.status_t is null) and
x6.factura is null
ORDER BY x0.fecha
LET idx = 1
FOREACH buscac INTO conduces[idx].*
LET idx = idx +1
END FOREACH
DISPLAY ARRAY conduces TO sconduces.*
AFTER DISPLAY
LET idx=arr_curr()
LET pconduce = conduces[idx].conduce
LET pbodega = conduces[idx].codbodega
LET pcodigo = conduces[idx].cod_mov
LET ptipocliente = conduces[idx].tipo_cliente
LET pseccliente = conduces[idx].sec_cliente
LET pnombre = conduces[idx].cliente
LET pventas = conduces[idx].ventas
LET porden = conduces[idx].num_oc
IF int_flag THEN
LET int_flag = FALSE
LET pconduce = NULL
LET pbodega = NULL
LET pcodigo = NULL
LET ptipocliente = NULL
LET pseccliente = NULL
LET pnombre = NULL
LET pventas = NULL
LET porden = NULL
EXIT DISPLAY
END IF
EXIT DISPLAY
END DISPLAY
CLOSE WINDOW w1
RETURN pconduce,pbodega,pcodigo,ptipocliente,pseccliente,pnombre,pventas,porden
END FUNCTION