primer commit subida
This commit is contained in:
@@ -0,0 +1,250 @@
|
||||
GLOBALS "prprgb000.4gl"
|
||||
DEFINE psimbolo CHAR(10),
|
||||
instalador,soportes,xsoportes,vendedor_aux VARCHAR(200),
|
||||
err char(30),
|
||||
xtipo_tarjeta,xtarjeta VARCHAR(50),
|
||||
kvendedor INT,
|
||||
ximagen BYTE
|
||||
DEFINE condicion RECORD LIKE vetb00012.*, descrip2 CHAR(80), medida CHAR(3),
|
||||
nombre_ciudad CHAR(30),
|
||||
nombre_vend CHAR(70)
|
||||
FUNCTION impresion(data_imp,r_filename,r_output,xcuenta_item,etiqueta_cotiza)
|
||||
|
||||
|
||||
DEFINE data_imp RECORD
|
||||
cotizacion_no,tipo_cliente,sec_cliente INT,
|
||||
fecha DATE,
|
||||
sec_Vend INT,
|
||||
direccion_cliente,nombre,contacto,nombre_proyecto,direccion_proyecto,nombre_ciudad,
|
||||
nombre_vend,nombre_cliente VARCHAR(100),
|
||||
rnc VARCHAR(11),
|
||||
telefono_o,telefono_r,celular,celular1 VARCHAR(25),
|
||||
email VARCHAR(100),
|
||||
orden,cond_pago INT,
|
||||
soportes,instalador,plazo_Entrega VARCHAR(100),
|
||||
comentario VARCHAR(250),
|
||||
sub_total,monto_desc,porc_itbis,neto,total_bruto,monto_itbis,total_neto DEC(12,2),
|
||||
num_emp_int,vendedor_aux,bodega INT,
|
||||
tbodega VARCHAR(100)
|
||||
|
||||
|
||||
|
||||
END RECORD
|
||||
DEFINE detalle RECORD
|
||||
area VARCHAR (60),
|
||||
cod_n INT,
|
||||
cod_grupo INT,
|
||||
cod_tipo INT,
|
||||
cod_sec INT,
|
||||
descripcion CHAR(80),
|
||||
cantidad_1 DEC(12,5),
|
||||
cantidad DEC(12,5),
|
||||
precio DEC(12,2),
|
||||
porc_desc DEC(12,2),
|
||||
nombre_file CHAR(50)
|
||||
END RECORD,
|
||||
|
||||
fila smallint
|
||||
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
|
||||
pvetb51 RECORD LIKE vetb00051.*,
|
||||
historico CHAR(1),
|
||||
xcuenta_item smallint,
|
||||
etiqueta_cotiza CHAR(30)
|
||||
|
||||
|
||||
SET CONNECTION "MSSQL"
|
||||
|
||||
LET preview = TRUE
|
||||
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
|
||||
|
||||
CALL fgl_report_selectDevice(r_output) -- changing default
|
||||
|
||||
|
||||
LET handler = fgl_report_commitCurrentSettings() -- commit changes
|
||||
END IF
|
||||
# BODEGA
|
||||
|
||||
SELECT a.descripcion INTO data_imp.tbodega FROM intb00009 a WHERE a.cod_bodega = data_imp.bodega
|
||||
|
||||
|
||||
IF handler IS NOT NULL THEN -- report engine was configured ok
|
||||
|
||||
START REPORT imprimeO TO XML HANDLER handler
|
||||
|
||||
|
||||
SELECT RTRIM(a.nom1_emp)+' '+RTRIM(ISNULL(a.apell1_emp,' ')) INTO instalador FROM adtb00003 a
|
||||
WHERE a.num_emp = data_imp.num_emp_int
|
||||
|
||||
# Vendedor Auxiliar
|
||||
SELECT RTRIM(a.nom1_emp)+' '+RTRIM(ISNULL(a.apell1_emp,' ')) INTO vendedor_aux FROM adtb00003 a
|
||||
WHERE a.num_emp = data_imp.vendedor_aux
|
||||
|
||||
SELECT a.descrip INTO condicion.descrip FROM vetb00012 a WHERE a.cond_pago = data_imp.cond_pago
|
||||
|
||||
DECLARE soporte CURSOR FOR
|
||||
SELECT RTRIM(a.nom1_emp)||' '||a.apell1_emp FROM adtb00003 a,vetb00093 b
|
||||
WHERE b.cotizacion_no = data_imp.cotizacion_no AND a.num_emp = b.sec_vend
|
||||
LET soportes = NULL
|
||||
|
||||
LET idx = 1
|
||||
FOREACH soporte INTO xsoportes
|
||||
LET soportes = xsoportes CLIPPED
|
||||
IF idx > 1 THEN
|
||||
LET soportes = xsoportes CLIPPED,", ",soportes CLIPPED
|
||||
END IF
|
||||
LET idx = idx+1
|
||||
END FOREACH
|
||||
# START REPORT otroimp TO XML HANDLER HANDLER #"temporal.txt"
|
||||
LET selec =
|
||||
"SELECT a.descripcion_area,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec ",
|
||||
" ,a.cantidad_1,a.cantidad, ",
|
||||
" a.precio,a.porc_Desc,a.descripcion,c.unidad_med,a.foto_producto,a.secuencia ",
|
||||
"FROM vetb00051 a,iptb00002 c ",
|
||||
"WHERE a.cotizacion_no = ",data_imp.cotizacion_no," AND ",
|
||||
" a.cod_n = c.cod_n AND ",
|
||||
" a.cod_grupo = c.cod_grupo AND ",
|
||||
" a.cod_tipo = c.cod_tipo AND ",
|
||||
" a.cod_Sec = c.cod_sec ",
|
||||
" ORDER BY a.secuencia "
|
||||
|
||||
|
||||
|
||||
PREPARE comando1 FROM selec
|
||||
DECLARE busca_cot CURSOR FOR comando1
|
||||
|
||||
LOCATE ximagen IN MEMORY
|
||||
|
||||
FOREACH busca_cot INTO detalle.area,detalle.cod_n,detalle.cod_grupo,
|
||||
detalle.cod_tipo,detalle.cod_sec,detalle.cantidad_1,
|
||||
detalle.cantidad,detalle.precio,detalle.porc_desc,
|
||||
descrip2,medida,ximagen,fila
|
||||
IF descrip2 IS NULL THEN
|
||||
SELECT a.descrip_esp INTO descrip2
|
||||
FROM iptb00002 a
|
||||
WHERE a.cod_n = pvetb51.cod_n AND
|
||||
a.cod_grupo = pvetb51.cod_grupo AND
|
||||
a.cod_tipo = pvetb51.cod_tipo AND
|
||||
a.cod_sec = pvetb51.cod_sec
|
||||
END IF
|
||||
|
||||
IF ximagen IS NULL OR LENGTH(ximagen) < 4 THEN
|
||||
LET err = "imagen en blanco ",detalle.cod_sec USING "&&&&&"
|
||||
# CALL fgl_winmessage("info",err,"info")
|
||||
CALL ximagen.readFile("fotodefault.jpg")
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT imprimeO(data_imp.*,detalle.*,descrip2,medida,etiqueta_cotiza,fila)
|
||||
# OUTPUT TO REPORT otroimp(data_imp.*,detalle.*,descrip2,medida,etiqueta_cotiza,imagen,fila)
|
||||
|
||||
END FOREACH
|
||||
FINISH REPORT imprimeO
|
||||
# FINISH REPORT otroimp
|
||||
|
||||
|
||||
ELSE
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
RETURN r_output
|
||||
END FUNCTION
|
||||
|
||||
REPORT imprimeO(y,z,xnombre_p,xmedida,xetiqueta,xfila)
|
||||
|
||||
DEFINE z RECORD
|
||||
area VARCHAR (60),
|
||||
cod_n INT,
|
||||
cod_grupo INT,
|
||||
cod_tipo INT,
|
||||
cod_sec INT,
|
||||
descripcion CHAR(80),
|
||||
cantidad_1 DEC(12,5),
|
||||
cantidad DEC(12,5),
|
||||
precio DEC(12,2),
|
||||
porc_desc DEC(12,2),
|
||||
nombre_file CHAR(50)
|
||||
END RECORD,
|
||||
xfila smallint,
|
||||
y RECORD
|
||||
cotizacion_no,tipo_cliente,sec_cliente INT,
|
||||
fecha DATE,
|
||||
sec_vend INT,
|
||||
direccion_cliente,nombre,contacto,nombre_proyecto,direccion_proyecto,nombre_ciudad,
|
||||
nombre_vend,nombre_cliente VARCHAR(100),
|
||||
rnc VARCHAR(11),
|
||||
telefono_o,telefono_r,celular,celular1 VARCHAR(25),
|
||||
email VARCHAR(100),
|
||||
orden,cond_pago INT,
|
||||
soportes,instalador,plazo_entrega VARCHAR(100),
|
||||
comentario VARCHAR(250),
|
||||
sub_total,monto_desc,porc_itbis,neto,total_bruto,monto_itbis,total_neto DEC(12,2),
|
||||
num_emp_int,vendedor_aux,bodega INT,
|
||||
tbodega VARCHAR(100)
|
||||
|
||||
|
||||
END RECORD,
|
||||
xnombre_a,xetiqueta CHAR(30),
|
||||
xnombre_p CHAR(50),
|
||||
xmedida CHAR(3),
|
||||
xtotal_p,bruto,descuento,neto,total_area DEC(12,2),
|
||||
parea,pfecha,hora,etiqueta,etiqueta1,etiqueta2,etiqueta3,etiqueta4,etiqueta5 CHAR(100),
|
||||
xorden INT
|
||||
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
|
||||
ORDER BY z.area,xfila,z.cod_n,z.cod_grupo,z.cod_tipo,z.cod_sec
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET pfecha = TODAY USING "DD/MM/YYYY"
|
||||
LET hora = TIME
|
||||
LET etiqueta = "FORMA DE PAGO: ",condicion.descrip
|
||||
LET etiqueta3 = "PLAZO ENTREGA: ",y.plazo_entrega
|
||||
LET etiqueta4 = "COMENTARIO: "
|
||||
LET etiqueta5 = "Entre la empresa ",p_compania.nombre CLIPPED," de una parte y de la otra parte:"
|
||||
|
||||
LET etiqueta1 = "Las variaciones en las tonalidades y vetas se entienden como parte de la naturaleza de las piedras naturales."
|
||||
LET etiqueta2 = " No somos responsables en las tardanzas en la entrega cuando esten sujetas a especificaciones de medidas y/o terminaciones. "
|
||||
|
||||
|
||||
|
||||
BEFORE GROUP OF z.area
|
||||
LET total_area = 0
|
||||
|
||||
|
||||
ON EVERY ROW
|
||||
# BUSCA ORDEN
|
||||
LET xorden = NULL
|
||||
SELECT a.simbolo INTO psimbolo FROM vetb00061 a,vetb00060 b WHERE a.ventas = b.ventas
|
||||
AND b.tipo_cliente = y.tipo_cliente
|
||||
|
||||
SELECT a.num_oc INTO xorden
|
||||
FROM prtb00012 a
|
||||
WHERE a.cotizacion_no = y.cotizacion_no AND a.status_t IS NULL
|
||||
|
||||
LET bruto = 0
|
||||
LET descuento = 0
|
||||
|
||||
LET bruto = z.cantidad * z.precio
|
||||
LET descuento = (z.cantidad*z.precio*(z.porc_Desc/100))
|
||||
LET xtotal_p = bruto - descuento
|
||||
LET y.sub_total = y.sub_total + y.monto_desc
|
||||
IF instalador IS NULL THEN
|
||||
LET instalador='NO TIENE'
|
||||
END IF
|
||||
|
||||
PRINTX p_compania.*,y.*,z.*,bruto,descuento,neto,
|
||||
etiqueta,etiqueta2,etiqueta3,etiqueta4,etiqueta5,nombre_ciudad,
|
||||
nombre_vend,xnombre_p,xmedida,xtotal_p,
|
||||
condicion.descrip,psimbolo,xorden,xetiqueta,soportes,ximagen,
|
||||
instalador,xtipo_tarjeta,xtarjeta,vendedor_aux
|
||||
|
||||
|
||||
AFTER GROUP OF z.area
|
||||
# LET total_area = GROUP SUM(z.cantidad*z.precio)
|
||||
LET total_area = GROUP SUM (z.cantidad*z.precio) -GROUP SUM(z.cantidad*z.precio*(z.porc_Desc/100))
|
||||
PRINTX total_area
|
||||
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user