533 lines
21 KiB
Plaintext
533 lines
21 KiB
Plaintext
SCHEMA smarmotech
|
|
GLOBALS
|
|
DEFINE p_iptb01 RECORD LIKE iptb00001.*,
|
|
p_companias RECORD LIKE companias.*,
|
|
sucnombre VARCHAR(60),
|
|
fecha_vencimiento DATE,
|
|
pubicacion VARCHAR(80),
|
|
cliente_bas RECORD LIKE vetb00004.*,
|
|
condicion RECORD LIKE vetb00012.*
|
|
|
|
END GLOBALS
|
|
FUNCTION facturar(xcotizacion,xsucid,numero_orden,usuarios,clave,impresor,pcodigodgii,pcomprobante,pfecha_vence)
|
|
DEFINE xcotizacion,numero_orden,xnumero_factura,
|
|
kncf INT,
|
|
xsucid,idx,cod_fact,impresor SMALLINT,
|
|
archivo,imprime STRING,
|
|
usuarios,clave VARCHAR(50),
|
|
xdireccion_proyecto VARCHAR(100),
|
|
xvalor_desc DEC(12,2),
|
|
tot_porc DEC(12,5),
|
|
p_bonifica DYNAMIC ARRAY OF DECIMAL(12,3),
|
|
pcodigodgii CHAR(10),
|
|
pfecha_vence DATE,
|
|
pcomprobante VARCHAR(60)
|
|
|
|
|
|
DEFINE fact_gral RECORD
|
|
cod_cia LIKE vetb00002.cod_cia,
|
|
ventas LIKE vetb00002.ventas,
|
|
zona CHAR(3),
|
|
factura LIKE vetb00002.factura,
|
|
bodega SMALLINT,
|
|
conduce LIKE vetb00002.conduce,
|
|
fecha_conduce DATE,
|
|
fecha_factura DATE,
|
|
tipo_cliente LIKE vetb00002.tipo_cliente,
|
|
sec_cliente LIKE vetb00002.sec_cliente,
|
|
nombre CHAR(30),
|
|
direccion CHAR(80),
|
|
ciudad CHAR(20),
|
|
prima_us LIKE vetb00002.prima_us,
|
|
porc_desc LIKE vetb00002.porc_desc,
|
|
cond_pago LIKE vetb00002.cond_pago,
|
|
orden INT,
|
|
fecha_orden DATE,
|
|
porc_itbi LIKE vetb00002.porc_itbi,
|
|
sec_vend LIKE vetb00002.sec_vend,
|
|
nombre_vend CHAR(60),
|
|
cod_transp LIKE iptb00006.cod_transp,
|
|
sec_transp LIKE iptb00006.sec_transp,
|
|
cod_tarifa LIKE iptb00006.cod_tarifa,
|
|
nombre_tran CHAR(30),
|
|
fecha_embarque DATE,
|
|
placa_transp LIKE iptb00006.placa,
|
|
sub_total DECIMAL(12,2),
|
|
desc_valor DECIMAL(12,2),
|
|
itbi DECIMAL(12,2),
|
|
total_fact DECIMAL(12,2)
|
|
END RECORD
|
|
DEFINE fact_det DYNAMIC ARRAY OF RECORD
|
|
area SMALLINT,
|
|
cod_n INT,
|
|
cod_grupo INT,
|
|
cod_tipo INT,
|
|
cod_sec INT,
|
|
descrip_esp CHAR(50),
|
|
unidad_med CHAR(5),
|
|
cantidad DEC(12,5),
|
|
precio LIKE vetb00003.precio,
|
|
cantidad_2 LIKE vetb00003.cantidad_2,
|
|
monto_fact DECIMAL(12,2),
|
|
kit_id INT
|
|
END RECORD,
|
|
documento_refe,copia VARCHAR(50),
|
|
negrilla_on,negrillas_of,doble_on,doble_off,comp_on,comp_off,
|
|
doce,NORMAL char(3)
|
|
|
|
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
|
|
doble_on,doble_off,comp_on,comp_off,
|
|
doce,normal,archivo,copia
|
|
|
|
SELECT a.tipo_cliente,a.sec_cliente,a.nombre_cliente,a.direccion_cliente,a.direccion_proyecto,
|
|
a.total_bruto,a.monto_desc,a.monto_itbi,a.porc_itbi,a.total_neto,a.telefono_o,b.nombre_file,b.num_oc,
|
|
a.ventas,a.cod_provincia,CONVERT(CHAR(10),b.fecha_oc,103),a.sec_vend,a.cond_pago,
|
|
a.prima,c.descrip,ISNULL(RTRIM(d.nom1_emp),' ')+' '+ISNULL(RTRIM(d.apell1_emp),' '),
|
|
CONVERT(CHAR(10),a.fecha,103)
|
|
INTO fact_gral.tipo_cliente,fact_gral.sec_cliente,fact_gral.nombre,fact_gral.direccion,
|
|
xdireccion_proyecto,
|
|
fact_gral.sub_total,fact_gral.desc_valor,fact_gral.itbi,fact_gral.porc_itbi,fact_gral.total_fact,
|
|
cliente_bas.telefono,documento_refe,fact_gral.orden,fact_gral.ventas,
|
|
fact_gral.zona,fact_gral.fecha_orden,fact_gral.sec_vend,fact_gral.cond_pago,
|
|
fact_gral.prima_us,condicion.descrip,fact_gral.nombre_vend,
|
|
fact_gral.fecha_factura
|
|
FROM vetb00050 a LEFT OUTER JOIN prtb00012 b ON a.cotizacion_no = b.cotizacion_no AND b.status_t IS NULL
|
|
INNER JOIN
|
|
vetb00012 c ON a.cond_pago = c.cond_pago INNER JOIN adtb00003 d ON a.sec_vend = d.num_emp
|
|
WHERE a.cotizacion_no = xcotizacion
|
|
|
|
SELECT a.ult_factura INTO xnumero_factura FROM vetb00001 a WHERE a.sucid = xsucid
|
|
|
|
IF xnumero_factura IS NULL THEN
|
|
LET xnumero_factura = 0
|
|
END IF
|
|
LET fact_gral.factura = xnumero_factura + 1
|
|
|
|
# SUMA EL VALOR EN EL DETALLE DE LA COTIZACION
|
|
|
|
SELECT a.ncf INTO kncf FROM vetb00073 a
|
|
WHERE a.tipo_doc = "FT" AND
|
|
a.codigo_dgii = pcodigodgii
|
|
LET kncf = kncf + 1
|
|
START REPORT imp_fact_ncf TO archivo
|
|
BEGIN WORK
|
|
UPDATE vetb00073 SET ncf = kncf WHERE tipo_doc = 'FT' AND codigo_dgii = pcodigodgii
|
|
|
|
INSERT INTO vetb00002 (cod_cia,ventas,zona,factura,fecha_factura,tipo_cliente,sec_cliente,orden,documento,nombre_cliente,
|
|
direccion_cliente,direccion_proyecto,sub_total,monto_desc,porc_itbi,monto_itbi,neto,
|
|
us_crea,fech_crea,sucid,fecha_orden,sec_vend,cond_pago,prima_us)
|
|
VALUES ('1',fact_gral.ventas,fact_gral.zona, fact_gral.factura,GETDATE(),fact_gral.tipo_cliente,fact_gral.sec_cliente,fact_gral.orden,
|
|
xcotizacion,
|
|
fact_gral.nombre,fact_gral.direccion,
|
|
xdireccion_proyecto,fact_gral.sub_total,fact_gral.desc_valor,fact_gral.porc_itbi,fact_gral.itbi,
|
|
fact_gral.total_fact,suser_sname(),getdate(),xsucid,fact_gral.fecha_orden,
|
|
fact_gral.sec_vend,fact_gral.cond_pago,fact_gral.prima_us)
|
|
|
|
# INSERTA EN LA TABLA COMPROBANTE FISCAL
|
|
INSERT INTO vetb00072 (documento,tipo_Doc,codigo_dgii,ncf,us_crea,fech_crea,sucid)
|
|
VALUES (xnumero_factura,'FT',pcodigodgii,kncf,suser_sname(),getdate(),xsucid)
|
|
|
|
DECLARE busca_items CURSOR FOR
|
|
SELECT a.area,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec,a.cantidad,a.precio,a.porc_Desc,
|
|
b.descrip_esp FROM vetb00051 a,iptb00002 b
|
|
WHERE a.cotizacion_no = xcotizacion AND a.cod_n = b.cod_n AND a.cod_grupo = b.cod_grupo AND
|
|
a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec
|
|
LET idx = 1
|
|
|
|
LET xvalor_desc = 0
|
|
FOREACH busca_items INTO fact_det[idx].area,fact_det[idx].cod_n,fact_det[idx].cod_grupo,
|
|
fact_det[idx].cod_tipo,fact_det[idx].cod_sec,fact_det[idx].cantidad,
|
|
fact_det[idx].precio,fact_det[idx].cantidad_2,fact_det[idx].descrip_esp
|
|
|
|
LET xvalor_desc = (fact_det[idx].cantidad*fact_det[idx].cantidad_2) * (fact_det[idx].cantidad_2/100)
|
|
LET fact_det[idx].monto_fact = (fact_det[idx].precio* fact_det[idx].cantidad)-
|
|
((fact_det[idx].precio* fact_det[idx].cantidad)*
|
|
(fact_det[idx].cantidad_2/100))
|
|
INSERT INTO vetb00003 (factura,area,cod_n,cod_grupo,cod_tipo,cod_sec,cantidad,precio,cantidad_2,bonificacion,
|
|
us_crea,fech_crea)
|
|
VALUES (xnumero_factura,fact_det[idx].area,fact_det[idx].cod_n,fact_det[idx].cod_grupo,
|
|
fact_det[idx].cod_tipo,fact_det[idx].cod_sec,fact_det[idx].cantidad,
|
|
fact_det[idx].precio,fact_det[idx].cantidad_2,xvalor_desc,
|
|
suser_sname(),getdate())
|
|
|
|
LET xvalor_desc = 0
|
|
|
|
LET idx = idx + 1
|
|
END FOREACH
|
|
|
|
UPDATE vetb00001 SET ult_factura = fact_gral.factura,us_mod = usuarios,fech_mod = getdate() WHERE sucid = xsucid
|
|
IF idx = 1 THEN
|
|
ROLLBACK WORK
|
|
ELSE
|
|
COMMIT WORK
|
|
END IF
|
|
|
|
FOR idx = 1 TO fact_det.getLength()
|
|
IF fact_det[idx].cod_sec IS NOT NULL THEN
|
|
LET cod_fact = 1
|
|
|
|
OUTPUT TO REPORT imp_fact_ncf(fact_gral.*,fact_det[idx].*,tot_porc,
|
|
p_bonifica[idx],cod_fact,kncf,pcodigodgii,xcotizacion,documento_refe,pcomprobante)
|
|
END IF
|
|
END FOR
|
|
FINISH REPORT imp_fact_ncf
|
|
|
|
RUN imprime
|
|
# AFTER CUENTAS POR COBRAR
|
|
|
|
|
|
INSERT INTO cctb00001 (cod_cia,tipo_doc,num_doc,tipo_cliente,sec_cliente,cod_emp_sec,fecha_orig,
|
|
fecha_ven,
|
|
aplica_a,valor,monto_desc,us_crea,fech_crea,bodega,sucid,cotizacion_no)
|
|
VALUES (fact_gral.cod_cia,tipo_f,fact_gral.factura,
|
|
fact_gral.tipo_cliente,fact_gral.sec_cliente,
|
|
fact_gral.sec_vend,fact_gral.fecha_factura,fact_gral.fecha_factura,
|
|
fact_gral.factura, fact_gral.total_fact,'0',
|
|
usuarios,GETDATE(),fact_gral.bodega,xsucid,'0')
|
|
|
|
# PARA LA REAPLICACION DE LOS AVANCES
|
|
CALL busca_avance(fact_gral.tipo_cliente,fact_gral.sec_cliente,xcotizacion,fact_gral.total_fact,fact_gral.fecha_factura,
|
|
fact_gral.sec_vend,xsucid,fact_gral.factura,usuarios)
|
|
|
|
END FUNCTION
|
|
|
|
REPORT imp_fact_ncf(x,z,porciento,bonifica,cod_f,pncf,Pcodigodgii,zcotizacion,zdocumento,descripcion)
|
|
|
|
DEFINE x RECORD
|
|
cod_cia LIKE vetb00002.cod_cia,
|
|
ventas LIKE vetb00002.ventas,
|
|
zona CHAR(3),
|
|
factura LIKE vetb00002.factura,
|
|
bodega SMALLINT,
|
|
conduce LIKE vetb00002.conduce,
|
|
fecha_conduce DATE,
|
|
fecha_factura DATE,
|
|
tipo_cliente LIKE vetb00002.tipo_cliente,
|
|
sec_cliente LIKE vetb00002.sec_cliente,
|
|
nombre CHAR(30),
|
|
direccion CHAR(80),
|
|
ciudad CHAR(20),
|
|
prima_us LIKE vetb00002.prima_us,
|
|
porc_desc LIKE vetb00002.porc_desc,
|
|
cond_pago LIKE vetb00002.cond_pago,
|
|
orden INT,
|
|
fecha_orden DATE,
|
|
porc_itbi LIKE vetb00002.porc_itbi,
|
|
sec_vend LIKE vetb00002.sec_vend,
|
|
nombre_vend CHAR(60),
|
|
cod_transp LIKE iptb00006.cod_transp,
|
|
sec_transp LIKE iptb00006.sec_transp,
|
|
cod_tarifa LIKE iptb00006.cod_tarifa,
|
|
nombre_tran CHAR(30),
|
|
fecha_embarque DATE,
|
|
placa_transp LIKE iptb00006.placa,
|
|
sub_total DECIMAL(12,2),
|
|
desc_valor DECIMAL(12,2),
|
|
itbi DECIMAL(12,2),
|
|
total_fact DECIMAL(12,2)
|
|
END RECORD,
|
|
zcotizacion INT,
|
|
zdocumento varchar(50),
|
|
descripcion VARCHAR(60)
|
|
DEFINE z RECORD
|
|
area SMALLINT,
|
|
cod_n SMALLINT,
|
|
cod_grupo SMALLINT,
|
|
cod_tipo SMALLINT,
|
|
cod_sec SMALLINT,
|
|
descrip_esp CHAR(50),
|
|
unidad_med CHAR(5),
|
|
cantidad DEC(12,5),
|
|
precio LIKE vetb00003.precio,
|
|
cantidad_2 LIKE vetb00003.cantidad_2,
|
|
monto_fact DECIMAL(12,2),
|
|
kit_id INT
|
|
|
|
END RECORD,
|
|
Pcodigodgii LIKE vetb00071.codigo_dgii
|
|
|
|
DEFINE i,cod_f SMALLINT
|
|
DEFINE bonifica,pncf INTEGER
|
|
DEFINE tot_b,tot_n,tot_m DECIMAL(12,2),
|
|
ch_fech CHAR(20)
|
|
DEFINE porciento DECIMAL(8,3)
|
|
DEFINE normal,doce,negras,negras_off,doble CHAR(2)
|
|
DEFINE rnc CHAR(11)
|
|
DEFINE comprimido,comprimido_of CHAR(1)
|
|
DEFINE j,lj,h INTEGER
|
|
|
|
OUTPUT
|
|
TOP MARGIN 2
|
|
LEFT MARGIN 0
|
|
# PAGE LENGTH 65
|
|
BOTTOM MARGIN 3
|
|
ORDER BY x.factura,z.cod_n,z.cod_sec
|
|
|
|
FORMAT
|
|
|
|
PAGE HEADER
|
|
LET comprimido = ASCII 15
|
|
LET comprimido_of = ASCII 18
|
|
LET negras = ASCII 27, ASCII 69
|
|
LET negras_off = ASCII 27, ASCII 70
|
|
LET doble = ASCII 14
|
|
LET doce = ASCII 27, ASCII 77
|
|
LET normal = ASCII 27, ASCII 80
|
|
|
|
SELECT a.nombre INTO p_companias.nombre FROM companias a
|
|
|
|
LET lj = (80 - LENGTH(p_companias.nombre CLIPPED))/2
|
|
LET j = (80 - LENGTH(p_companias.direccion CLIPPED||", "||p_companias.direccion1 CLIPPED))/2
|
|
LET i = (80 - LENGTH("Tels : "||p_companias.telefono ||
|
|
" Fax : "||p_companias.fax CLIPPED))/2
|
|
LET h = (80 - LENGTH(p_companias.rnc CLIPPED))/2
|
|
|
|
#--------------------------------------------------------
|
|
PRINT COLUMN 1, normal,doble,p_companias.nombre CLIPPED
|
|
|
|
PRINT COLUMN 1,doce, p_companias.direccion CLIPPED,", ",
|
|
p_companias.direccion1 CLIPPED,
|
|
COLUMN 61, descripcion[1,29]
|
|
PRINT COLUMN 1, sucnombre,
|
|
COLUMN 61,descripcion[30,60]
|
|
|
|
PRINT COLUMN 1, "RNC : ",p_companias.rnc,
|
|
COLUMN 60,"NCF: ",pcodigodgii CLIPPED,pncf USING "&&&&&&&&"
|
|
|
|
PRINT COLUMN 1, "Tels : ",p_companias.telefono ,
|
|
" Fax : ",p_companias.fax;
|
|
IF pcodigodgii <> 'B02' THEN
|
|
PRINT COLUMN 61, "Valida Hasta: ",fecha_vencimiento USING "dd/mm/yyyy"
|
|
ELSE
|
|
PRINT COLUMN 61, ' '
|
|
END IF
|
|
PRINT COLUMN 1, "Pag. ", pageno using "###"
|
|
|
|
|
|
|
|
#PRINT normal,comprimido_of
|
|
|
|
#--------------------------------------------------------
|
|
|
|
|
|
SELECT num_rnc INTO rnc FROM vetb00004
|
|
WHERE tipo_cliente = x.tipo_cliente AND sec_cliente = x.sec_cliente AND
|
|
status_t IS NULL
|
|
|
|
#PRINT normal,comprimido_of
|
|
PRINT COLUMN 1,"----------------------------------------------------------------------------------------------"
|
|
PRINT COLUMN 1, "RNC CLIENTE: ",rnc
|
|
IF x.ventas = "1" THEN
|
|
PRINT COLUMN 1, negras,"SENORES :"
|
|
ELSE
|
|
PRINT COLUMN 1, "SIR :"
|
|
END IF
|
|
|
|
PRINT COLUMN 1, x.nombre CLIPPED," COD.#",x.tipo_cliente using "&&","-",
|
|
x.sec_cliente using "&&&&&&"
|
|
PRINT COLUMN 1, x.direccion CLIPPED," ",cliente_bas.telefono
|
|
PRINT COLUMN 1, x.ciudad CLIPPED
|
|
PRINT COLUMN 1, pubicacion[1,70]
|
|
PRINT COLUMN 1, pubicacion[71,80]
|
|
|
|
PRINT COLUMN 60, doble,"FACTURA ",x.factura using "&&&&&"
|
|
|
|
PRINT COLUMN 1,"--------------------------------------------------------------------------------------------"
|
|
PRINT normal,comprimido
|
|
|
|
|
|
PRINT "======================================================================================================",
|
|
"================================="
|
|
PRINT COLUMN 1, "SALIDA",
|
|
COLUMN 15, "ORDEN",
|
|
COLUMN 35, "FECHA",
|
|
COLUMN 60, "CONDICION",
|
|
COLUMN 77, "VENDEDOR",
|
|
COLUMN 100, "COTIZACION",
|
|
COLUMN 111, "DOCUMENTO",
|
|
COLUMN 123, "FECHA FACTURA"
|
|
|
|
PRINT COLUMN 1, x.conduce using "&&&&&&",
|
|
COLUMN 14, x.orden using "&&&&&&",
|
|
COLUMN 34, x.fecha_orden using "dd/mm/yyyy",
|
|
COLUMN 60, condicion.descrip CLIPPED,
|
|
COLUMN 77, "(",x.sec_vend using "&&&&",") ",x.nombre_vend CLIPPED,
|
|
COLUMN 100, zcotizacion using "&&&&&&",
|
|
COLUMN 111, zdocumento,
|
|
COLUMN 126, x.fecha_factura using "dd/mm/yyyy"
|
|
PRINT "======================================================================================================",
|
|
"================================="
|
|
|
|
LET tot_n = 0
|
|
LET tot_b = 0
|
|
LET tot_m = 0
|
|
PRINT COLUMN 5,"CODIGO",
|
|
COLUMN 21, "CANTIDAD",
|
|
COLUMN 37, "UNIDADES",
|
|
COLUMN 50, "DESCRIPCION",
|
|
COLUMN 102, "PRECIO",
|
|
COLUMN 114, "DESC.",
|
|
COLUMN 131, "TOTAL"
|
|
|
|
PRINT "======================================================================================================",
|
|
"================================="
|
|
|
|
|
|
ON EVERY ROW
|
|
|
|
IF z.cantidad <> 0 THEN
|
|
LET p_iptb01.factor_conv = 1
|
|
LET p_iptb01.unidad = z.unidad_med
|
|
SELECT a.factor_conv,a.unidad INTO p_iptb01.factor_conv,p_iptb01.unidad
|
|
FROM iptb00001 a
|
|
WHERE a.cod_n = z.cod_n AND a.cod_grupo = z.cod_grupo AND
|
|
a.cod_tipo = z.cod_tipo AND a.cod_sec = z.cod_sec
|
|
|
|
IF p_iptb01.factor_conv IS NULL OR p_iptb01.factor_conv = 0 THEN
|
|
LET p_iptb01.factor_conv = 1
|
|
LET p_iptb01.unidad = z.unidad_med
|
|
END IF
|
|
|
|
PRINT COLUMN 5, z.cod_n USING "&&&&","-",z.cod_grupo USING "&&&&","-",
|
|
z.cod_tipo USING "&&&&","-",z.cod_sec USING "&&&&&&",
|
|
COLUMN 13, z.cantidad USING "###,###.###"," ",z.unidad_med CLIPPED,
|
|
COLUMN 32, z.cantidad/p_iptb01.factor_conv USING "###,###",
|
|
COLUMN 50, z.descrip_esp CLIPPED,
|
|
COLUMN 98, z.precio USING "###,###.###",
|
|
COLUMN 114, z.cantidad_2 USING "##.&&",
|
|
COLUMN 123, z.monto_fact USING "##,###,###.##"
|
|
END IF
|
|
|
|
AFTER GROUP OF x.factura
|
|
# Impresion de informaciones que pertenecen a facturas de exportacion
|
|
IF x.ventas = "2" or x.ventas = "4" THEN
|
|
|
|
|
|
PRINT COLUMN 122,"--------------"
|
|
PRINT COLUMN 78, "VALOR BRUTO ",
|
|
COLUMN 122, x.sub_total using "###,###,###.##"
|
|
|
|
|
|
|
|
IF x.desc_valor <> 0 THEN
|
|
|
|
PRINT COLUMN 78,"DISCOUNT",
|
|
COLUMN 122, x.desc_valor using "###,###,###.##"
|
|
END IF
|
|
PRINT COLUMN 122, "--------------"
|
|
PRINT COLUMN 78, "TOTAL F.O.B. PLANT, D.R.",
|
|
COLUMN 122, x.total_fact using "###,###,###.##"
|
|
PRINT COLUMN 122, "______________"
|
|
PRINT COLUMN 122, "--------------"
|
|
|
|
LET ch_fech = x.fecha_embarque using "ddd, mmm. dd, yyyy"
|
|
LET ch_fech = upshift(ch_fech)
|
|
PRINT COLUMN 47, "INLAND FREIGHT : COLLECT"
|
|
PRINT COLUMN 47, "INSURANCE : TO BE COVERED BY CUSTOMER"
|
|
PRINT COLUMN 47, "TO BE SHIPPED : ", ch_fech
|
|
#PRINT COLUMN 47, "EXCHANGE RATE : ", x.prima_us USING "###.##"
|
|
END IF
|
|
|
|
# Impresion de datos que concierne solamente a tipos de facturas locales
|
|
|
|
IF x.ventas = "1" THEN
|
|
#->PRINT COLUMN 122, "--------------"
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 78, "VALOR BRUTO ",
|
|
COLUMN 122, x.sub_total using "###,###,###.##"
|
|
|
|
IF x.desc_valor <> 0 THEN
|
|
|
|
PRINT COLUMN 78, "DESCUENTO",
|
|
COLUMN 093, x.desc_valor using "###,###,###.##"
|
|
#COLUMN 122, x.desc_valor using "###,###,###.##"
|
|
END IF
|
|
|
|
#-> PRINT COLUMN 122, "--------------"
|
|
PRINT COLUMN 78, "SUB-TOTAL",
|
|
COLUMN 119, x.sub_total-x.desc_valor using "RD$###,###,###.##"
|
|
IF x.porc_itbi > 0 THEN
|
|
PRINT COLUMN 78,x.porc_itbi using "###.##","%"," ITBIS",
|
|
COLUMN 122, x.itbi using "###,###,###.##"
|
|
END IF
|
|
PRINT COLUMN 122, "--------------"
|
|
PRINT COLUMN 78, "VALOR NETO ",
|
|
COLUMN 119, x.total_fact using "RD$###,###,###.##"
|
|
PRINT COLUMN 122, "=============="
|
|
|
|
END IF
|
|
|
|
IF x.ventas = "3" THEN
|
|
#->PRINT COLUMN 122, "--------------"
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 78, "VALOR BRUTO ",
|
|
COLUMN 118, x.sub_total using "USD$###,###,###.##"
|
|
|
|
IF x.desc_valor <> 0 THEN
|
|
|
|
PRINT COLUMN 78, "DESCUENTO",
|
|
COLUMN 122, x.desc_valor using "###,###,###.##"
|
|
END IF
|
|
|
|
#-> PRINT COLUMN 122, "--------------"
|
|
PRINT COLUMN 78, "SUB-TOTAL",
|
|
COLUMN 122, x.sub_total-x.desc_valor using "###,###,###.##"
|
|
IF x.porc_itbi > 0 THEN
|
|
PRINT COLUMN 78, x.porc_itbi using "###.##","%"," ITBIS",
|
|
COLUMN 122, x.itbi using "###,###,###.##"
|
|
END IF
|
|
PRINT COLUMN 122, "--------------"
|
|
PRINT COLUMN 78, "VALOR NETO ",
|
|
COLUMN 118, x.total_fact using "USD$###,###,###.##"
|
|
PRINT COLUMN 122, "=============="
|
|
|
|
END IF
|
|
|
|
PRINT comprimido_of
|
|
#SKIP 8 LINE
|
|
|
|
{PAGE TRAILER
|
|
SKIP 1 LINE
|
|
PRINT doce,comprimido_of
|
|
|
|
LET obs1=observacion[1,50]
|
|
LET obs2=observacion[51,101]
|
|
LET obs3=observacion[102,152]
|
|
LET obs4=observacion[152,180]
|
|
|
|
PRINT COLUMN 3, "OBSERVACIONES: ",UPSHIFT(obs1) CLIPPED," ", UPSHIFT(obs2) CLIPPED
|
|
PRINT COLUMN 3, " ",UPSHIFT(obs3) CLIPPED," ", UPSHIFT(obs4) CLIPPED
|
|
# IF x.ventas = 3 THEN
|
|
# PRINT COLUMN 3, "EXCHANGE RATE : ", x.prima_us USING "###.##"
|
|
# ELSE
|
|
# PRINT " "
|
|
# END IF
|
|
SKIP 2 LINES
|
|
|
|
PRINT COLUMN 4, "NOMBRE TRANSPORTISTA: ",x.nombre_tran, " ",
|
|
"CEDULA: ",p_cedula using "&&&&&&&&&",
|
|
" SERIE: ",p_serie using "&&&"
|
|
|
|
PRINT COLUMN 4, "PLACA DEL VEHICULO: ",x.placa_transp}
|
|
{
|
|
SKIP 10 LINES
|
|
PRINT COLUMN 12, x.nombre CLIPPED
|
|
CALL convierte(x.total_fact)
|
|
|
|
PRINT COLUMN 05, valor_letras clipped,
|
|
COLUMN 72, x.total_fact using "###,###,###.##"
|
|
PRINT COLUMN 72, x.factura using "&&&&&"
|
|
|
|
PRINT COLUMN 10, condicion.dias USING "&&"
|
|
}
|
|
{ SKIP 3 LINES
|
|
PRINT COLUMN 4,"-------------------------------",20 SPACES,
|
|
"-------------------------------"
|
|
|
|
PRINT COLUMN 4," FACTURADO POR ",20 SPACES,
|
|
" REVISADO POR "
|
|
|
|
}
|
|
SKIP 2 LINES
|
|
END REPORT
|