Nesse vídeo demonstraremos a utilização das funções FWmBrwActive e GetObjBrow, que servem para interceptar o browse aberto em memória.
Abaixo o código fonte desenvolvido para o exemplo em vídeo acima:
//Bibliotecas #Include "Totvs.ch" /*/{Protheus.doc} User Function zExe231 Intercepta o browse aberto em memória @type Function @author Atilio @since 20/02/2023 @see https://tdn.totvs.com/display/public/framework/FWmBrwActive @obs Função FWmBrwActive Parâmetros Função não tem parâmetros Retorno Retorna o objeto do browse (FWmBrowse) Função GetObjBrow Parâmetros Função não tem parâmetros Retorno Retorna o objeto do browse (mBrowse) **** Apoie nosso projeto, se inscreva em https://www.youtube.com/TerminalDeInformacao **** /*/ User Function zExe231() Local aArea := FWGetArea() Local oBrowse := Nil Local nColunas := 0 //Se a última tabela aberta for a de Fornecedor e vier da rotina MATA020 If aArea[1] == 'SA2' .And. FWIsInCallStack("MATA020") //Intercepta o Browse - similar a antiga GetObjBrow() //oBrowseAnt := GetObjBrow() oBrowse := FWmBrwActive() //Se o Browse já estiver na memória If ValType(oBrowse) == "O" //Se não tiver legendas, irá adicionar If Len(oBrowse:aLegends) == 0 oBrowse:AddLegend( "SA2->A2_TIPO == 'F'", "WHITE", "Fisico" ) oBrowse:AddLegend( "SA2->A2_TIPO == 'J'", "BLACK", "Juridico" ) oBrowse:AddLegend( "SA2->A2_TIPO == 'X'", "RED", "Outros" ) //Pega o total de colunas, insere um elemento, e fala que será na posição 1 nColunas := Len(oBrowse:aColumns) aSize(oBrowse:aColumns, nColunas + 1) aIns(oBrowse:aColumns, 1) //Copia a última posição (que é a legenda) para a primeira, e depois exclui ela do final oBrowse:aColumns[1] := oBrowse:aColumns[nColunas + 1] aDel(oBrowse:aColumns, nColunas + 1) aSize(oBrowse:aColumns, nColunas) EndIf EndIf EndIf FWRestArea(aArea) Return /*/{Protheus.doc} User Function MBlkColor Altera a cor da linha bloqueada @type Function @author Atilio @since 20/02/2023 @see http://tdn.totvs.com/display/public/mp/MBlkColor+-+Retorna+cores+a+utilizar /*/ User Function MBlkColor() u_zExe231() Return
Bom pessoal, por hoje é só.
Abraços e até a próxima.