542 lines
20 KiB
Plaintext
542 lines
20 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : VEPRRP048
|
|
OBJETIVO : Relacion de Cotizaciones
|
|
PROGRAMADOR : Ing. Juan Soto (Johnny)
|
|
FECHA REALIZACION : Mayo 17, 2011
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
SCHEMA 'smarmotech'
|
|
|
|
GLOBALS "veprgb000.4gl"
|
|
DEFINE act,mes_ini INTEGER ,
|
|
fecha_inicial,fecha_final DATE,
|
|
conordenes CHAR(1),
|
|
tiposoporte,descripcion_rep STRING,
|
|
usuarios, usuario VARCHAR(20),
|
|
clave VARCHAR(20),
|
|
selec STRING,
|
|
idx INT,
|
|
pcompanias RECORD LIKE companias.*
|
|
DEFINE kequipo SMALLINT, dequipo CHAR(30),
|
|
pequipo ui.ComboBox
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
--CALL ARG_VAL(3) RETURNING impresor
|
|
--LET usuario = 'jsoto'
|
|
|
|
CONNECT TO "smarmotech" USER usuarios USING clave
|
|
SELECT * INTO pcompanias.* FROM companias
|
|
CALL veprrp048()
|
|
|
|
END MAIN
|
|
|
|
FUNCTION veprrp048()
|
|
|
|
DEFINE handler om.SaxDocumentHandler, -- return value from fgl_report_commitCurrentSettings()
|
|
r_filename STRING, -- filename of Report Design Document including .4rp extension
|
|
r_output STRING, -- output format option
|
|
preview INTEGER, -- TRUE/FALSE, to set preview option
|
|
criterio STRING
|
|
|
|
### Definicion del registro a exportar al reporte
|
|
DEFINE ventas RECORD
|
|
fecha CHAR(10),
|
|
cotizacion_no INT,
|
|
tipo_cliente SMALLINT,
|
|
sec_cliente INT,
|
|
nombre CHAR(60),
|
|
nombre_proyecto CHAR(60),
|
|
fecha_entrega CHAR(10),
|
|
vendedor CHAR(80),
|
|
valor_bruto DEC(12,2),
|
|
valor_Desc DEC(12,2),
|
|
sub_total DEC(12,2),
|
|
valor_itbis DEC(12,2),
|
|
valor_neto DEC(12,2),
|
|
tipo_ventas CHAR(30),
|
|
orden INT,
|
|
equipo_venta CHAR(30),
|
|
orden_cliente CHAR(20),
|
|
conduce INT,
|
|
fechaConduce DATE
|
|
|
|
|
|
END RECORD,
|
|
salida CHAR(50),
|
|
ptasa DEC(12,4)
|
|
|
|
|
|
#WHENEVER ERROR CONTINUE
|
|
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 23,
|
|
COMMENT LINE 21
|
|
|
|
OPEN FORM vefmrp015 FROM "vefmrp048"
|
|
DISPLAY FORM vefmrp015
|
|
|
|
#### Pide los parametros para busqueda de informacion
|
|
|
|
SELECT a.fecha_inicio INTO fecha_inicial FROM prdtable a
|
|
WHERE a.ano =YEAR(today) AND a.mes = MONTH(today)
|
|
|
|
#LET fecha_inicial = today-29
|
|
LET fecha_final = today
|
|
INPUT BY NAME fecha_inicial,fecha_final,tiposoporte,conordenes,salida WITHOUT DEFAULTS
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
CALL msg(2)
|
|
|
|
EXIT INPUT
|
|
END IF
|
|
IF salida IS NULL THEN
|
|
CALL FGL_WINMESSAGE("ERROR","CAMPO EN BLANCO","STOP")
|
|
NEXT FIELD salida
|
|
END IF
|
|
IF conordenes IS NULL THEN
|
|
NEXT FIELD conordenes
|
|
END IF
|
|
END INPUT
|
|
IF int_flag THEN
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
#### Permite Cancelar reporte mediante el uso de CONTROL-C
|
|
|
|
IF int_flag THEN
|
|
--LET numero_msg = 2
|
|
--CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
CALL cequipos()
|
|
CONSTRUCT criterio ON a.ventas,A.sec_vend,x.cod_n,x.cod_grupo,x.cod_tipo,
|
|
x.cod_Sec,h.depto
|
|
FROM pventas,kvendedor,cod_n,cod_grupo,cod_tipo,cod_Sec,
|
|
equipos
|
|
BEFORE CONSTRUCT
|
|
--CALL cventas1()
|
|
IF tiposoporte = 'VE' THEN
|
|
CALL cvendedor1()
|
|
ELSE
|
|
CALL csoporte()
|
|
END IF
|
|
AFTER CONSTRUCT
|
|
IF int_flag THEN
|
|
--LET numero_msg = 2
|
|
--CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
EXIT CONSTRUCT
|
|
END CONSTRUCT
|
|
|
|
LET descripcion_rep = NULL
|
|
IF conordenes = 'T' THEN
|
|
IF tiposoporte = "VE" THEN
|
|
|
|
LET descripcion_rep = "TODAS LAS COTIZACIONES ORDENADAS POR VENDEDOR"
|
|
LET selec =
|
|
"SELECT DISTINCT CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no,a.tipo_cliente, a.sec_cliente,a.nombre_cliente,ISNULL(a.nombre_proyecto,'NO ESPECIFICADO'),
|
|
CONVERT(CHAR(10),a.fecha_entrega,103), '('+CAST(a.sec_vend AS CHAR(4)) +')'+RTRIM(c.nom1_emp) + ' '+ ISNULL(RTRIM(c.apell1_emp),' '),
|
|
a.total_bruto,a.monto_desc,a.sub_total,a.monto_itbi, a.total_neto,d.descripcion,e.num_oc, h.nombre,e.nombre_file
|
|
FROM vetb00050 a
|
|
INNER JOIN adtb00003 c ON c.num_emp = a.sec_vend
|
|
INNER JOIN vetb00061 d ON d.ventas = a.ventas
|
|
INNER JOIN seg0007 f ON f.sec_vend = a.sec_vend
|
|
inner join seg0000 g ON a.sec_vend = g.sec_vend
|
|
inner join seg0008 h on g.depto = h.depto
|
|
LEFT OUTER JOIN prtb00012 e ON e.cotizacion_no = a.cotizacion_no AND e.status_t IS NULL and e.sec_vend = f.sec_vend
|
|
INNER JOIN vetb00051 x ON x.cotizacion_no = a.cotizacion_no ",
|
|
" WHERE a.fecha between ? and ? and ",
|
|
" a.tipo_cliente IS NOT NULL AND ",
|
|
" a.status_t IS NULL and ",
|
|
" g.status_t is null and ",
|
|
" a.sec_vend = f.sec_vend and f.usuario = '",usuarios,"' ",
|
|
" and a.ventas = d.ventas and ",criterio CLIPPED
|
|
|
|
|
|
ELSE
|
|
LET descripcion_rep = "TODAS LAS COTIZACIONES ORDENADAS POR SOPORTE A VENTAS"
|
|
|
|
LET selec =
|
|
"SELECT DISTINCT CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no,a.tipo_cliente, a.sec_cliente,
|
|
a.nombre_cliente,ISNULL(a.nombre_proyecto,'NO ESPECIFICADO'),CONVERT(CHAR(10),a.fecha_entrega,103),
|
|
isnull('('+CAST(a.sec_vend AS CHAR(4)) +')'+RTRIM(c.nom1_emp) + ' '+ISNULL(RTRIM(c.apell1_emp),' '), 'VENDEDOR NO ESPECIFICADO'),
|
|
a.total_bruto,a.monto_desc,a.sub_total,a.monto_itbi, a.total_neto,d.descripcion,e.num_oc, h.nombre,e.nombre_file
|
|
FROM vetb00050 a
|
|
INNER JOIN vetb00061 d ON d.ventas =a.ventas
|
|
INNER JOIN vetb00093 f ON f.cotizacion_no = a.cotizacion_no
|
|
INNER JOIN adtb00003 c ON c.num_emp = f.sec_vend
|
|
LEFT OUTER JOIN prtb00012 e ON a.cotizacion_no = e.cotizacion_no AND e.status_t IS NULL AND e.tipo_cliente = a.tipo_cliente AND e.sec_cliente = a.sec_cliente
|
|
INNER JOIN vetb00051 x ON x.cotizacion_no = a.cotizacion_no
|
|
inner join seg0000 g on a.sec_vend = g.sec_vend
|
|
inner join seg0008 h on g.depto = h.depto ",
|
|
" WHERE a.fecha between ? and ? and ",
|
|
" f.sec_vend = c.num_emp and ",
|
|
" a.cotizacion_no = x.cotizacion_no and ",
|
|
" a.status_t IS NULL and ",
|
|
" g.status_t is null and ",
|
|
" a.ventas = d.ventas and ",criterio CLIPPED
|
|
# " ORDER BY d.descripcion,CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no "
|
|
|
|
|
|
END IF
|
|
END IF
|
|
|
|
IF conordenes = 'O' THEN
|
|
IF tiposoporte = 'VE' THEN
|
|
|
|
LET descripcion_rep = "COTIZACIONES CON ORDENES ORDENADAS POR VENDEDOR"
|
|
LET selec =
|
|
" SELECT DISTINCT CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no,a.tipo_cliente, ",
|
|
" a.sec_cliente,b.nombre,ISNULL(a.nombre_proyecto,'NO ESPECIFICADO'),CONVERT(CHAR(10),a.fecha_entrega,103), ",
|
|
" isnull('('+CAST(a.sec_vend AS CHAR(4)) +')'+RTRIM(c.nom1_emp) + ' '+ISNULL(RTRIM(c.apell1_emp),' '), 'VENDEDOR NO ESPECIFICADO'),
|
|
a.total_bruto,a.monto_desc,a.sub_total,a.monto_itbi,",
|
|
" a.total_neto,d.descripcion,e.num_oc, h.nombre,e.nombre_file ",
|
|
" FROM vetb00050 a,vetb00004 b,adtb00003 c,vetb00061 d,prtb00012 e,seg0007 f,seg0000 g,seg0008 h,vetb00051 x ",
|
|
" WHERE a.fecha between ? and ? and a.cotizacion_no = e.cotizacion_no AND ",
|
|
" a.tipo_cliente = b.tipo_cliente and ",
|
|
" a.sec_cliente = b.sec_cliente and ",
|
|
" a.sec_vend = c.num_emp and ",
|
|
" a.tipo_cliente IS NOT NULL AND ",
|
|
" a.ventas = d.ventas and ",criterio CLIPPED,
|
|
" and g.sec_vend = a.sec_vend and ",
|
|
" g.depto = h.depto ",
|
|
" and a.sec_vend = f.sec_vend and f.usuario = '",usuarios,"' ",
|
|
" and a.cotizacion_no = x.cotizacion_no ",
|
|
" and e.status_t is null "
|
|
#" ORDER BY d.descripcion,CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no "
|
|
|
|
|
|
ELSE
|
|
LET descripcion_rep = "COTIZACIONES CON ORDENES ORDENADAS POR SOPORTE A VENTAS"
|
|
|
|
LET selec =
|
|
"SELECT DISTINCT CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no,a.tipo_cliente,
|
|
a.sec_cliente,b.nombre,ISNULL(a.nombre_proyecto,'NO ESPECIFICADO'),CONVERT(CHAR(10),a.fecha_entrega,103),
|
|
isnull('('+CAST(a.sec_vend AS CHAR(4)) +')'+RTRIM(c.nom1_emp) + ' '+ISNULL(RTRIM(c.apell1_emp),' '), 'VENDEDOR NO ESPECIFICADO')
|
|
,a.total_bruto,a.monto_desc,a.sub_total,a.monto_itbi,
|
|
a.total_neto,d.descripcion,e.num_oc, h.nombre,e.nombre_file ",
|
|
" FROM vetb00050 a,vetb00004 b,adtb00003 c,vetb00061 d,prtb00012 e,vetb00093 f, seg0000 g,seg0008 h, vetb00051 x ",
|
|
" WHERE a.fecha between ? and ? and a.cotizacion_no = e.cotizacion_no AND ",
|
|
" a.tipo_cliente = b.tipo_cliente and ",
|
|
" a.sec_cliente = b.sec_cliente and ",
|
|
" f.sec_vend = c.num_emp and ",
|
|
" a.tipo_cliente IS NOT NULL AND ",
|
|
" a.ventas = d.ventas and ",criterio CLIPPED,
|
|
" and g.sec_vend = a.sec_vend and ",
|
|
" g.depto = h.depto ",
|
|
" and a.cotizacion_no = x.cotizacion_no ",
|
|
" and a.cotizacion_no = f.cotizacion_no ",
|
|
" and e.status_t is null "
|
|
#" ORDER BY d.descripcion,CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no "
|
|
|
|
END IF
|
|
END IF
|
|
IF conordenes = 'S' THEN
|
|
IF tiposoporte = "VE" THEN
|
|
|
|
LET descripcion_rep = "COTIZACIONES SIN ORDEN ORDENADAS POR VENDEDOR"
|
|
LET selec =
|
|
"SELECT DISTINCT CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no,a.tipo_cliente, a.sec_cliente,a.nombre_cliente,ISNULL(a.nombre_proyecto,'NO ESPECIFICADO'),
|
|
CONVERT(CHAR(10),a.fecha_entrega,103), '('+CAST(a.sec_vend AS CHAR(4)) +')'+RTRIM(c.nom1_emp) + ' '+ISNULL(RTRIM(c.apell1_emp),' '),
|
|
a.total_bruto,a.monto_desc,a.sub_total,a.monto_itbi, a.total_neto,d.descripcion,e.num_oc, h.nombre,e.nombre_file,
|
|
e.cotizacion_no
|
|
FROM vetb00050 a
|
|
INNER JOIN adtb00003 c ON c.num_emp = a.sec_vend
|
|
INNER JOIN vetb00061 d ON d.ventas = a.ventas
|
|
INNER JOIN seg0007 f ON f.sec_vend = a.sec_vend
|
|
inner join seg0000 g ON a.sec_vend = g.sec_vend
|
|
inner join seg0008 h on g.depto = h.depto
|
|
LEFT OUTER JOIN prtb00012 e ON e.cotizacion_no = a.cotizacion_no AND e.status_t IS NULL and e.sec_vend = f.sec_vend
|
|
INNER JOIN vetb00051 x ON x.cotizacion_no = a.cotizacion_no ",
|
|
" WHERE a.fecha between ? and ? and ",
|
|
" a.tipo_cliente IS NOT NULL AND ",
|
|
" e.cotizacion_no IS NULL AND ",
|
|
" a.status_t IS NULL and ",
|
|
" g.status_t is null and ",
|
|
" a.sec_vend = f.sec_vend and f.usuario = '",usuarios,"' ",
|
|
" and a.ventas = d.ventas and ",criterio CLIPPED
|
|
|
|
|
|
ELSE
|
|
LET descripcion_rep = "COTIZACIONES SIN ORDEN ORDENADAS POR SOPORTE A VENTAS"
|
|
|
|
LET selec =
|
|
"SELECT DISTINCT CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no,a.tipo_cliente, a.sec_cliente,
|
|
a.nombre_cliente,ISNULL(a.nombre_proyecto,'NO ESPECIFICADO'),CONVERT(CHAR(10),a.fecha_entrega,103),
|
|
isnull('('+CAST(a.sec_vend AS CHAR(4)) +')'+RTRIM(c.nom1_emp) + ' '+ISNULL(RTRIM(c.apell1_emp),' '), 'VENDEDOR NO ESPECIFICADO'),
|
|
a.total_bruto,a.monto_desc,a.sub_total,a.monto_itbi, a.total_neto,d.descripcion,e.num_oc, h.nombre,e.nombre_file
|
|
FROM vetb00050 a
|
|
INNER JOIN vetb00061 d ON d.ventas =a.ventas
|
|
INNER JOIN vetb00093 f ON f.cotizacion_no = a.cotizacion_no
|
|
INNER JOIN adtb00003 c ON c.num_emp = f.sec_vend
|
|
LEFT OUTER JOIN prtb00012 e ON a.cotizacion_no = e.cotizacion_no AND e.status_t IS NULL AND e.tipo_cliente = a.tipo_cliente AND e.sec_cliente = a.sec_cliente
|
|
INNER JOIN vetb00051 x ON x.cotizacion_no = a.cotizacion_no
|
|
inner join seg0000 g on a.sec_vend = g.sec_vend
|
|
inner join seg0008 h on g.depto = h.depto ",
|
|
" WHERE a.fecha between ? and ? and ",
|
|
" f.sec_vend = c.num_emp and ",
|
|
" a.cotizacion_no = x.cotizacion_no and ",
|
|
" e.cotizacion_no IS NULL AND ",
|
|
" a.status_t IS NULL and ",
|
|
" g.status_t is null and ",
|
|
" a.ventas = d.ventas and ",criterio CLIPPED
|
|
# " ORDER BY d.descripcion,CONVERT(CHAR(10),a.fecha,103),a.cotizacion_no "
|
|
|
|
|
|
END IF
|
|
END IF
|
|
|
|
PREPARE busca_act FROM selec
|
|
DECLARE act2 CURSOR FOR busca_act
|
|
OPEN act2 USING fecha_inicial,fecha_final
|
|
|
|
|
|
### Loop para igualar tipo de venta a la variable ventas.ventas
|
|
|
|
|
|
LET idx = 1
|
|
FOREACH act2 INTO ventas.*
|
|
IF STATUS <> NOTFOUND THEN
|
|
-- configure report engine; the functions prefixed fgl that are called here are part of the GRW API
|
|
IF idx = 1 THEN
|
|
LET r_filename = salida CLIPPED
|
|
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
|
CALL seleccionarsalida() RETURNING r_output
|
|
LET preview=1
|
|
|
|
CALL fgl_report_selectDevice(r_output) -- changing default
|
|
CALL fgl_report_selectPreview(preview) -- changing default
|
|
|
|
CALL fgl_report_configurexlsxdevice(null,null,null,null,null,null,1)
|
|
|
|
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
|
END IF
|
|
START REPORT plan TO XML HANDLER handler
|
|
END IF
|
|
END IF
|
|
LET idx = idx + 1
|
|
{ # BUSCA LA ORDEN DE PEDIDOS
|
|
LET ventas.orden = null
|
|
SELECT MAX(a.num_oc) INTO ventas.orden FROM prtb00012 a
|
|
WHERE a.cotizacion_no = ventas.cotizacion_no AND
|
|
a.status_t is NULL
|
|
# BUSCA ORDEN COMPRA CLIENTE
|
|
LET ventas.orden_cliente =NULL
|
|
SELECT a.nombre_file INTO ventas.orden_cliente
|
|
FROM prtb00012 a
|
|
WHERE a.num_oc = ventas.orden
|
|
|
|
# BUSCA CONDUCE SALIDA
|
|
LET ventas.conduce = NULL
|
|
LET ventas.fechaConduce = NULL
|
|
SELECT MAX(a.num_doc) INTO ventas.conduce
|
|
FROM iptb00006 a
|
|
WHERE a.cod_sp = ventas.tipo_cliente AND
|
|
a.cod_sp_Sec = ventas.sec_cliente AND
|
|
a.num_oc = ventas.orden AND
|
|
a.cod_mov IN (30,31,55) AND
|
|
a.status_t IS NULL
|
|
|
|
IF ventas.conduce IS NOT NULL THEN
|
|
|
|
SELECT MAX(a.fecha) INTO ventas.fechaConduce
|
|
FROM iptb00006 a
|
|
WHERE a.cod_sp = ventas.tipo_cliente AND
|
|
a.cod_sp_Sec = ventas.sec_cliente AND
|
|
a.num_doc = ventas.orden AND
|
|
a.cod_mov IN (30,31,55) AND
|
|
a.status_t IS NULL
|
|
END IF }
|
|
# TASA
|
|
LET ptasa =0
|
|
SELECT a.tasa INTO ptasa
|
|
FROM cgtb00084 a
|
|
WHERE a.ano = YEAR(fecha_final) AND
|
|
a.mes = MONTH(fecha_final) AND
|
|
a.tipo_cliente = ventas.tipo_cliente
|
|
IF ptasa IS NULL THEN
|
|
LET ptasa = 1
|
|
END IF
|
|
LET ventas.valor_bruto = ventas.valor_bruto * ptasa
|
|
LET ventas.valor_Desc = ventas.valor_Desc * ptasa
|
|
LET ventas.valor_itbis = ventas.valor_itbis * ptasa
|
|
LET ventas.valor_neto = ventas.valor_neto * ptasa
|
|
LET ventas.sub_total = ventas.sub_total * ptasa
|
|
|
|
IF ventas.vendedor IS NULL THEN
|
|
LET ventas.vendedor = 'NO TIENE'
|
|
END IF
|
|
|
|
OUTPUT TO REPORT plan(ventas.*)
|
|
END FOREACH
|
|
|
|
|
|
IF idx = 1 THEN
|
|
CALL fgl_winmessage("ERROR","NO EXISTEN REGISTROS CON ESA CONDICION","INFO")
|
|
ELSE
|
|
FINISH REPORT plan
|
|
END IF
|
|
|
|
|
|
END FUNCTION
|
|
|
|
REPORT plan(x)
|
|
DEFINE x RECORD
|
|
fecha CHAR(10),
|
|
cotizacion_no INT,
|
|
tipo_cliente SMALLINT,
|
|
sec_cliente INT,
|
|
nombre CHAR(60),
|
|
nombre_proyecto CHAR(60),
|
|
fecha_entrega CHAR(10),
|
|
vendedor CHAR(80),
|
|
valor_bruto DEC(12,2),
|
|
valor_Desc DEC(12,2),
|
|
sub_total DEC(12,2),
|
|
valor_itbis DEC(12,2),
|
|
valor_neto DEC(12,2),
|
|
tipo_ventas CHAR(30),
|
|
orden INT,
|
|
equipo_venta CHAR(30),
|
|
orden_cliente CHAR(20),
|
|
conduce INT,
|
|
fechaConduce DATE
|
|
END RECORD,
|
|
vvendedor,total_general,tvbruto,tvdesc,tvitbis,ttbruto,ttdesc,ttitbis,sub_total,ttsub_total,
|
|
ev_tvbruto,ev_tvdesc,ev_sub_total,ev_tvitbis,ev_vvendedor,
|
|
c_tvbruto,c_tvdesc,c_sub_total,c_tvitbis,c_vvendedor
|
|
DEC(12,2)
|
|
|
|
DEFINE hora CHAR(5),
|
|
ch_vendedor STRING
|
|
|
|
ORDER BY x.equipo_venta, x.vendedor
|
|
|
|
FORMAT
|
|
FIRST PAGE HEADER
|
|
|
|
LET total_general = 0
|
|
LET ttbruto = 0
|
|
LET ttdesc = 0
|
|
LET ttitbis = 0
|
|
LET ttsub_total = 0
|
|
|
|
BEFORE GROUP OF x.equipo_venta
|
|
LET ev_tvbruto = 0
|
|
LET ev_tvdesc = 0
|
|
LET ev_sub_total = 0
|
|
LET ev_tvitbis = 0
|
|
LET ev_vvendedor = 0
|
|
|
|
PRINTX x.equipo_venta
|
|
|
|
BEFORE GROUP OF x.vendedor
|
|
LET vvendedor = 0
|
|
LET tvbruto =0
|
|
LET tvdesc = 0
|
|
LET tvitbis = 0
|
|
LET sub_total = 0
|
|
|
|
PRINTX x.vendedor
|
|
LET ch_vendedor = x.vendedor
|
|
{ BEFORE GROUP OF x.cotizacion_no
|
|
LET c_tvbruto = 0
|
|
LET c_tvdesc = 0
|
|
LET c_sub_total = 0
|
|
LET c_tvitbis = 0
|
|
LET c_vvendedor = 0}
|
|
|
|
PRINTX x.cotizacion_no
|
|
|
|
ON EVERY ROW
|
|
--LET tvbruto = tvbruto + x.valor_bruto
|
|
--LET tvdesc = tvdesc + x.valor_desc
|
|
--LET tvitbis = tvitbis + x.valor_itbis
|
|
|
|
--LET ttbruto = x.valor_bruto + ttbruto
|
|
--LET ttdesc = x.valor_Desc + ttdesc
|
|
--LET ttitbis = ttitbis + x.valor_itbis
|
|
--LET sub_total = sub_total + x.sub_total
|
|
--LET ttsub_total = ttsub_total + X.sub_total
|
|
|
|
{LET vvendedor = vvendedor + x.valor_neto
|
|
LET total_general = total_general + x.valor_neto}
|
|
PRINTX x.*, pcompanias.nombre, hora, fecha_inicial,fecha_final,
|
|
descripcion_rep
|
|
{vvendedor,total_general,tvbruto,tvdesc,tvitbis,ttbruto,ttdesc,ttitbis,ttsub_total,sub_total}
|
|
|
|
AFTER GROUP OF x.equipo_venta
|
|
LET ev_tvbruto = GROUP SUM(x.valor_bruto)
|
|
LET ev_tvdesc = GROUP SUM(x.valor_desc)
|
|
LET ev_sub_total = GROUP SUM(x.sub_total)
|
|
LET ev_tvitbis = GROUP SUM(x.valor_itbis)
|
|
LET ev_vvendedor = GROUP SUM(x.valor_neto)
|
|
|
|
PRINTX ev_tvbruto,ev_tvdesc,ev_sub_total,ev_tvitbis,ev_vvendedor
|
|
|
|
AFTER GROUP OF x.vendedor
|
|
LET vvendedor = GROUP SUM(x.valor_bruto)
|
|
LET tvbruto = GROUP SUM(x.valor_desc)
|
|
LET tvdesc = GROUP SUM(x.sub_total)
|
|
LET tvitbis = GROUP SUM(x.valor_itbis)
|
|
LET sub_total = GROUP SUM(x.valor_neto)
|
|
|
|
PRINTX vvendedor,tvbruto,tvdesc,tvitbis,sub_total
|
|
|
|
{ AFTER GROUP OF x.cotizacion_no
|
|
LET c_tvbruto = GROUP SUM(x.valor_bruto)
|
|
LET c_tvdesc = GROUP SUM(x.valor_desc)
|
|
LET c_sub_total = GROUP SUM(x.sub_total)
|
|
LET c_tvitbis = GROUP SUM(x.valor_itbis)
|
|
LET c_vvendedor = GROUP SUM(x.valor_neto)
|
|
|
|
PRINTX c_tvbruto,c_tvdesc,c_sub_total,c_tvitbis,c_vvendedor}
|
|
|
|
ON LAST ROW
|
|
LET ttbruto = sum(x.valor_bruto)
|
|
LET ttdesc = sum(x.valor_Desc)
|
|
LET ttitbis = sum(x.valor_itbis)
|
|
LET sub_total = sum(x.sub_total)
|
|
LET ttsub_total = sum(x.sub_total)
|
|
|
|
PRINTX ch_Vendedor,ttbruto,ttdesc,ttitbis,sub_total,ttsub_total
|
|
END REPORT
|
|
|
|
{FUNCTION cventas1()
|
|
DEFINE kventas SMALLINT, dventas CHAR(30)
|
|
|
|
LET pventas = ui.combobox.forname("formonly.pventas")
|
|
|
|
DECLARE bventas CURSOR FOR
|
|
SELECT a.ventas,a.descripcion FROM vetb00061 a
|
|
CALL pventas.clear()
|
|
|
|
FOREACH bventas INTO kventas,dventas
|
|
CALL pventas.additem(kventas,dventas)
|
|
END FOREACH
|
|
|
|
END FUNCTION}
|
|
|
|
FUNCTION cequipos()
|
|
|
|
LET pequipo = ui.combobox.forname("formonly.equipos")
|
|
|
|
DECLARE bequipos CURSOR FOR
|
|
SELECT a.depto,a.nombre FROM seg0008 a
|
|
|
|
CALL pequipo.clear()
|
|
|
|
FOREACH bequipos INTO kequipo,dequipo
|
|
CALL pequipo.additem(kequipo,dequipo)
|
|
END FOREACH
|
|
END FUNCTION
|
|
|
|
|