Boa tarde pessoal eu precisava manipular um browser do cp0309 via UPC, mas não estou conseguindo acessar o browser, pegando o fonte do programa vi que ele é feito usando treelist, nunca tive a experiência de trabalhar com esse tipo de componente, alguém saberia como fazer ou teria um exemplo?
Opa, Eu consigo fazer a manipulação, vou deixar aqui o que fiz para manipular: IF p-ind-event = "AFTER-CONTROL-TOOL-BAR" THEN DO: ASSIGN p-wgh-frame:name = 'fPage1' w-brDepositos = p-wgh-frame:first-child. DO WHILE VALID-HANDLE(w-brDepositos): IF w-brDepositos:TYPE = 'browse' AND w-brDepositos:col = 130.86 THEN DO: IF VALID-HANDLE(w-brDepositos:QUERY) THEN DO: ASSIGN hQuery = w-brDepositos:QUERY. IF hQuery:NUM-BUFFERS > 0 THEN DO: ASSIGN hBuffer = hQuery:GET-BUFFER-HANDLE(1). IF VALID-HANDLE(hBuffer) THEN DO: hQuery:GET-FIRST() NO-ERROR. DO WHILE NOT hQuery:QUERY-OFF-END: ASSIGN cDeposito = STRING( hBuffer:BUFFER-FIELD("cod-depos"):BUFFER-VALUE ). ASSIGN lPermite = false. if can-find(FIRST emt-dep-usuar NO-LOCK WHERE emt-dep-usuar.cod-usuario = v_cod_usuar_corren) then do: FOR FIRST emt-dep-usuar NO-LOCK WHERE emt-dep-usuar.cod-usuario = v_cod_usuar_corren AND emt-dep-usuar.cod-depos = cDeposito: ASSIGN lPermite = TRUE. END. IF NOT lPermite THEN DO: hBuffer:BUFFER-DELETE() NO-ERROR. END. end. hQuery:GET-NEXT() NO-ERROR. END. w-brDepositos:REFRESH(). END. END. END. LEAVE. END. IF w-brDepositos:TYPE = 'FIELD-GROUP' OR w-brDepositos:TYPE = 'FRAME' THEN ASSIGN w-brDepositos = w-brDepositos:first-child. ELSE ASSIGN w-brDepositos = w-brDepositos:next-sibling. END. END. Para esse caso só funcionou se fizer a manipulação em tempo de execução, e para diferenciar os browsers usei a coluna deles ali para conseguir manipular.