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
+90
View File
@@ -0,0 +1,90 @@
SCHEMA smarmotech
DEFINE id int
DEFINE datos DYNAMIC ARRAY OF RECORD
ano SMALLINT,
nombre_Vend CHAR (10),
parentId STRING,
id STRING,
hasChildren BOOLEAN
END RECORD
MAIN
OPEN FORM f FROM "test"
DISPLAY form f
CALL nodo1(id)
DISPLAY ARRAY datos TO sdatos.* ATTRIBUTE(UNBUFFERED)
ON EXPAND(ID)
CALL nodo1(id)
END DISPLAY
END MAIN
FUNCTION nodo1(p)
DEFINE p INT
DEFINE NAME, parentId STRING
DEFINE i INT
CONNECT TO "smarmotech" USER "jsoto" USING "12345"
IF p == 0 THEN
LET parentId = 0
DECLARE busca1 CURSOR FOR
SELECT UNIQUE a.ano FROM prdtable a
WHERE a.ano in (2008,2009)
LET p = 1
FOREACH busca1 INTO datos[p].ano
LET p = p + 1
CALL datos.insertElement(p)
LET id = parentId || "." || i
LET datos[p].id = id
LET datos[p].parentId = parentId
LET i = 2
DECLARE busca_m CURSOR FOR
SELECT UNIQUE a.mes FROM prdtable a
WHERE a.ano = datos[p].ano
FOREACH busca_m INTO datos[i].nombre_vend
IF i MOD 2 THEN
LET datos[p].hasChildren = TRUE
ELSE
LET datos[p].hasChildren = FALSE
END IF
LET i = i + 1
END FOREACH
END FOREACH
ELSE
LET parentId = datos[p].id
LET NAME = "mESES"
END IF
END FUNCTION
FUNCTION contraer()
DEFINE p INT
LET p = 1
WHILE p < datos.getLength()
CALL collapse(p)
LET p = p + 1
END WHILE
END FUNCTION
FUNCTION collapse(p)
DEFINE p INT
DEFINE id STRING
LET id = datos[p].id
WHILE p < datos.getLength()
IF datos[p + 1].parentId <> id THEN EXIT WHILE END IF
CALL collapse(p + 1)
CALL datos.deleteElement(p + 1)
END WHILE
END FUNCTION