Files
2026-09-22 20:38:51 -04:00

263 lines
7.8 KiB
Plaintext

{
==========================================================================
PROGRAMA : EDPRRP099
OBJETIVO : LISTAR LA ENTRADA DE DIARIO CIERRE DE ANO
PROGRAMADOR : JUAN F. SOTO
FECHA : DICIEMBRE 20, 1994
==========================================================================
}
SCHEMA decomarmol
GLOBALS "cgprgb000.4gl"
DEFINE fecha2 DATE,
decide CHAR(1),
entrada_no CHAR(14),
detalle CHAR(40)
DEFINE datos RECORD
cuenta_no CHAR(10),
departamento SMALLINT,
cod_aux SMALLINT,
cod_sec SMALLINT,
num_doc CHAR(12),
balance DECIMAL(12,2)
END RECORD
MAIN
DEFER INTERRUPT
CALL ARG_VAL(1) RETURNING usuarios
CALL ARG_VAL(2) RETURNING clave
CALL ARG_VAL(3) RETURNING impresor
CONNECT to "decomarmol" USER usuarios USING clave
SELECT a.* INTO p_compania.* FROM companias a
CALL edprrp099()
END MAIN
FUNCTION edprrp099()
OPTIONS
ERROR LINE 24,
FORM LINE 9
CALL pantalla()
DISPLAY "Entrada Cierre de Ano" AT 6,29
OPEN FORM edfmrp099 FROM "edfmrp099"
DISPLAY FORM edfmrp099
INPUT BY NAME entrada_no,fecha2,decide,detalle
AFTER FIELD entrada_no
IF entrada_no is null THEN
ERROR "(16) CAMPO EN BLANCO"
NEXT FIELD entrada_no
END IF
SELECT UNIQUE a.ref FROM cgtb00004 a
WHERE a.ref = entrada_no
IF status != notfound THEN
ERROR "(03) REGISTRO EXISTE"
NEXT FIELD entrada_no
END IF
AFTER FIELD fecha2
IF fecha2 is null THEN
ERROR "(16) CAMPO EN BLANCO"
NEXT FIELD fecha2
END IF
AFTER INPUT
IF int_flag THEN
ERROR "(2) OPERACION CANCELADA"
LET int_flag = false
RETURN
END IF
EXIT INPUT
END INPUT
DISPLAY "Buscando Informacion.. Espere Por Favor" AT 15,14
{CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
doble_on,doble_off,comp_on,comp_off,
doce,normal,archivo,copia
}
LET r_filename='edprrp099.4rp'
IF fgl_report_loadCurrentSettings(r_filename) THEN -- load the .4rp file
LET preview=1
CALL seleccionarsalida() RETURNING r_output
CALL fgl_report_selectDevice(r_output) -- changing default
CALL fgl_report_selectPreview(preview) -- changing default
LET handler = fgl_report_commitCurrentSettings() -- commit changes
# CALL configureoutput(r_output) RETURNING HANDLER
# LET handler = configureOutput(r_output)
END IF
START REPORT entrada TO XML HANDLER HANDLER
DECLARE busca CURSOR FOR
SELECT a.cuenta_no,a.departamento,a.cod_aux,a.cod_sec,a.num_doc,sum(a.debito-a.credito)
FROM cgtb00004 a
WHERE (a.cuenta_no[1] = "4" or
a.cuenta_no[1] = "5" or
a.cuenta_no[1] = "6" or
a.cuenta_no[1] = "8") and
a.fecha <= fecha2 and a.status_t is null
GROUP BY a.cuenta_no,a.departamento,a.cod_aux,a.cod_sec,a.num_doc
ORDER BY a.cuenta_no
DISPLAY "Reporte Generandose... Espere Por Favor" AT 15,14
FOREACH busca INTO datos.*
OUTPUT TO REPORT entrada(datos.*)
END FOREACH
FINISH REPORT entrada
#RUN imprime
END FUNCTION
REPORT entrada(x)
DEFINE x RECORD
cuenta_no CHAR(10),
departamento SMALLINT,
cod_aux SMALLINT,
cod_sec SMALLINT,
num_doc CHAR(12),
balance DECIMAL(12,2)
END RECORD
DEFINE p_descripcion CHAR(40)
DEFINE negritas_on,negritas_off,comp_off,comp_on CHAR(3)
DEFINE t_debito,t_credito,sumatoria,credito,debito,dvalor DECIMAL(12,2)
DEFINE fecha date
OUTPUT
LEFT MARGIN 3
FORMAT
FIRST PAGE HEADER
LET fecha =today
{ LET negritas_on = ASCII 27, ASCII 69
LET negritas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
PRINT comp_on}
{ PRINT COLUMN 1,"edprrp099",
COLUMN 39, "M A R M O T E C H, S. A.",
COLUMN 90, "Pag. ",pageno using "<<<"
PRINT COLUMN 38, "ENTRADA CIERRE DE ANO",
COLUMN 90, today using "dd/mm/yy"
SKIP 1 LINE
PRINT COLUMN 1, "ENTRADA NO. ",entrada_no
PRINT
"============================================================================",
"=================================="
PRINT COLUMN 1, "CUENTA NO.",
COLUMN 12, "DEPART",
COLUMN 20, "CATAL.",
COLUMN 28, "REF",
COLUMN 40, "DESCRIPCION",
COLUMN 77, "DEBITO",
COLUMN 100, "CREDITO"
PRINT
"=============================================================================",
"================================="
SKIP 1 LINE
PRINT "DETALLE: ",detalle
SKIP 1 LINE}
ON EVERY ROW
SELECT descripcion INTO p_descripcion
FROM cgtb00001
WHERE cuenta_no = x.cuenta_no
IF t_debito is null THEN
LET t_debito = 0
END IF
IF t_credito is null THEN
LET t_credito = 0
END IF
LET credito = 0
LET debito = 0
IF x.balance > 0 THEN
LET credito = x.balance
ELSE
LET debito = x.balance * -1
END IF
LET dvalor=debito+credito
PRINTX p_compania.*,x.*,p_descripcion,debito,credito,fecha,entrada_no,dvalor
{ PRINT COLUMN 1, x.cuenta_no,
COLUMN 12, x.departamento using "####",
COLUMN 20, x.cod_aux using "##","-",x.cod_sec using "####",
COLUMN 28, x.num_doc,
COLUMN 40, p_descripcion[1,20],
COLUMN 70, debito using "####,###,###.##",
COLUMN 94, credito using "###,###,###.##"}
LET t_debito = t_debito + debito
LET t_credito = t_credito + credito
IF decide = "S" THEN
INSERT INTO cgtb00004 (ref,fecha,tipo,cuenta_no,departamento,
cod_aux,cod_sec,num_doc,debito,credito,
us_crea,fech_crea,detalle_1) VALUES
(entrada_no,fecha2,"01",x.cuenta_no,
x.departamento,
x.cod_aux,x.cod_sec,x.num_doc,debito,credito,
suser_sname(),getdate(),DETALLE)
END IF
ON LAST ROW
SELECT descripcion INTO p_descripcion
FROM cgtb00001
WHERE cuenta_no = "3312"
LET sumatoria = SUM(x.balance)
LET credito = 0
LET debito = 0
IF sumatoria < 0 THEN
LET credito = SUM(x.balance) * -1
ELSE
LET debito = SUM(x.balance)
END IF
LET t_debito = t_debito + debito
LET t_credito = t_credito + credito
PRINTX t_debito,t_credito
{ PRINT COLUMN 1, "3312",
COLUMN 40, p_descripcion[1,20],
COLUMN 70, debito USING "#,###,###,###.##",
COLUMN 95, credito USING "#,###,###,###.##"
PRINT COLUMN 70, "--------------",
COLUMN 94, "--------------"
PRINT COLUMN 70, t_debito using "###,###,###,###.##",
COLUMN 94, t_credito using "###,###,###,###.##"}
IF decide = "S" THEN
INSERT INTO cgtb00004 (ref,fecha,tipo,cuenta_no,departamento,
cod_aux,cod_sec,num_doc,debito,credito,
us_crea,fech_crea,detalle_1) VALUES
(entrada_no,fecha2,"01","3312",
x.departamento,
x.cod_aux,x.cod_sec,x.num_doc,debito,credito,
suser_sname(),getdate(),detalle)
END IF
END REPORT
FUNCTION pantalla()
DEFINE fecha CHAR(8),
hora char(5)
LET fecha = today USING "dd/mm/yy"
LET hora = time
DISPLAY " M A R M O T E C H, S A. " AT 4,17
ATTRIBUTE (REVERSE,blue)
DISPLAY fecha AT 4,70 ATTRIBUTE (blue)
DISPLAY "Sistema Contabilidad General" AT 5,24
DISPLAY hora AT 6,73 ATTRIBUTE(blue)
CALL fgl_drawbox(5,79,3,1)
CALL fgl_drawbox(1,79,22,1)
END FUNCTION