663 lines
24 KiB
Plaintext
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
|
|
|