226 lines
7.1 KiB
Plaintext
226 lines
7.1 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : VEPRRP012
|
|
OBJETIVO : Transporte de Mercaderia ( Mercancias )
|
|
PROGRAMADOR : Lic. Abner Montalvo Zapata
|
|
FECHA REALIZACION : Enero 18, 1993
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
GLOBALS "veprgb000.4gl"
|
|
DEFINE trx RECORD LIKE iptb00006.*
|
|
DEFINE nombre_p CHAR(30)
|
|
DEFINE p_tarifa DECIMAL(8,2)
|
|
DEFINE factor INTEGER
|
|
DEFINE codigo_p CHAR(3)
|
|
DEFINE seleccion CHAR(200)
|
|
|
|
FUNCTION veprrp012()
|
|
DEFINE codigo_t CHAR(6)
|
|
DEFINE docu INTEGER
|
|
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 23,
|
|
COMMENT LINE 21
|
|
|
|
OPEN FORM vefmrp012 FROM "vefmrp012"
|
|
DISPLAY FORM vefmrp012
|
|
CALL pantalla()
|
|
DISPLAY "veprrp012" AT 4,3
|
|
DISPLAY "Transporde de Mercaderia" AT 6,28
|
|
|
|
LET tipo_papel = 1
|
|
CALL msgrp000(tipo_papel)
|
|
|
|
|
|
INPUT BY NAME rango.*
|
|
AFTER FIELD fech_in
|
|
IF rango.fech_in is null THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fech_in
|
|
END IF
|
|
|
|
BEFORE FIELD fech_fi
|
|
LET rango.fech_fi = TODAY
|
|
DISPLAY BY NAME rango.fech_fi
|
|
|
|
AFTER FIELD fech_fi
|
|
IF rango.fech_fi is null THEN
|
|
LET numero_msg = 16
|
|
CALL msg(numero_msg)
|
|
NEXT FIELD fech_fi
|
|
END IF
|
|
|
|
AFTER INPUT
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
EXIT INPUT
|
|
END INPUT
|
|
|
|
CONSTRUCT BY NAME criterio ON cod_transp,sec_transp
|
|
LET seleccion =
|
|
|
|
"SELECT * FROM iptb00006 ",
|
|
"WHERE fecha between ? and ? and cod_transp is not null and ",
|
|
" status_t is null and ",criterio clipped," ORDER BY fecha "
|
|
|
|
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14
|
|
ATTRIBUTE (REVERSE,BOLD)
|
|
PREPARE comando FROM seleccion
|
|
DECLARE busca CURSOR FOR comando
|
|
OPEN busca USING rango.fech_in,rango.fech_fi
|
|
|
|
START REPORT mercaderia TO "C:\\archivo"
|
|
|
|
DISPLAY " " AT 19,14
|
|
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE)
|
|
|
|
FOREACH busca INTO trx.*
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
# Busca datos de la facturacion
|
|
SELECT @zona INTO codigo_p FROM vetb00002
|
|
WHERE @factura = trx.num_doc
|
|
|
|
# Busca la tarifa del transporte
|
|
SELECT tarifa_pago INTO p_tarifa FROM vetb00023
|
|
WHERE cod_tarifa = trx.cod_tarifa
|
|
|
|
# Busca conversion a cajas
|
|
SELECT cantidad INTO factor FROM vetb00014
|
|
WHERE cod_n = trx.cod_n and cod_grupo = trx.cod_grupo and
|
|
cod_tipo = trx.cod_tipo and cod_sec = trx.cod_sec
|
|
|
|
# Provincias
|
|
SELECT nombre_provincia INTO nombre_p FROM vetb00020
|
|
WHERE cod_provincia = codigo_p
|
|
|
|
LET codigo_t = trx.cod_transp using "##",trx.sec_transp using "####"
|
|
LET docu = trx.num_doc
|
|
LET trx.cantidad_2 = trx.cantidad_2 / factor
|
|
OUTPUT TO REPORT mercaderia(codigo_t,docu,trx.fecha,trx.cantidad_2,
|
|
p_tarifa,nombre_p)
|
|
|
|
END FOREACH
|
|
|
|
FINISH REPORT mercaderia
|
|
CLEAR SCREEN
|
|
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
|
|
|
REPORT mercaderia(codigo_x,documento,fecha_x,cantidad_x,tarifa,nombre_x)
|
|
|
|
DEFINE codigo_x CHAR(6),
|
|
cantidad_x,documento INTEGER,
|
|
tarifa,valor_pagar,total_transp DECIMAL(12,2),
|
|
fecha_x DATE
|
|
|
|
DEFINE nombre_x,nombre_transportista CHAR(30)
|
|
DEFINE doble_on CHAR(2)
|
|
DEFINE doble_off CHAR(2)
|
|
DEFINE negrillas_on CHAR(2)
|
|
DEFINE negrillas_off CHAR(2)
|
|
DEFINE comp_on CHAR(2)
|
|
DEFINE comp_off CHAR(2)
|
|
DEFINE doce CHAR(2)
|
|
DEFINE normal CHAR(2)
|
|
DEFINE hora CHAR(5)
|
|
DEFINE nombre_transp CHAR(30)
|
|
|
|
OUTPUT
|
|
TOP MARGIN 0
|
|
LEFT MARGIN 0
|
|
BOTTOM MARGIN 2
|
|
ORDER BY codigo_x,documento
|
|
FORMAT
|
|
PAGE HEADER
|
|
LET doble_on = ASCII 14
|
|
LET doble_off = ASCII 20
|
|
LET negrillas_on = ASCII 27, ASCII 69
|
|
LET negrillas_off = ASCII 27, ASCII 70
|
|
LET comp_on = ASCII 15
|
|
LET comp_off = ASCII 18
|
|
LET doce = ASCII 27, ASCII 77
|
|
LET normal = ASCII 27, ASCII 80
|
|
LET hora = time
|
|
|
|
|
|
LET lj = (139 - LENGTH(p_companias.nombre CLIPPED))/2
|
|
PRINT COLUMN 1, comp_on, negrillas_on
|
|
PRINT COLUMN 1, "veprrp12",
|
|
COLUMN lj, p_companias.nombre CLIPPED,
|
|
COLUMN 132, "Pag. ", pageno using "###"
|
|
PRINT COLUMN 68, "Sistema de Ventas ",
|
|
COLUMN 130, today using "dd/mm/yyyy"
|
|
PRINT COLUMN 65, "Transporte de Mercaderia",
|
|
COLUMN 135, hora, negrillas_off
|
|
|
|
SKIP 1 LINES
|
|
|
|
PRINT COLUMN 1, "Desde ",rango.fech_in using "dd/mm/yyyy",
|
|
" Hasta ",rango.fech_fi using "dd/mm/yyyy"
|
|
|
|
PRINT COLUMN 1, "--------------------------------------------------",
|
|
"--------------------------------------------------",
|
|
"----------------------------------------"
|
|
|
|
PRINT COLUMN 80, "Fecha",
|
|
COLUMN 108, "Cajas" ,
|
|
COLUMN 115, " Tarifa"
|
|
|
|
PRINT COLUMN 2, "T R A N S P O R T I S T A",
|
|
COLUMN 40, "L O C A L I D A D",
|
|
COLUMN 80, "Documento",
|
|
COLUMN 91, "Documento",
|
|
COLUMN 107, "Documento",
|
|
COLUMN 115, " X Cajas",
|
|
COLUMN 126, "Monto a Pagar"
|
|
|
|
PRINT COLUMN 1, "--------------------------------------------------",
|
|
"--------------------------------------------------" ,
|
|
"----------------------------------------"
|
|
|
|
BEFORE GROUP OF codigo_x
|
|
LET total_transp = 0
|
|
LET valor_pagar = 0
|
|
LET nombre_transp = "NO EXISTE"
|
|
|
|
SELECT a.nombre INTO nombre_transp from vetb00015 a
|
|
WHERE a.cod_transp = trx.cod_transp AND a.sec_transp = trx.sec_transp
|
|
|
|
PRINT COLUMN 1, negrillas_on,codigo_x," ",nombre_transp,
|
|
negrillas_off
|
|
|
|
AFTER GROUP OF documento
|
|
LET valor_pagar = GROUP SUM(cantidad_x) * tarifa
|
|
LET total_transp = total_transp + valor_pagar
|
|
|
|
PRINT COLUMN 40, nombre_x,
|
|
COLUMN 80, fecha_x using "dd/mm/yy",
|
|
COLUMN 92, documento using "&&&&&&",
|
|
COLUMN 107, GROUP SUM(cantidad_x) using "###,###",
|
|
COLUMN 116, tarifa using "###.##",
|
|
COLUMN 126, valor_pagar using "###,###,###.&&"
|
|
|
|
AFTER GROUP OF codigo_x
|
|
SKIP 1 LINE
|
|
PRINT COLUMN 100, "Total Transportista --> ",
|
|
COLUMN 126, total_transp using "###,###,###.&&"
|
|
SKIP TO TOP OF PAGE
|
|
|
|
ON LAST ROW
|
|
PRINT COLUMN 1, comp_off
|
|
|
|
END REPORT
|