Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,179 @@
|
||||
{
|
||||
PROGRAMA : ccprcs004.4gl
|
||||
OBJETIVO : Consultar e imprimir reportes cuentas por cobrar
|
||||
DESARROLLADO POR: Ing. Juan Soto
|
||||
FECHA : Mayo 14, 2019
|
||||
|
||||
}
|
||||
GLOBALS
|
||||
DEFINE usuarios,clave VARCHAR(50),
|
||||
selec,criterio STRING,
|
||||
idx int,
|
||||
img_es_hij,img_es_pad STRING
|
||||
END GLOBALS
|
||||
DEFINE tree_t DYNAMIC ARRAY OF RECORD
|
||||
nombre VARCHAR(70),
|
||||
corriente SMALLINT,
|
||||
d1a30 DEC(12,2),
|
||||
d31a60 DEC(12,2),
|
||||
d61a90 DEC(12,2),
|
||||
mas90 DEC(12,2),
|
||||
totalSaldo DEC(12,2),
|
||||
relleno CHAR(2),
|
||||
nodo VARCHAR(10),
|
||||
hijos VARCHAR(10),
|
||||
imagen VARCHAR(30)
|
||||
|
||||
END RECORD,
|
||||
k,p SMALLINT,
|
||||
fecha DATE
|
||||
|
||||
MAIN
|
||||
|
||||
DEFER INTERRUPT
|
||||
CALL STARTLOG("ccprmt01.log")
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
|
||||
CALL ccprcs004()
|
||||
END MAIN
|
||||
FUNCTION ccprcs004()
|
||||
OPEN WINDOW w1 WITH FORM "ccfmcs004"
|
||||
CALL ui.Interface.LoadStyles("mbsStyle")
|
||||
DIALOG ATTRIBUTE(UNBUFFERED)
|
||||
CONSTRUCT BY NAME criterio ON a.codigo_grupo,a.descripcion
|
||||
BEFORE CONSTRUCT
|
||||
LET fecha = TODAY
|
||||
END CONSTRUCT
|
||||
INPUT BY NAME fecha
|
||||
BEFORE INPUT
|
||||
LET fecha = TODAY
|
||||
|
||||
END INPUT
|
||||
ON ACTION buscar
|
||||
|
||||
LET img_es_pad="plus"
|
||||
LET img_es_hij="minus"
|
||||
CALL tree_t.clear()
|
||||
CALL condatos()
|
||||
|
||||
ON ACTION CANCEL
|
||||
EXIT PROGRAM
|
||||
END DIALOG
|
||||
|
||||
CLOSE WINDOW w1
|
||||
END FUNCTION
|
||||
FUNCTION condatos()
|
||||
DEFINE pdescrip VARCHAR(100),
|
||||
pcodigo,i,x INT,
|
||||
xcorriente,x1a30,x31a60,x61a90,xmas90,xtotalSaldo DEC(12,2)
|
||||
|
||||
|
||||
LET selec =
|
||||
"SELECT a.descripcion,a.codigo_Grupo FROM vetb00054 a ",
|
||||
"WHERE ",criterio CLIPPED, " AND a.status_t IS NULL ",
|
||||
"ORDER BY a.descripcion "
|
||||
|
||||
PREPARE comando FROM selec
|
||||
DECLARE busca CURSOR FOR comando
|
||||
|
||||
LET i = 1
|
||||
FOREACH busca INTO pdescrip,pcodigo
|
||||
LET tree_t[i].nombre = pdescrip
|
||||
|
||||
LET tree_t[i].nodo = ' '
|
||||
LET tree_t[i].hijos = i
|
||||
LET tree_t[i].imagen='about.png'
|
||||
CALL llenahijos(tree_t[i].hijos,pcodigo) RETURNING x,xcorriente,x1a30,x31a60,x61a90,xmas90,xtotalSaldo
|
||||
LET tree_t[i].corriente = xcorriente
|
||||
LET tree_t[i].d1a30 = x1a30
|
||||
LET tree_t[i].d31a60 = x31a60
|
||||
LET tree_t[i].d61a90 = x61a90
|
||||
LET tree_t[i].mas90 = xmas90
|
||||
LET tree_t[i].totalSaldo = xtotalsaldo
|
||||
|
||||
LET i = x + 1
|
||||
END FOREACH
|
||||
# FOR i = 1 TO tree_t.getLength()
|
||||
# DISPLAY "DATA ",tree_t[i].nombre," nodo ",tree_t[i].nodo," hijo ",tree_t[i].hijos
|
||||
# END FOR
|
||||
DISPLAY ARRAY tree_t TO s_rec.*
|
||||
END FUNCTION
|
||||
FUNCTION llenahijos(j,kcodigo)
|
||||
DEFINE j,
|
||||
kcodigo INT,
|
||||
pnombre VARCHAR(100),
|
||||
xtipo_cliente,xsec_cliente INT,
|
||||
xcorriente,x1a30,x31a60,x61a90,xmas90,xtotalSaldo DEC(12,2),
|
||||
txcorriente,tx1a30,tx31a60,tx61a90,txmas90,txtotalSaldo DEC(12,2)
|
||||
DECLARE busca_h CURSOR FOR SELECT RTRIM('('+CAST(a.tipo_cliente AS CHAR(2))+'-'+RTRIM(CAST(a.sec_cliente AS char(10)))+')')
|
||||
+ a.nombre,a.tipo_cliente,a.sec_cliente
|
||||
FROM vetb00004 a,vetb00052 b
|
||||
WHERE b.codigo_grupo = kcodigo AND
|
||||
a.tipo_cliente = b.tipo_cliente AND
|
||||
a.sec_cliente = b.sec_cliente
|
||||
LET k = j + 1
|
||||
|
||||
# IF p IS NULL OR p = 0 THEN
|
||||
LET p = j+1
|
||||
# END IF
|
||||
LET txcorriente=0
|
||||
LET tx1a30=0
|
||||
LET tx31a60=0
|
||||
LET tx61a90=0
|
||||
LET txmas90=0
|
||||
LET txtotalSaldo=0
|
||||
FOREACH busca_h INTO pnombre,xtipo_cliente,xsec_cliente
|
||||
LET tree_t[p].hijos = j USING "<<<<",".",k USING "<<<<"
|
||||
LET tree_t[p].nombre = pnombre
|
||||
LET tree_t[p].nodo = j USING "<<<<"
|
||||
CALL busca_balance(xtipo_cliente,xsec_cliente,fecha) RETURNING xcorriente,x1a30,x31a60,x61a90,xmas90,xtotalSaldo
|
||||
LET tree_t[p].corriente =xcorriente
|
||||
LET tree_t[p].d1a30= x1a30
|
||||
LET tree_t[p].d31a60 = x31a60
|
||||
LET tree_t[p].d61a90= x61a90
|
||||
LET tree_t[p].mas90=xmas90
|
||||
LET tree_t[p].totalSaldo=xtotalSaldo
|
||||
|
||||
LET txcorriente = txcorriente + xcorriente
|
||||
LET tx1a30 = x1a30+tx1a30
|
||||
LET tx31a60 = tx31a60 + x31a60
|
||||
LET tx61a90 = tx61a90 + x61a90
|
||||
LET txmas90 = xmas90 +txmas90
|
||||
LET txtotalSaldo = xtotalSaldo +txtotalSaldo
|
||||
LET p = p+1
|
||||
END FOREACH
|
||||
RETURN p -1,txcorriente,tx1a30,tx31a60,tx61a90,txmas90,txtotalSaldo
|
||||
END FUNCTION
|
||||
|
||||
{
|
||||
FUNCTION pone_imagen(i)
|
||||
|
||||
DEFINE i SMALLINT
|
||||
|
||||
IF t_rec[i].hayHijos THEN
|
||||
LET t_rec[i].imagen = img_es_pad
|
||||
ELSE
|
||||
LET t_rec[i].imagen = img_es_hij
|
||||
END IF
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION collapse_d(i)
|
||||
|
||||
DEFINE i SMALLINT
|
||||
|
||||
LET t_rec[i].expandido= FALSE
|
||||
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION expand_d(i)
|
||||
|
||||
DEFINE i SMALLINT
|
||||
|
||||
LET t_rec[i].expandido= TRUE
|
||||
|
||||
END FUNCTION
|
||||
}
|
||||
Reference in New Issue
Block a user