primer commit subida
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
LAYOUT
|
||||
GRID
|
||||
{
|
||||
|
||||
|
||||
[img ]
|
||||
<Tree tree >
|
||||
Name
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
[name ][vend ][vb ][de ][st ][it ][nt ]
|
||||
}
|
||||
END
|
||||
END
|
||||
|
||||
ATTRIBUTES
|
||||
IMAGE img:image="genero_logo.png", style="title";
|
||||
name = FORMONLY.name;
|
||||
vend = FORMONLY.nombre_vend;
|
||||
vb = FORMONLY.valor_bruto;
|
||||
de = FORMONLY.descuento;
|
||||
st = FORMONLY.subtotal;
|
||||
it = FORMONLY.itbis;
|
||||
nt = FORMONLY.neto;
|
||||
|
||||
PHANTOM FORMONLY.parentId;
|
||||
PHANTOM FORMONLY.id;
|
||||
PHANTOM FORMONLY.hasChildren;
|
||||
|
||||
TREE tree:
|
||||
IMAGEEXPANDED = "open",
|
||||
IMAGECOLLAPSED = "folder",
|
||||
IMAGELEAF = "file",
|
||||
ISNODECOLUMN = hasChildren;
|
||||
|
||||
INSTRUCTIONS
|
||||
SCREEN RECORD tree(name, nombre_vend,valor_bruto, descuento, subtotal, itbis, neto,parentId, id, hasChildren)
|
||||
@@ -0,0 +1,90 @@
|
||||
SCHEMA decomarmol
|
||||
|
||||
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 "decomarmol" 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
|
||||
Binary file not shown.
@@ -0,0 +1,70 @@
|
||||
DEFINE tree DYNAMIC ARRAY OF RECORD
|
||||
NAME STRING,
|
||||
parentId STRING,
|
||||
id STRING,
|
||||
hasChildren BOOLEAN
|
||||
END RECORD
|
||||
|
||||
MAIN
|
||||
DEFINE id INTEGER
|
||||
OPEN FORM f FROM arg_val(0)
|
||||
DISPLAY FORM f
|
||||
|
||||
CALL expand(0)
|
||||
DISPLAY ARRAY tree TO tree.* ATTRIBUTE(UNBUFFERED)
|
||||
ON EXPAND(id)
|
||||
DISPLAY "expand id:", id, " arr_curr:", arr_curr()
|
||||
CALL expand(id)
|
||||
ON COLLAPSE(id)
|
||||
DISPLAY "collapse id:", id, " arr_curr:", arr_curr()
|
||||
CALL collapse(id)
|
||||
END DISPLAY
|
||||
END MAIN
|
||||
|
||||
FUNCTION collapseAll()
|
||||
DEFINE p INT
|
||||
LET p = 1
|
||||
WHILE p < tree.getLength()
|
||||
CALL collapse(p)
|
||||
LET p = p + 1
|
||||
END WHILE
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION collapse(p)
|
||||
DEFINE p INT
|
||||
DEFINE id STRING
|
||||
LET id = tree[p].id
|
||||
WHILE p < tree.getLength()
|
||||
IF tree[p + 1].parentId <> id THEN EXIT WHILE END IF
|
||||
CALL collapse(p + 1)
|
||||
CALL tree.deleteElement(p + 1)
|
||||
END WHILE
|
||||
END FUNCTION
|
||||
|
||||
FUNCTION expand(p)
|
||||
DEFINE NAME, id, parentId STRING
|
||||
DEFINE p INT
|
||||
DEFINE i INT
|
||||
|
||||
IF p == 0 THEN
|
||||
LET parentId = 0
|
||||
LET NAME = "Root"
|
||||
ELSE
|
||||
LET parentId = tree[p].id
|
||||
LET NAME = "Node"
|
||||
END IF
|
||||
|
||||
FOR i = 1 TO 4
|
||||
LET p = p + 1
|
||||
CALL tree.insertElement(p)
|
||||
LET id = parentId || "." || i
|
||||
LET tree[p].id = id
|
||||
LET tree[p].parentId = parentId
|
||||
LET tree[p].name = NAME || " " || i
|
||||
IF i MOD 2 THEN
|
||||
LET tree[p].hasChildren = TRUE
|
||||
ELSE
|
||||
LET tree[p].hasChildren = FALSE
|
||||
END IF
|
||||
END FOR
|
||||
END FUNCTION
|
||||
@@ -0,0 +1,40 @@
|
||||
LAYOUT
|
||||
GRID
|
||||
{
|
||||
|
||||
|
||||
[img ]
|
||||
<Tree tree >
|
||||
Name
|
||||
[name ]
|
||||
[name ]
|
||||
[name ]
|
||||
[name ]
|
||||
[name ]
|
||||
}
|
||||
END
|
||||
END
|
||||
|
||||
ATTRIBUTES
|
||||
IMAGE img:image="genero_logo.png", style="title";
|
||||
name = FORMONLY.name;
|
||||
#vend = FORMONLY.nombre_vend;
|
||||
#vb = FORMONLY.valor_bruto;
|
||||
#de = FORMONLY.descuento;
|
||||
#st = FORMONLY.subtotal;
|
||||
#it = FORMONLY.itbis;
|
||||
#nt = FORMONLY.neto;
|
||||
|
||||
PHANTOM FORMONLY.parentId;
|
||||
PHANTOM FORMONLY.id;
|
||||
PHANTOM FORMONLY.hasChildren;
|
||||
|
||||
TREE tree:
|
||||
IMAGEEXPANDED = "open",
|
||||
IMAGECOLLAPSED = "folder",
|
||||
IMAGELEAF = "file",
|
||||
ISNODECOLUMN = hasChildren;
|
||||
|
||||
INSTRUCTIONS
|
||||
#SCREEN RECORD tree(name, nombre_vend,valor_bruto, descuento, subtotal, itbis, neto,parentId, id, hasChildren)
|
||||
SCREEN RECORD tree(name, parentId, id, hasChildren)
|
||||
@@ -0,0 +1,28 @@
|
||||
LAYOUT
|
||||
GRID
|
||||
|
||||
{
|
||||
<Tree tree >
|
||||
[f1 ][n ]
|
||||
[f1 ][n ]
|
||||
[f1 ][n ]
|
||||
[f1 ][n ]
|
||||
[f1 ][n ]
|
||||
}
|
||||
END
|
||||
ATTRIBUTES
|
||||
f1 = formonly.ano;
|
||||
n = formonly.nombre_vend;
|
||||
|
||||
PHANTOM FORMONLY.parentId;
|
||||
PHANTOM FORMONLY.id;
|
||||
PHANTOM FORMONLY.hasChildren;
|
||||
|
||||
TREE tree:
|
||||
IMAGEEXPANDED = "open",
|
||||
IMAGECOLLAPSED = "folder",
|
||||
IMAGELEAF = "file",
|
||||
ISNODECOLUMN = hasChildren;
|
||||
|
||||
INSTRUCTIONS
|
||||
SCREEN RECORD sdatos (ano,nombre_vend, parentid,id,haschildren)
|
||||
Reference in New Issue
Block a user