293 lines
9.0 KiB
Plaintext
293 lines
9.0 KiB
Plaintext
{
|
|
-------------------------------------------------------------------------------
|
|
PROGRAMA : CGPRRP022
|
|
OBJETIVO : Listar las Entrada de Diario
|
|
PROGRAMADOR : Juan Soto
|
|
FECHA REALIZACION : Mayo 9, 1994.
|
|
-------------------------------------------------------------------------------
|
|
}
|
|
GLOBALS
|
|
"cgprgb000.4gl"
|
|
|
|
DEFINE p_mes SMALLINT
|
|
DEFINE p_ano CHAR(4)
|
|
|
|
MAIN
|
|
DEFER INTERRUPT
|
|
CALL ARG_VAL(1) RETURNING usuarios
|
|
CALL ARG_VAL(2) RETURNING clave
|
|
CALL ARG_VAL(3) RETURNING impresor
|
|
|
|
CONNECT to "smarmotech" USER usuarios USING clave
|
|
SELECT a.* INTO p_compania.* FROM companias a
|
|
|
|
CALL cgprrp022()
|
|
END MAIN
|
|
|
|
FUNCTION cgprrp022()
|
|
DEFINE x1 RECORD
|
|
id INTEGER,
|
|
ref LIKE cgtb00004.ref,
|
|
cuenta_no LIKE cgtb00004.cuenta_no,
|
|
departamento LIKE cgtb00004.departamento,
|
|
cod_aux LIKE cgtb00004.cod_aux,
|
|
cod_sec LIKE cgtb00004.cod_sec,
|
|
num_doc LIKE cgtb00004.num_doc,
|
|
descripcion LIKE cgtb00001.descripcion,
|
|
debito LIKE cgtb00004.debito,
|
|
credito LIKE cgtb00004.credito,
|
|
detalle1 LIKE cgtb00004.detalle_1,
|
|
detalle2 LIKE cgtb00004.detalle_2
|
|
END RECORD
|
|
|
|
# WHENEVER ERROR CONTINUE
|
|
|
|
OPTIONS
|
|
FORM LINE 8,
|
|
ERROR LINE 23,
|
|
COMMENT LINE 21
|
|
|
|
##### Abriendo y desplegando el formulario de captura de datos
|
|
|
|
OPEN FORM cgfmrp022 FROM "cgfmrp022"
|
|
DISPLAY FORM cgfmrp022
|
|
CALL pantalla()
|
|
DISPLAY "cgprrp022" AT 4,3
|
|
DISPLAY "ENTRADAS REGISTRADAS" AT 6,29
|
|
|
|
LET tipo_papel = 1
|
|
CALL msgrp000(tipo_papel)
|
|
|
|
###### Aceptando los valores para el rango de fecha
|
|
|
|
INPUT BY NAME p_mes,p_ano
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
SELECT fecha_inicio,fecha_corte INTO fecha1,fecha2 FROM prdtable
|
|
WHERE mes = p_mes and
|
|
ano = p_ano
|
|
|
|
CONSTRUCT BY NAME criterio ON a.ref
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
# Busca la informacion requerida
|
|
{
|
|
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
|
|
doble_on,doble_off,comp_on,comp_off,
|
|
doce,normal,archivo,copia
|
|
}
|
|
|
|
|
|
CALL configureoutput("SVG") RETURNING HANDLER
|
|
|
|
START REPORT imp_entrada TO XML HANDLER handler
|
|
|
|
|
|
|
|
LET selec =
|
|
"SELECT '1',a.ref,a.cuenta_no,a.departamento,a.cod_aux,a.cod_sec, ",
|
|
" a.num_doc,b.descripcion,a.debito,a.credito,a.detalle_1,detalle_2 ",
|
|
"FROM cgtb00004 a,cgtb00001 b ",
|
|
"WHERE ",criterio clipped," and a.cuenta_no = b.cuenta_no and ",
|
|
" a.tipo = '1' and a.status_t is null and a.fecha between ? and ? ",
|
|
"ORDER BY 2,3,1 "
|
|
|
|
PREPARE comando FROM selec
|
|
DECLARE busca CURSOR FOR comando
|
|
OPEN busca USING fecha1,fecha2
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14
|
|
ATTRIBUTE (REVERSE,BOLD)
|
|
|
|
DISPLAY " "
|
|
AT 19,14
|
|
|
|
##### Loop para enviar informacion al reporte
|
|
|
|
|
|
|
|
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
|
AT 19,14 ATTRIBUTE (REVERSE)
|
|
|
|
FOREACH busca INTO x1.*
|
|
|
|
IF int_flag THEN
|
|
LET numero_msg = 2
|
|
CALL msg(numero_msg)
|
|
LET int_flag = false
|
|
RETURN
|
|
END IF
|
|
|
|
OUTPUT TO REPORT imp_entrada(x1.*)
|
|
END FOREACH
|
|
|
|
|
|
FINISH REPORT imp_entrada
|
|
|
|
END FUNCTION
|
|
|
|
#### Funcion para dar salida ordenada a la informacion requerida de
|
|
#### una entrada de diario de nominas local
|
|
|
|
REPORT imp_entrada(x)
|
|
DEFINE x RECORD
|
|
id INTEGER,
|
|
ref LIKE cgtb00004.ref,
|
|
cuenta_no LIKE cgtb00004.cuenta_no,
|
|
departamento LIKE cgtb00004.departamento,
|
|
cod_aux LIKE cgtb00004.cod_aux,
|
|
cod_sec LIKE cgtb00004.cod_sec,
|
|
num_doc LIKE cgtb00004.num_doc,
|
|
descripcion LIKE cgtb00001.descripcion,
|
|
debito LIKE cgtb00004.debito,
|
|
credito LIKE cgtb00004.credito,
|
|
detalle1 LIKE cgtb00004.detalle_1,
|
|
detalle2 LIKE cgtb00004.detalle_2
|
|
END RECORD
|
|
|
|
DEFINE t_debito,t_credito DECIMAL(12,2)
|
|
DEFINE doble_on CHAR(2)
|
|
DEFINE doble_off CHAR(2)
|
|
DEFINE negrillas_on CHAR(6)
|
|
DEFINE negrillas_off CHAR(6)
|
|
DEFINE comp_on CHAR(2)
|
|
DEFINE comp_off CHAR(2)
|
|
DEFINE doce CHAR(2)
|
|
DEFINE normal CHAR(2)
|
|
DEFINE comprimido CHAR(3)
|
|
DEFINE hora CHAR(5)
|
|
DEFINE dpto INTEGER
|
|
DEFINE nomina1 CHAR(24)
|
|
OUTPUT
|
|
LEFT MARGIN 0
|
|
TOP MARGIN 0
|
|
|
|
ORDER BY x.ref,x.cuenta_no
|
|
|
|
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 l = (100 - LENGTH(p_compania.nombre CLIPPED))/2
|
|
PRINT COLUMN 1, doce,negrillas_on
|
|
PRINT COLUMN 1, "cgprrp022",
|
|
COLUMN l, p_compania.nombre CLIPPED,
|
|
COLUMN 93, "Pag. ",pageno using "###"
|
|
PRINT COLUMN 38, "Sistema de Contabilidad",
|
|
COLUMN 93, today using "dd/mm/yy"
|
|
|
|
PRINT COLUMN 40, "Entradas al Diario",
|
|
COLUMN 96, hora
|
|
|
|
PRINT COLUMN 38, "Del ",fecha1 USING "dd/mm/yy", " Al ",fecha2
|
|
USING "dd/mm/yy"
|
|
|
|
SKIP 1 LINE
|
|
PRINT doce,negrillas_off
|
|
|
|
BEFORE GROUP OF x.ref
|
|
LET t_debito = 0
|
|
LET t_credito = 0
|
|
PRINT COLUMN 01,"Entrada de Diario No.",
|
|
doble_on,x.ref,doble_off
|
|
|
|
PRINT COLUMN 1,"Observaciones: _____________________________________"
|
|
PRINT COLUMN 1," _____________________________________"
|
|
|
|
PRINT COLUMN 1,
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------------"
|
|
|
|
PRINT COLUMN 2, "Cuenta ",
|
|
COLUMN 11, "Dpto",
|
|
COLUMN 17, "Catalogo",
|
|
COLUMN 26, "Refe",
|
|
COLUMN 41, "Concepto",
|
|
COLUMN 75, "Debe",
|
|
COLUMN 93, "Haber",negrillas_off
|
|
|
|
PRINT COLUMN 1,
|
|
"--------------------------------------------------",
|
|
"--------------------------------------------------"
|
|
|
|
ON EVERY ROW
|
|
IF t_debito is null THEN
|
|
LET t_debito = 0
|
|
END IF
|
|
|
|
IF t_credito is null THEN
|
|
LET t_credito = 0
|
|
END IF
|
|
|
|
IF x.debito != 0 THEN
|
|
PRINT COLUMN 2, x.cuenta_no,
|
|
COLUMN 11, x.departamento using "&&&&",
|
|
COLUMN 17, x.cod_aux using "&&","-",x.cod_sec using "&&&&",
|
|
COLUMN 26, x.num_doc,
|
|
COLUMN 41, x.descripcion[1,25],
|
|
COLUMN 68, x.debito using "#,###,###,###.##"
|
|
LET t_debito = t_debito + x.debito
|
|
END IF
|
|
|
|
IF x.credito != 0 THEN
|
|
PRINT COLUMN 2, x.cuenta_no,
|
|
COLUMN 11, x.departamento using "&&&&",
|
|
COLUMN 17, x.cod_aux using "&&","-",x.cod_sec using "&&&&",
|
|
COLUMN 26, x.num_doc,
|
|
COLUMN 41, x.descripcion[1,25],
|
|
COLUMN 85, x.credito using "#,###,###,###.##"
|
|
LET t_credito = t_credito + x.credito
|
|
END IF
|
|
|
|
AFTER GROUP OF x.ref
|
|
PRINT COLUMN 1,negrillas_on
|
|
PRINT COLUMN 67,"--------------",
|
|
COLUMN 85,"--------------"
|
|
|
|
PRINT COLUMN 35,"Totales-->",
|
|
COLUMN 66, t_debito using "##,###,###,###.##",
|
|
COLUMN 83, t_credito using "##,###,###,###.##"
|
|
|
|
PRINT COLUMN 1, x.detalle1,x.detalle2
|
|
SKIP TO TOP OF PAGE
|
|
LET t_debito = 0
|
|
LET t_credito = 0
|
|
|
|
PAGE TRAILER
|
|
SKIP 4 LINE
|
|
PRINT COLUMN 4,"_______________________",
|
|
COLUMN 36,"_______________________",
|
|
COLUMN 75,"_______________________"
|
|
PRINT COLUMN 2," PREPARADO POR ",
|
|
COLUMN 36," REVISADO POR ",
|
|
COLUMN 75," AUTORIZADO POR "
|
|
PRINT COLUMN 1,comp_off,negrillas_off
|
|
END REPORT
|