82 lines
3.2 KiB
Plaintext
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 |