{ -------------------------------------------------------------------------- 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 " Busqueda de Registro" AT 3,1 ATTRIBUTE (BOLD) DISPLAY " 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