Versão atual:

Pegar os dados do FwMarkBrowse apos filtro

Acredito que esta minha duvida seja bem simples, mas como sou iniciante em ADVPL estou com dificuldade. Tenho o codigo abaixo, onde coloco um filtro default no browse e o usuario pode criar outros filtros, como faço para pegar somente os registros que estão sendo exibidos no browse apos o filtro?

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

User Function MCK001A()
    Local aArea     As Array
    Local oBrowse   As Object

    aArea   := GetArea()

    oBrowse := FwLoadBrw("MCK001")
    oBrowse:Activate()

    RestArea(aArea)

Return

Static Function BrowseDef()
    Local oBrowse   As Array
    Local cFilter   As Character

    cFilter := SB2->("@B2_LOCAL = 'DV' AND B2_QATU > 0")

    oBrowse := FwMarkBrowse():New()
    oBrowse:DataTable()
    oBrowse:SetAlias("SB2")
    oBrowse:SetMenuDef("MCK001")
    oBrowse:SetFilterDefault(cFilter)

Return oBrowse

Static Function MenuDef()
    Local aRot  As Array

    aRot := {}
    Add OPTION aRot TITLE 'Teste' ACTION 'u_MCK001B()'  OPERATION 6 ACCESS 0

Return aRot


User Function MCK001B()
    Local cAliasSB2 := 'SB2'
    Local aAreaSB2  := (cAliasSB2)->( GetArea() )

    //Aqui vem todos os registros da tabela
    //Gostaria de pegar somente os dados exibidos no browse
    DbSelectArea(cAliasSB2)
    (cAliasSB2)->( DbGoTop() )
    While !(cAliasSB2)->( Eof() )
        Alert( (cAliasSB2)->B2_COD )
        (cAliasSB2)->( DbSkip() )
    EndDo

    RestArea( aAreaSB2 )
Return

Versão (1):

Ver a versão formatada

Pegar os dados do FwMarkBrowse apos filtro

Comentário

new question