Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,543 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
caPROGRAMA : CCPRRP005
|
||||
OBJETIVO : Relacion de Recibos de Pagos
|
||||
PROGRAMADOR : Juan F. Soto
|
||||
FECHA REALIZACION : Abril 1, 1993
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS "ccprgb000.4gl"
|
||||
|
||||
DEFINE tipo CHAR(2)
|
||||
|
||||
DEFINE fecha_inicial, fecha_final DATE
|
||||
DEFINE salir CHAR(1)
|
||||
|
||||
DEFINE cobros RECORD
|
||||
cuenta_no CHAR(8),
|
||||
tipo_doc CHAR(2),
|
||||
recibo INTEGER,
|
||||
fecha_recibo DATE,
|
||||
factura INTEGER,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente SMALLINT,
|
||||
monto_recibo DECIMAL(12, 2),
|
||||
descuento DECIMAL(12, 2),
|
||||
status_t CHAR(1),
|
||||
nom_cli CHAR(30),
|
||||
comentario CHAR(100),
|
||||
documento INT,
|
||||
cod_cia SMALLINT,
|
||||
localidad CHAR(40),
|
||||
chitbis CHAR(2),
|
||||
valor_efectivo DEC(12, 2),
|
||||
valor_cheque DEC(12, 2),
|
||||
valor_tarjeta DEC(12, 2),
|
||||
valor_link DEC(12, 2),
|
||||
bodega VARCHAR(100),
|
||||
cod_mov, num_doc_alm INT,
|
||||
factura_ext INT
|
||||
END RECORD
|
||||
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
|
||||
CALL startlog("CCRP05.TXT")
|
||||
CONNECT TO "smarmotech" AS "MSSQL" USER usuarios USING clave
|
||||
|
||||
CALL defecto(
|
||||
usuarios, clave, impresor)
|
||||
RETURNING imprime,
|
||||
negrilla_on,
|
||||
negrillas_of,
|
||||
doble_on,
|
||||
doble_off,
|
||||
comp_on,
|
||||
comp_off,
|
||||
doce,
|
||||
normal,
|
||||
archivo,
|
||||
copia
|
||||
|
||||
CALL ccprrp005()
|
||||
END MAIN
|
||||
|
||||
FUNCTION ccprrp005()
|
||||
|
||||
# WHENEVER ERROR CONTINUE
|
||||
|
||||
OPTIONS FORM LINE 8, ERROR LINE 23, COMMENT LINE 21
|
||||
|
||||
OPEN FORM ccfmrp005 FROM "ccfmrp005"
|
||||
DISPLAY FORM ccfmrp005
|
||||
|
||||
DISPLAY "ccprrp005" AT 4, 3
|
||||
DISPLAY "Documentos" AT 6, 35
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
CONSTRUCT criterio
|
||||
ON a.sucid, a.tipo_cliente, a.sec_cliente, a.num_doc
|
||||
FROM sucid, tipo_cliente, sec_cliente, num_doc
|
||||
BEFORE CONSTRUCT
|
||||
CALL localidades('1')
|
||||
AFTER CONSTRUCT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
END CONSTRUCT
|
||||
|
||||
INPUT BY NAME tipo, fecha_inicial, fecha_final, grafico
|
||||
AFTER FIELD tipo
|
||||
IF tipo IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD tipo
|
||||
END IF
|
||||
SELECT UNIQUE tipo_doc FROM cctb00001 WHERE tipo_doc = tipo
|
||||
|
||||
IF STATUS = NOTFOUND THEN
|
||||
LET numero_msg = 3
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD tipo
|
||||
END IF
|
||||
|
||||
AFTER FIELD fecha_inicial
|
||||
IF fecha_inicial IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_inicial
|
||||
END IF
|
||||
|
||||
BEFORE FIELD fecha_final
|
||||
LET fecha_final = TODAY
|
||||
DISPLAY BY NAME fecha_final
|
||||
|
||||
AFTER FIELD fecha_final
|
||||
IF fecha_final IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
|
||||
IF fecha_final < fecha_inicial THEN
|
||||
LET numero_msg = 86
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_final
|
||||
END IF
|
||||
|
||||
END INPUT
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
SELECT a.* INTO p_companias.* FROM companias a
|
||||
|
||||
LET selec3 =
|
||||
"SELECT a.cuenta_no,a.tipo_Doc,a.num_doc, a.fecha_orig, a.aplica_a, a.tipo_cliente, ",
|
||||
"a.sec_cliente,a.valor,a.monto_desc,a.status_t,b.nombre,d.comentario, a.num_cheque,a.sucid, ",
|
||||
"c.sucnombre,d.chitbis,a.valor_efectivo,a.valor_cheque,a.valor_tarjeta,a.valor_link,
|
||||
x.descripcion,a.banco,a.num_cheque,a.factura_ext ",
|
||||
"FROM cctb00001 a INNER JOIN vetb00004 b ON a.tipo_cliente = b.tipo_cliente AND ",
|
||||
" a.sec_cliente = b.sec_cliente LEFT OUTER JOIN sucursales c on a.cod_emp=c.sucid LEFT OUTER JOIN ",
|
||||
"cctb00011 d ON d.tipo_cliente = b.tipo_cliente AND d.sec_cliente = b.sec_cliente AND ",
|
||||
" a.num_doc = d.num_doc and a.tipo_doc = d.tipo_Doc
|
||||
LEFT OUTER JOIN intb00009 x ON a.bodega = x.cod_bodega ",
|
||||
"WHERE a.fecha_orig between ? and ? ",
|
||||
"and a.tipo_doc = ? AND ",
|
||||
CRITERIO CLIPPED,
|
||||
" ORDER BY a.num_doc "
|
||||
|
||||
DISPLAY "<< Estoy Buscando los Documentos. >>"
|
||||
AT 19, 14
|
||||
ATTRIBUTE(REVERSE, BOLD)
|
||||
|
||||
DISPLAY " " AT 19, 14
|
||||
|
||||
DISPLAY " " AT 19, 14
|
||||
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
||||
AT 19, 14
|
||||
ATTRIBUTE(REVERSE)
|
||||
|
||||
LET progreso = 20
|
||||
DISPLAY progreso TO progreso
|
||||
CALL ui.Interface.refresh()
|
||||
|
||||
PREPARE cobros_locales FROM selec3
|
||||
DECLARE lrecibos CURSOR FOR cobros_locales
|
||||
OPEN lrecibos USING fecha_inicial, fecha_final, tipo
|
||||
|
||||
# DELETE FROM tmpcobros
|
||||
|
||||
LET idx = 1
|
||||
LET salir = "N"
|
||||
WHILE salir = "N"
|
||||
FETCH lrecibos INTO cobros.*
|
||||
|
||||
IF status = NOTFOUND THEN
|
||||
LET salir = "S"
|
||||
DISPLAY "salio del while"
|
||||
EXIT WHILE
|
||||
END IF
|
||||
IF idx = 1 THEN
|
||||
IF grafico = "SI" THEN
|
||||
CALL seleccionarSalida() RETURNING r_output
|
||||
CALL configureoutput(r_output) RETURNING HANDLER
|
||||
START REPORT cobros_ft TO XML HANDLER HANDLER
|
||||
ELSE
|
||||
|
||||
CALL defecto(
|
||||
usuarios, clave, impresor)
|
||||
RETURNING imprime,
|
||||
negrilla_on,
|
||||
negrillas_of,
|
||||
doble_on,
|
||||
doble_off,
|
||||
comp_on,
|
||||
comp_off,
|
||||
doce,
|
||||
normal,
|
||||
archivo,
|
||||
copia
|
||||
|
||||
START REPORT cobros_ft TO archivo
|
||||
END IF
|
||||
END IF
|
||||
IF cobros.monto_recibo IS NULL THEN
|
||||
LET cobros.monto_recibo = 0
|
||||
END IF
|
||||
IF cobros.descuento IS NULL THEN
|
||||
LET cobros.descuento = 0
|
||||
END IF
|
||||
|
||||
IF cobros.monto_recibo < 0 THEN
|
||||
|
||||
LET cobros.monto_recibo = cobros.monto_recibo * -1
|
||||
|
||||
END IF
|
||||
IF cobros.DESCUENTO < 0 THEN
|
||||
|
||||
LET cobros.descuento = cobros.descuento * -1
|
||||
|
||||
END IF
|
||||
LET idx = idx + 1
|
||||
|
||||
IF tipo = "AV" AND cobros.factura != cobros.recibo THEN
|
||||
LET cobros.descuento = 0
|
||||
LET cobros.monto_recibo = 0
|
||||
CONTINUE WHILE
|
||||
END IF
|
||||
|
||||
IF cobros.status_t = "E" THEN
|
||||
LET cobros.nom_cli = "NULO"
|
||||
LET cobros.descuento = 0
|
||||
LET cobros.monto_recibo = 0
|
||||
END IF
|
||||
# INSERT INTO tmpcobros VALUES (cobros.tipo_doc,cobros.recibo,cobros.monto_recibo,cobros.descuento)
|
||||
OUTPUT TO REPORT cobros_ft(cobros.*)
|
||||
LET progreso = progreso + 1
|
||||
IF progreso > 80 THEN
|
||||
LET progreso = 80
|
||||
END IF
|
||||
|
||||
DISPLAY progreso TO progreso
|
||||
CALL ui.Interface.refresh()
|
||||
LET idx = idx + 1
|
||||
END WHILE
|
||||
LET progreso = 100
|
||||
DISPLAY progreso TO progreso
|
||||
CALL ui.Interface.refresh()
|
||||
|
||||
IF idx = 1 THEN
|
||||
CALL fgl_winmessage(
|
||||
"ERROR", "NO EXISTEN DATOS CON ESAS CONDICIONES", "INFO")
|
||||
ELSE
|
||||
FINISH REPORT cobros_ft
|
||||
END IF
|
||||
IF grafico <> "SI" THEN
|
||||
RUN imprime
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
REPORT cobros_ft(x)
|
||||
DEFINE x RECORD
|
||||
cuenta_no CHAR(8),
|
||||
tipo_Doc CHAR(2),
|
||||
recibo INTEGER,
|
||||
fecha_recibo DATE,
|
||||
factura INTEGER,
|
||||
tipo_cliente SMALLINT,
|
||||
sec_cliente SMALLINT,
|
||||
monto_recibo DECIMAL(12, 2),
|
||||
descuento DECIMAL(12, 2),
|
||||
status_t CHAR(1),
|
||||
nom_cli CHAR(30),
|
||||
comentario CHAR(100),
|
||||
documento INT,
|
||||
cod_cia SMALLINT,
|
||||
localidad CHAR(40),
|
||||
chitbis CHAR(2),
|
||||
valor_efectivo DEC(12, 2),
|
||||
valor_cheque DEC(12, 2),
|
||||
valor_tarjeta DEC(12, 2),
|
||||
valor_link DEC(12, 2),
|
||||
bodega VARCHAR(100),
|
||||
cod_mov, num_doc_alm INT,
|
||||
factura_ext INT
|
||||
END RECORD
|
||||
|
||||
DEFINE total4, total5, total6 DECIMAL(12, 2)
|
||||
|
||||
DEFINE nombre_rp CHAR(20)
|
||||
DEFINE
|
||||
hora CHAR(5),
|
||||
otro_num INT
|
||||
OUTPUT
|
||||
PAGE LENGTH 100
|
||||
|
||||
ORDER BY x.recibo, x.factura
|
||||
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
IF grafico <> "SI" THEN
|
||||
LET doble_on = ASCII 14
|
||||
LET doble_off = ASCII 20
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 27, ASCII 77
|
||||
LET normal = ASCII 27, ASCII 80
|
||||
ELSE
|
||||
LET doble_on = NULL
|
||||
LET doble_off = NULL
|
||||
LET comp_on = NULL
|
||||
LET comp_off = NULL
|
||||
LET doce = NULL
|
||||
LET normal = NULL
|
||||
LET negrilla_on = NULL
|
||||
END IF
|
||||
LET hora = TIME
|
||||
|
||||
LET lj = (110 - LENGTH(p_companias.nombre CLIPPED)) / 2
|
||||
PRINT COLUMN 1, comp_on, negrilla_on
|
||||
PRINT COLUMN 1,
|
||||
"ccprrp005",
|
||||
COLUMN lj,
|
||||
p_companias.nombre CLIPPED,
|
||||
COLUMN 103,
|
||||
"Pag. ",
|
||||
PAGENO USING "###"
|
||||
PRINT COLUMN 39,
|
||||
"Sistema de Cuentas por Cobrar",
|
||||
COLUMN 101,
|
||||
TODAY USING "dd/mm/yyyy"
|
||||
|
||||
IF tipo = "AV" THEN
|
||||
LET nombre_rp = "AVANCE ORDEN "
|
||||
END IF
|
||||
|
||||
IF tipo = "FE" THEN
|
||||
LET nombre_rp = "Factura Export."
|
||||
END IF
|
||||
|
||||
IF tipo = "FT" THEN
|
||||
LET nombre_rp = "Factura Local "
|
||||
END IF
|
||||
|
||||
IF tipo = "PC" THEN
|
||||
LET nombre_rp = "Pago de Contado"
|
||||
END IF
|
||||
|
||||
IF tipo = "PG" THEN
|
||||
LET nombre_rp = "Recibos de pago"
|
||||
END IF
|
||||
|
||||
IF tipo = "NC" THEN
|
||||
LET nombre_rp = "Notas de Creditos"
|
||||
END IF
|
||||
|
||||
IF tipo = "OC" THEN
|
||||
LET nombre_rp = "Otros Creditos"
|
||||
END IF
|
||||
IF tipo = "OD" THEN
|
||||
LET nombre_rp = "Otros Debitos"
|
||||
END IF
|
||||
|
||||
IF tipo = "ND" THEN
|
||||
LET nombre_rp = "Notas de Debito"
|
||||
END IF
|
||||
|
||||
PRINT COLUMN 46, nombre_rp, COLUMN 106, hora
|
||||
|
||||
PRINT COLUMN 42,
|
||||
"Del ",
|
||||
fecha_inicial USING "dd/mm/yyyy",
|
||||
" Al ",
|
||||
fecha_final USING "dd/mm/yyyy"
|
||||
SKIP 1 LINES
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"--------------------------"
|
||||
|
||||
PRINT COLUMN 2,
|
||||
"Recibo",
|
||||
COLUMN 10,
|
||||
"Fecha",
|
||||
COLUMN 18,
|
||||
"Afecta",
|
||||
COLUMN 26,
|
||||
"C l i e n t e",
|
||||
COLUMN 74,
|
||||
"Monto",
|
||||
COLUMN 86,
|
||||
"Descuento",
|
||||
COLUMN 107,
|
||||
"Neto",
|
||||
COLUMN 118,
|
||||
"LOCALIDAD",
|
||||
2 SPACES,
|
||||
x.chitbis
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"--------------------------"
|
||||
# , negrillas_off
|
||||
|
||||
BEFORE GROUP OF x.recibo
|
||||
WHENEVER ERROR CONTINUE
|
||||
#BUSCA RELACION DE NUMEROS
|
||||
LET otro_num = NULL
|
||||
# SELECT a.num_trans INTO otro_num FROM cctb00020 a
|
||||
# WHERE a.num_oc = x.recibo and a.tipo_doc =tipo
|
||||
IF x.bodega IS NOT NULL THEN
|
||||
LET x.bodega = 'ALMACEN: ', x.bodega CLIPPED
|
||||
END IF
|
||||
PRINT COLUMN 2,
|
||||
x.recibo USING "######",
|
||||
COLUMN 9,
|
||||
x.fecha_recibo USING "dd/mm/yyyy",
|
||||
2 SPACES,
|
||||
x.comentario CLIPPED,
|
||||
2 SPACES,
|
||||
x.bodega CLIPPED,
|
||||
"-",
|
||||
X.cod_mov USING "<<",
|
||||
"-",
|
||||
X.num_doc_alm USING "<<<<<<<"
|
||||
IF x.tipo_doc = 'AV' THEN
|
||||
IF x.valor_efectivo > 0 THEN
|
||||
PRINT 2 SPACES,
|
||||
"Valor efectivo:",
|
||||
x.valor_efectivo USING "###,###,###.##"
|
||||
END IF
|
||||
IF x.valor_cheque > 0 THEN
|
||||
PRINT 2 SPACES,
|
||||
"Valor Cheque :",
|
||||
x.valor_cheque USING "###,###,###.##"
|
||||
END IF
|
||||
IF x.valor_tarjeta > 0 THEN
|
||||
PRINT 2 SPACES,
|
||||
"Valor Tarjeta :",
|
||||
x.valor_tarjeta USING "###,###,###.##"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
ON EVERY ROW
|
||||
# WHENEVER ERROR CONTINUE
|
||||
#BUSCA RELACION DE NUMEROS
|
||||
# LET otro_num = NULL
|
||||
# SELECT a.num_trans INTO otro_num FROM cctb00020 a
|
||||
# WHERE a.num_oc = x.recibo and a.tipo_doc =tipo
|
||||
IF tipo = "FE" OR tipo = "FT" THEN
|
||||
LET x.documento = NULL
|
||||
SELECT a.conduce
|
||||
INTO x.factura
|
||||
FROM vetb00002 a
|
||||
WHERE a.factura = x.recibo
|
||||
END IF
|
||||
# PRINT COLUMN 2, x.recibo using "######",
|
||||
# COLUMN 9, x.fecha_recibo using "dd/mm/yyyy";
|
||||
IF tipo <> 'AV' THEN
|
||||
PRINT COLUMN 20, x.factura USING "######";
|
||||
ELSE
|
||||
PRINT COLUMN 20, x.documento USING "&&&&&&";
|
||||
END IF
|
||||
PRINT COLUMN 27,
|
||||
x.tipo_cliente USING "&&",
|
||||
"-",
|
||||
x.sec_cliente USING "&&&&&&",
|
||||
" ",
|
||||
x.nom_cli CLIPPED,
|
||||
COLUMN 67,
|
||||
x.monto_recibo USING "---,---,---.##",
|
||||
COLUMN 82,
|
||||
x.descuento USING "---,---,---.##",
|
||||
COLUMN 98,
|
||||
x.monto_recibo - x.descuento USING "---,---,---.##",
|
||||
" ",
|
||||
x.factura_ext USING "&&&&&&",
|
||||
COLUMN 115,
|
||||
x.localidad
|
||||
|
||||
AFTER GROUP OF x.recibo
|
||||
IF GROUP COUNT(*) > 1 THEN
|
||||
PRINT COLUMN 64,
|
||||
"--------------",
|
||||
COLUMN 80,
|
||||
"--------------",
|
||||
COLUMN 96,
|
||||
"--------------"
|
||||
|
||||
PRINT COLUMN 67,
|
||||
GROUP SUM(x.monto_recibo) USING "---,---,---.##",
|
||||
COLUMN 82,
|
||||
GROUP SUM(x.descuento) USING "---,---,---.##",
|
||||
COLUMN 99,
|
||||
GROUP SUM(x.monto_recibo - x.descuento)
|
||||
USING "---,---,---.##"
|
||||
|
||||
END IF
|
||||
SKIP 1 LINE
|
||||
|
||||
ON LAST ROW
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 35,
|
||||
"Totales --> ",
|
||||
COLUMN 67,
|
||||
SUM(x.monto_recibo) USING "--,---,---,---.##",
|
||||
COLUMN 85,
|
||||
SUM(x.descuento) USING "--,---,---,---.##",
|
||||
COLUMN 103,
|
||||
SUM(x.monto_recibo - x.descuento) USING "--,---,---,---.##"
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 35, "******RESUMEN**********"
|
||||
PRINT COLUMN 38,
|
||||
"VALOR EFECTIVO :",
|
||||
SUM(x.valor_efectivo) USING "###,###,###.##"
|
||||
PRINT COLUMN 38,
|
||||
"VALOR TRANSFERENCIA:",
|
||||
SUM(x.valor_cheque) USING "###,###,###.##"
|
||||
PRINT COLUMN 38,
|
||||
"VALOR TARJETA :",
|
||||
SUM(x.valor_tarjeta) USING "###,###,###.##"
|
||||
PRINT COLUMN 38,
|
||||
"VALOR LINK :",
|
||||
SUM(x.valor_link) USING "###,###,###.##"
|
||||
PRINT normal
|
||||
LET total4 = 0
|
||||
LET total5 = 0
|
||||
LET total6 = 0
|
||||
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user