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

663 lines
24 KiB
Plaintext

{
--------------------------------------------------------------------------
PROGRAMA : VEPRCS001
OBJETIVO : Este programa consulta la factura comercial
REALIZADO POR : Tadeo A. Ferreras.
FECHA : Mayo 27,1993.
--------------------------------------------------------------------------
MODIFICACION : INDICAR CUANDO LA FACTURA ES DE PLAN RANCHERO O NO
REALIZADO POR : ING. JOSE ALFREDO PAULINO ALEJO
FECHA : ENERO 20,1997.
--------------------------------------------------------------------------
}
GLOBALS
"veprgb000.4gl"
DEFINE estatus,p_impresion CHAR(1)
DEFINE estado RECORD
nula CHAR(6),
impresa CHAR(6)
END RECORD,
doc_Referencia CHAR(15)
DEFINE cons_fact RECORD
cod_cia LIKE vetb00002.cod_cia,
ventas LIKE vetb00002.ventas ,
zona LIKE vetb00002.zona ,
factura LIKE vetb00002.factura,
fecha_factura CHAR(10),
tipo_cliente LIKE vetb00002.tipo_cliente,
sec_cliente LIKE vetb00002.sec_cliente,
cond_pago LIKE vetb00002.cond_pago,
porc_desc LIKE vetb00002.porc_desc,
prima_us LIKE vetb00002.prima_us,
orden int,
fecha_orden CHAR(10),
conduce int,
fecha_conduce CHAR(10),
porc_itbi LIKE vetb00002.porc_itbi,
sec_vend LIKE vetb00002.sec_vend,
fecha_embarque CHAR(10),
sub_total LIKE vetb00002.sub_total,
desc_valor LIKE vetb00002.monto_desc,
itbi LIKE vetb00002.monto_itbi,
total_fact LIKE vetb00002.neto,
codigo_dgii CHAR(20),
kncf INT,
descripcion_ncf VARCHAR(40),
bodega SMALLINT,
nombre CHAR(30),
direccion CHAR(50),
ciudad CHAR(15),
nombre_desc CHAR(25),
descrip CHAR(25),
nombre_vend CHAR(29),
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
nombre_tran LIKE vetb00015.nombre,
placa_transp LIKE iptb00006.placa,
cod_tarifa LIKE iptb00006.cod_tarifa,
descrip5 CHAR(15),
descrip6 CHAR(15),
descrip1 CHAR(30),
nombre_tipo CHAR(15),
compania CHAR(50),
telefono CHAR(20),
rnc CHAR(11)
END RECORD,
otradb CHAR(1),
codigo_ncf CHAR(19)
DEFINE arr_disp DYNAMIC ARRAY OF RECORD
cod_n LIKE vetb00003.cod_n,
cod_grupo LIKE vetb00003.cod_grupo,
cod_tipo LIKE vetb00003.cod_tipo,
cod_sec LIKE vetb00003.cod_sec,
descrip_esp CHAR(40),
unidad_med CHAR(3),
cantidad LIKE vetb00003.cantidad,
precio LIKE vetb00003.precio,
cantidad_2 DEC(12,2),
monto_fact DECIMAl(10,2)
END RECORD
DEFINE t_valor,valor_p,balance DECIMAL(12,2)
DEFINE p_provincia SMALLINT
DEFINE p_descr1,p_descr2 CHAR(14)
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CALL ARG_VAL(7) RETURNING strconect
LET otradb = 'N'
IF strconect = 'marmotech' THEN
CONNECT to strconect USER 'conecta' USING 'conecta'
ELSE
CONNECT to strconect USER usuarios USING clave
END IF
CALL veprcs001()
END MAIN
FUNCTION veprcs001()
DEFINE hoy DATE
OPTIONS
FORM LINE 3,
ERROR LINE 24,
COMMENT LINE 23,
PROMPT LINE 22
CLEAR SCREEN
OPEN FORM vefmcs001 FROM "vefmcs001"
DISPLAY FORM vefmcs001
DISPLAY "veprcs001" AT 1,1 ATTRIBUTE (blue)
LET hoy = today
DISPLAY hoy using "dd/mm/yy" AT 1,70 ATTRIBUTE (blue)
DISPLAY "Factura de Ventas" AT 3,30 ATTRIBUTE (blue)
DISPLAY "<Esc> Busqueda de Registro" AT 3,1 ATTRIBUTE (BOLD)
DISPLAY "<Delete> Cancela Operacion" AT 3,54 ATTRIBUTE (BOLD)
# WHENEVER ERROR CONTINUE
# DIALOG ATTRIBUTES(UNBUFFERED, FIELD ORDER FORM)
IF strconect = 'marmotech' THEN
CONSTRUCT criterio ON a.cod_cia,a.ventas,a.zona,a.factura,a.bodega,
a.tipo_cliente,a.sec_cliente,a.cond_pago,a.prima_us,
a.orden,a.fecha_orden,a.conduce,
a.porc_itbi,a.sec_vend,a.cod_vend
FROM cod_cia,ventas,zona,factura,bodega,
tipo_cliente,sec_cliente,cond_pago,prima_us,orden,
fecha_orden,conduce,porc_itbi,sec_vend,
factura_e
BEFORE CONSTRUCT
INITIALIZE cons_fact.* TO NULL
CALL bodegas('1')
LET otradb = "N"
AFTER CONSTRUCT
IF INT_FLAG THEN
LET INT_FLAG = FALSE
CALL msg(2)
RETURN
END IF
EXIT CONSTRUCT
END CONSTRUCT
LET selec= "SELECT ' ',a.cod_vend,a.sucid,a.ventas,a.zona,a.factura,CONVERT(CHAR(10),a.fecha_factura,103), ",
" a.tipo_cliente,a.sec_cliente,a.cond_pago,a.porc_desc,a.prima_us, ",
" a.orden,CONVERT(CHAR(10),a.fecha_orden,103),a.conduce,CONVERT(CHAR(10),a.fecha_conduce,103),a.porc_itbi, ",
" a.sec_vend,CONVERT(ChAR(10),a.fecha_embarque,103),a.sub_total,a.monto_desc, ",
" a.monto_itbi,a.neto,b.codigo_dgii,b.ncf,c.tipo_ncf,a.bodega ",
"FROM vetb00002 a,vetb00072 b,vetb00071 c WHERE ",criterio clipped,
" AND a.sucid = b.sucid and b.sucid = c.sucid AND a.factura = b.documento AND b.tipo_doc IN ('FT','FE') ",
" and b.codigo_dgii = c.codigo_dgii ",
" ORDER BY a.factura,a.fecha_factura "
ELSE
CONSTRUCT criterio ON a.cod_cia,a.ventas,a.zona,a.factura,a.bodega,
a.tipo_cliente,a.sec_cliente,a.cond_pago,a.prima_us,
a.orden,a.fecha_orden,a.conduce,
a.porc_itbi,a.sec_vend,a.cod_vend,a.documento_ref
FROM cod_cia,ventas,zona,factura,bodega,
tipo_cliente,sec_cliente,cond_pago,prima_us,orden,
fecha_orden,conduce,porc_itbi,sec_vend,
factura_e,doc_referencia
BEFORE CONSTRUCT
INITIALIZE cons_fact.* TO NULL
CALL bodegas('1')
LET otradb = "N"
AFTER CONSTRUCT
IF INT_FLAG THEN
LET INT_FLAG = FALSE
CALL msg(2)
RETURN
END IF
EXIT CONSTRUCT
END CONSTRUCT
LET selec =
"SELECT a.documento_ref, a.cod_vend,a.bodega,a.ventas,a.zona,a.factura,CONVERT(CHAR(10),a.fecha_factura,103), ",
" a.tipo_cliente,a.sec_cliente,a.cond_pago,a.porc_desc,a.prima_us, ",
" a.orden,CONVERT(CHAR(10),a.fecha_orden,103),a.conduce,CONVERT(CHAR(10),a.fecha_conduce,103),a.porc_itbi, ",
" a.sec_vend,CONVERT(CHAR(10),a.fecha_embarque,103),a.sub_total,a.monto_desc, ",
" a.monto_itbi,a.neto,a.cod_vend,a.bodega ",
"FROM vetb00002 a WHERE ",criterio clipped,
" ORDER BY a.factura,a.fecha_factura "
END IF
PREPARE comando FROM selec
DECLARE buscar SCROLL CURSOR FOR comando
OPEN buscar
FETCH FIRST buscar INTO doc_referencia,factura_e,cons_fact.*,estado.*
IF status = notfound THEN
LET numero_msg = 3
CALL msg(numero_msg)
END IF
IF STATUS < 0 THEN
CALL integridad()
IF bandera = 1 THEN
LET bandera = 0
RETURN
END IF
END IF
IF int_flag THEN
LET numero_msg = 2
CALL msg(numero_msg)
LET int_flag = FALSE
RETURN
END IF
CALL informacion()
MENU "Opciones"
COMMAND "Siguiente" "Ver proximo registro"
FETCH NEXT buscar INTO doc_referencia,factura_e,cons_fact.*,estado.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 4
CALL msg(numero_msg)
END IF
CALL informacion()
COMMAND "Anterior" "Ver registro anterior"
FETCH PREVIOUS buscar INTO doc_referencia,factura_e,cons_fact.*,estado.*
IF STATUS = NOTFOUND THEN
LET numero_msg = 5
CALL msg(numero_msg)
END IF
CALL informacion()
COMMAND "Primero" "Ver primer registro"
FETCH FIRST buscar INTO doc_referencia,factura_e,cons_fact.*,estado.*
LET numero_msg = 5
CALL msg(numero_msg)
CALL informacion()
COMMAND "Ultimo" "Ver ultimo registro"
FETCH LAST buscar INTO doc_referencia,factura_e,cons_fact.*,estado.*
LET numero_msg = 4
CALL msg(numero_msg)
CALL informacion()
COMMAND "Ver" "Ver Productos"
CALL visualizar()
COMMAND "Retornar"
EXIT MENU
END MENU
# END DIALOG
END FUNCTION
FUNCTION visualizar()
LET int_flag = FALSE
CALL arr_disp.clear()
IF strconect = 'smarmotech' THEN
LET selec =
" SELECT m.cod_n,m.cod_grupo,m.cod_tipo,m.cod_sec,a.descrip_esp, ",
" a.unidad_med,m.cantidad,m.cantidad_2,m.precio,m.cantidad*m.precio ",
" FROM vetb00003 m, iptb00002 a ",
" WHERE m.cod_n = a.cod_n AND m.cod_grupo = a.cod_grupo AND ",
" m.cod_tipo = a.cod_tipo AND m.cod_sec = a.cod_sec AND ",
" m.factura = ? "
{ SE COLOCO EN COMENTARIO PORQUE EL UNION AUTOMATICAMENTE NO TRAE LOS REGISTROS REPETIDOS
" UNION ",
" SELECT m.cod_n,m.cod_grupo,m.cod_tipo,m.cod_sec,a.descrip_esp, ",
" a.unidad_med,m.cantidad,m.precio,m.cantidad*m.precio ",
" FROM historicomtech.dbo.vetb00003 m, historicomtech.dbo.iptb00002 a ",
" WHERE m.cod_n = a.cod_n AND m.cod_grupo = a.cod_grupo AND ",
" m.cod_tipo = a.cod_tipo AND m.cod_sec = a.cod_sec AND ",
" m.factura =? "
}
ELSE
LET selec =
" SELECT m.cod_n,m.cod_grupo,m.cod_tipo,m.cod_sec,a.descrip_esp, ",
" a.unidad_med,m.cantidad,m.cantidad_2,m.precio,m.cantidad*m.precio ",
" FROM vetb00003 m, iptb00002 a ",
" WHERE m.cod_n = a.cod_n AND m.cod_grupo = a.cod_grupo AND ",
" m.cod_tipo = a.cod_tipo AND m.cod_sec = a.cod_sec AND ",
" m.factura = ? and m.sucid= ?"
END IF
PREPARE cmdfact FROM selec
DECLARE buscar1 CURSOR FOR cmdfact
IF strconect = 'smarmotech' THEN
OPEN buscar1 USING cons_fact.factura, cons_fact.factura
ELSE
OPEN buscar1 USING cons_fact.factura,cons_fact.cod_cia
END IF
LET curr = 1
FOREACH buscar1 INTO arr_disp[curr].*
# DISPLAY "data ",curr," ",arr_disp[curr].cod_grupo," ",arr_disp[curr].cod_sec
LET curr = curr + 1
END FOREACH
#CALL SET_COUNT(curr - 1)
DISPLAY ARRAY arr_disp TO s_fact.*
ON ACTION imprimir
CALL impresion_fact(cons_fact.*,arr_disp)
AFTER DISPLAY
IF int_flag THEN
LET numero_msg = 12
CALL msg(numero_msg)
EXIT DISPLAY
END IF
END DISPLAY
IF INT_FLAG THEN
LET int_flag = FALSE
RETURN
END IF
END FUNCTION
FUNCTION informacion()
IF cons_fact.cod_cia = 1 THEN
LET cons_fact.compania = p_companias.nombre CLIPPED
END IF
DISPLAY BY NAME cons_fact.compania,factura_e
SELECT a.nombre,a.cod_provincia,a.telefono,a.num_rnc
INTO cons_fact.nombre,p_provincia,cons_fact.telefono,cons_fact.rnc
FROM vetb00004 a
WHERE a.tipo_cliente = cons_fact.tipo_cliente and
a.sec_cliente = cons_fact.sec_cliente
DISPLAY BY NAME cons_fact.nombre,cons_fact.telefono,cons_fact.rnc
SELECT b.calle,b.casa_num,b.barrio INTO descrip1,descrip2,descrip3
FROM vetb00005 b
WHERE b.tipo_cliente = cons_fact.tipo_cliente and
b.sec_cliente = cons_fact.sec_cliente and
b.status_t IS NULL
SELECT q.nombre_provincia INTO cons_fact.ciudad
FROM vetb00020 q
WHERE q.cod_provincia = p_provincia
AND q.status_t IS NULL
LET cons_fact.direccion = descrip1 clipped," ",descrip2 clipped,
", ",descrip3 clipped
DISPLAY BY NAME cons_fact.direccion,cons_fact.ciudad
LET estatus = NULL
SELECT UNIQUE status_t,status_impresion INTO estatus,p_impresion
FROM vetb00002 WHERE factura = cons_fact.factura
IF estatus = "E" THEN
LET estado.nula = "NULA"
ELSE
LET estado.nula = "ACTIVA"
END IF
IF p_impresion = "S" THEN
LET estado.impresa = "Impresa"
ELSE
LET estado.impresa = "N Impre"
END IF
IF cons_fact.cod_cia = 1 THEN
LET cons_fact.compania = p_companias.nombre CLIPPED
END IF
IF cons_fact.ventas = 1 THEN
LET cons_fact.nombre_tipo = "L O C A L"
END IF
IF cons_fact.ventas = 2 THEN
LET cons_fact.nombre_tipo = "EXPORTACION"
END IF
DISPLAY BY NAME estado.* ATTRIBUTE(REVERSE,blue)
SELECT a.nombre,a.cod_provincia INTO cons_fact.nombre,p_provincia
FROM vetb00004 a
WHERE a.tipo_cliente = cons_fact.tipo_cliente and
a.sec_cliente = cons_fact.sec_cliente
SELECT b.calle,b.casa_num,b.barrio INTO p_descr1,p_descr2,descrip3
FROM vetb00005 b
WHERE b.tipo_cliente = cons_fact.tipo_cliente and
b.sec_cliente = cons_fact.sec_cliente and b.status_t IS NULL
SELECT q.nombre_provincia INTO cons_fact.ciudad
FROM vetb00020 q
WHERE q.cod_provincia = p_provincia AND q.status_t IS NULL
LET cons_fact.direccion =p_descr1 clipped," ",p_descr2 clipped,
", ",descrip3 clipped
IF cons_fact.ventas = "1" THEN
SELECT descrip INTO cons_fact.descrip1 FROM vetb00008
WHERE cod_zona = cons_fact.zona
END IF
IF cons_fact.ventas = "2" THEN
SELECT unique nom_pais INTO cons_fact.descrip1 FROM cotb00018
WHERE cod_pais = cons_fact.zona
END IF
SELECT a.descrip,a.dias INTO cons_fact.descrip,dias_v
FROM vetb00012 a WHERE a.cond_pago = cons_fact.cond_pago
SELECT UNIQUE nom1_emp,apell1_emp INTO p_descr1,p_descr2
FROM adtb00003 WHERE num_emp = cons_fact.sec_vend
LET cons_fact.nombre_vend = p_descr1 clipped," ",p_descr2 clipped
DISPLAY BY NAME cons_fact.nombre_vend
SELECT UNIQUE a.cod_transp,a.sec_transp,a.placa,a.cod_tarifa
INTO cons_fact.cod_transp,cons_fact.sec_transp,cons_fact.placa_transp,
cons_fact.cod_tarifa
FROM iptb00006 a
WHERE (a.status_t IS NULL) AND (a.num_doc=cons_fact.factura) AND
(a.cod_mov IN (30,31)) AND a.fecha > "01/01/2007" AND
a.cod_cia = cons_fact.cod_cia AND a.bodega = cons_fact.bodega
SELECT a.nombre INTO cons_fact.nombre_tran FROM vetb00015 a
WHERE a.cod_transp = cons_fact.cod_transp and
a.sec_transp = cons_fact.sec_transp and a.status_t is null
SELECT a.descrip INTO descrip6 FROM vetb00023 a
WHERE a.cod_tarifa = cons_fact.cod_tarifa and a.status_t is null
LET cons_fact.descrip5 = descrip6[1,15] clipped
LET cons_fact.descrip6 = descrip6[16,30] CLIPPED
LET cons_fact.codigo_dgii = cons_fact.codigo_dgii CLIPPED,cons_fact.kncf USING "&&&&&&&&"
DISPLAY BY NAME cons_fact.*,factura_e,doc_referencia
END FUNCTION
REPORT imp_factura(x,z,porciento,bonifica,cod_f,pncf,pcodigodgii,descripcion,observacion,usuarios,fecha_vencimiento)
DEFINE x RECORD
cod_cia LIKE vetb00002.cod_cia,
ventas LIKE vetb00002.ventas ,
zona LIKE vetb00002.zona ,
factura LIKE vetb00002.factura,
fecha_factura CHAR(10),
tipo_cliente LIKE vetb00002.tipo_cliente,
sec_cliente LIKE vetb00002.sec_cliente,
cond_pago LIKE vetb00002.cond_pago,
porc_desc LIKE vetb00002.porc_desc,
prima_us LIKE vetb00002.prima_us,
orden int,
fecha_orden CHAR(10),
conduce int,
fecha_conduce CHAR(10),
porc_itbi LIKE vetb00002.porc_itbi,
sec_vend LIKE vetb00002.sec_vend,
fecha_embarque CHAR(10),
sub_total LIKE vetb00002.sub_total,
desc_valor LIKE vetb00002.monto_desc,
itbi LIKE vetb00002.monto_itbi,
total_fact LIKE vetb00002.neto,
codigo_dgii CHAR(20),
kncf INT,
descripcion_ncf VARCHAR(40),
bodega SMALLINT,
nombre CHAR(30),
direccion CHAR(50),
ciudad CHAR(15),
nombre_desc CHAR(25),
descrip CHAR(25),
nombre_vend CHAR(29),
cod_transp LIKE iptb00006.cod_transp,
sec_transp LIKE iptb00006.sec_transp,
nombre_tran LIKE vetb00015.nombre,
placa_transp LIKE iptb00006.placa,
cod_tarifa LIKE iptb00006.cod_tarifa,
descrip5 CHAR(15),
descrip6 CHAR(15),
descrip1 CHAR(30),
nombre_tipo CHAR(15),
compania CHAR(50),
telefono CHAR(20),
rnc CHAR(11)
END RECORD,
pncf INT, pcodigodgii CHAR(30),
descripcion,descripcion_bodega VARCHAR(100),
fecha_vencimiento DATE
DEFINE z RECORD
cod_n LIKE vetb00003.cod_n,
cod_grupo LIKE vetb00003.cod_grupo,
cod_tipo LIKE vetb00003.cod_tipo,
cod_sec LIKE vetb00003.cod_sec,
descrip_esp CHAR(40),
unidad_med CHAR(3),
cantidad LIKE vetb00003.cantidad,
cantidad_2 LIKE vetb00003.cantidad_2,
precio LIKE vetb00003.precio,
monto_fact DECIMAl(10,2)
END RECORD,
telefono char (30),celular char(15),
descrip_cond CHAR(50),
observacion VARCHAR(100)
DEFINE punidad,conduce_alm INTEGER,
i,cod_f SMALLINT
DEFINE c_cajas,bonifica INTEGER
DEFINE tot_b,tot_n,tot_m,peso_n,medida,peso_b DECIMAL(12,2),
ch_fech,ch_ncf CHAR(20)
DEFINE porciento DECIMAL(8,3)
DEFINE valor_porc DECIMAL (12,2)
DEFINE rnc CHAR(25)
DEFINE nombre_vend,apellido_vend CHAR(15)
DEFINE hora CHAR(5),
marca,modelo CHAR(25),
ldescuento DEC(12,2),
p_companias RECORD LIKE companias.*,
imagen BYTE,
localidad SMALLINT,
xconduce_almacen,pcotizacion INT,
xdireccion,filedestino,nombre_file,sucnombre,chventas,xbodega,direccion_sucursal VARCHAR(100),
usuarios,codigo VARCHAR(50),
simbolo VARCHAR(4),
ch_fechavence VARCHAR(10),
vimagen BOOLEAN,
cliente_bas RECORD LIKE vetb00004.*,
condicion RECORD LIKE vetb00012.*,
ch_fecha VARCHAR(10),
visualiza VARCHAR(2)
OUTPUT
TOP MARGIN 0
PAGE LENGTH 66
LEFT MARGIN 0
ORDER BY x.factura
FORMAT
FIRST PAGE HEADER
LET xconduce_almacen = x.conduce
SELECT a.descripcion INTO descripcion_bodega FROM intb00009 a WHERE a.cod_bodega = x.bodega
SELECT MAX(a.conduce) INTO pcotizacion FROM vetb00002 a WHERE a.factura = x.factura
SELECT a.descrip INTO condicion.descrip FROM vetb00012 a WHERE a.cond_pago = x.cond_pago
SELECT a.telefono,a.telex INTO cliente_bas.telefono,cliente_bas.telex FROM vetb00004 a
WHERE a.tipo_cliente = x.tipo_cliente AND a.sec_cliente = x.sec_cliente
SELECT a.* INTO p_companias.* FROM companias a WHERE a.cod_comp = x.cod_cia
SELECT a.sucid,b.sucnombre,b.direccion,c.nombre_provincia,b.telefono,b.fax,b.rnc,a.bodega
INTO localidad,sucnombre,direccion_sucursal,p_companias.direccion1,
p_companias.telefono,p_companias.fax,p_companias.rnc
FROM seg0001 a,sucursales b,vetb00020 c
WHERE a.usuario = usuarios AND a.sucid = b.sucid AND b.localidad = c.cod_provincia
SELECT a.descripcion,a.simbolo INTO chventas,simbolo FROM vetb00060 a WHERE a.ventas = x.ventas
SELECT a.descripcion INTO xbodega FROM intb00009 a WHERE a.cod_bodega = x.bodega
LET conduce_alm = 0
SELECT a.conduce_almacen INTO conduce_alm FROM vetb00002 a WHERE a.factura = x.factura AND a.sucid = localidad
LET vimagen=TRUE
LOCATE imagen IN MEMORY
SELECT a.firmafactura,a.nombre_file_firma INTO imagen,nombre_file FROM seg0001 a WHERE a.usuario = usuarios
LET filedestino = 'E:\\MARMOTECH\\test\\IMAGENES\\tmp\\',usuarios CLIPPED,nombre_file CLIPPED
IF imagen IS NULL THEN
LET vimagen=FALSE
ELSE
CALL imagen.writeFile(filedestino)
CALL comprimeImagen(filedestino,' -resize 200x200 ')
CALL imagen.readFile(filedestino)
END IF
AFTER GROUP OF x.factura
LET telefono = NULL
LET rnc = NULL
LET tot_n = 0
LET tot_b = 0
LET tot_m = 0
ON EVERY ROW
LET codigo = z.cod_n USING "&&&","-",z.cod_grupo USING "&&&&","-",z.cod_tipo USING "&&&&","-",
z.cod_Sec USING "&&&&&&&"
{if x.direccion is null then
SELECT b.calle||' '||b.casa_num||''||b.barrio||' '||b.urbanizacion
INTO x.direccion
FROM vetb00005 b
WHERE b.tipo_cliente = x.tipo_cliente AND
b.sec_cliente = x.sec_cliente
end if}
IF x.tipo_cliente = 19 OR x.tipo_cliente = 18 THEN
LET visualiza = "NO"
ELSE
LET visualiza = "SI"
END IF
LET ch_ncf ="NCF:", pcodigodgii CLIPPED,pncf USING "&&&&&&&&"
SELECT a.num_rnc,a.telefono INTO rnc,telefono FROM vetb00004 a
WHERE a.tipo_cliente = x.tipo_cliente AND a.sec_cliente = x.sec_cliente AND
a.status_t IS NULL
SELECT a.descrip INTO descrip_cond FROM vetb00012 a
WHERE a.cond_pago = x.cond_pago
LET punidad = z.unidad_med
LET marca = NULL
LET modelo = NULL
LET ch_fecha = fecha_vencimiento USING "dd/mm/yyyy"
LET ldescuento = (z.cantidad_2 / 100) * (z.precio*z.cantidad)
LET xdireccion = x.direccion
PRINTX z.cod_n,z.cod_grupo,z.cod_tipo,z.cod_sec,
z.cantidad,z.unidad_med ,
z.descrip_esp ,marca , modelo ,visualiza,
x.sub_total,ldescuento,z.monto_fact,z.cantidad_2,
direccion_sucursal,p_companias.telefono,
p_companias.fax,p_companias.rnc,x.cond_pago, descripcion,
pcodigodgii,x.factura , x.fecha_factura,
x.sec_vend,x.nombre_vend ,x.nombre,x.tipo_cliente,
x.sec_cliente,x.conduce, # x.orden
xdireccion ,
x.porc_desc , x.desc_valor,z.precio,
x.porc_itbi, x.itbi,x.total_fact,
celular,x.prima_us,rnc,
p_companias.nombre,telefono,
ch_ncf,descrip_cond,observacion,
imagen,chventas,simbolo,x.nombre_tran,x.placa_transp,xbodega,
conduce_alm,ch_fecha,fecha_vencimiento,vimagen,
cliente_bas.telefono,cliente_bas.telex,descripcion_bodega,
condicion.descrip,xconduce_almacen,sucnombre,x.orden,x.direccion,pcotizacion
END REPORT