#35676
Javier Ader
Participante

y si… la condición que chequea no es la ideal; el tema es que Libertya maneja “subcontextos” a nivel de ventanas completas (Env.getContext( m_vo.ctx,m_vo.WindowNo,”Processed”)). Esta claramente pensado bajo supoción de que en cada ventana va a existir un solo “Documento” (la columnas Processed y creo que un par mas son tratadas de manera especial, DocumentNo creo ).
Mas alla de esto, tené en cuenta:
-el nivel de la pestaña solo es algo visual (si no me equivoco); no tiene una semántica mas allá de mostrarte la pestaña identada.
-No entendí muy bien como tenes las pestañas, esa asi?:
A (order 10, nivel 0)
-> C (order 20, nivel 1; “hija” de A)
B (order 30, nivel 0)
-> D (order 40, nivel 1, “hija” de B)

La frase “C y D hijos en comun de A y B” me confunde un poco ; en particular “hijos en común”.

-Si estas teniendo este problema es porque en una misma ventana tenes mas de una pestaña asociada a algún tipo de documento; es medio raro esto….

De todas maneras; un “hack” podría ser cambiar la condición por
if( m_vo.TabNo > 0 && “el nivel de la tab actual” >0) {

“el nivel de la tab actual” porque no se que tendrías que mirar (m_vo casi seguro que lo tiene en algún campo); también tal vez la condición no tenga que ser >0 si no >1 . Lo “ideal” seria “buscar en las pestañas padres” y ver si tienen en la fila actualmente seleccionada con Processed = Y… pero lo veo muy complicado y no se si tan necesario (tal vez un hack mas “simple” seria no mostrar en A y B las columnas Processed; creo que de esa manera no se guarda nunca valor en el contexto, y la condición de error nunca se daría…. igual, es medio “sucio”; porque te permitiría agregar filas “hijas” cuando Processed es realmente “Y”) .