Urgente Manipular browser cp0309

Discussão em 'EMS , HCM e Totvs 11' iniciado por tfofano, Maio 15, 2026.

  1. tfofano

    tfofano Membro Participativo

    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?
  2. rafael.andrade

    rafael.andrade Membro Master Moderador Equipe de Suporte

    De qual browse vc está falando e o que vc pretende fazer?
  3. tfofano

    tfofano Membro Participativo

    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.

Compartilhe esta Página