Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md

This commit is contained in:
2026-08-18 20:59:52 -04:00
commit 454973e269
5978 changed files with 2664094 additions and 0 deletions
+179
View File
@@ -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
}