A utilização do componente MarkBrow é bem simples, você o encontra em várias rotinas do sistema, como na rotina SPEDNFE ou no Documento de exclusão de saida de Nf, etc... A função MarkBrow() permite que os elementos de um browser sejam marcados ou desmarcados. Sintaxe: MarkBrow ( [ cAlias ] [ cCampo ] [ cCpo ] [ aCampos ] [ lInverte ] [ cMarca ] [ cCtrlM ] [ uPar8 ] [ cExpIni ] [ cExpFim ] [ cAval ] [ bParBloco ] [ cExprFilTop ] [ uPar14 ] [ aColors ] [ uPar16 ] ) Observações Para utilização da MarkBrow() é necessário declarar as variáveis cCadastro e aRotina () como Private acima da chamada da função. aRotina Vetor com as rotinas que serão executadas. Nele será definido o tipo de operação a ser executada (inclusão, alteração, exclusão, visualização, pesquisa, ...), sua estrutura é composta de 5 (cinco) dimensões: [n][1] - Título [n][2] - Rotina [n][3] - Reservado [n][4] - Operação (1 - pesquisa; 2 - visualização; 3 - inclusão; 4 - alteração; 5 - exclusão) [n][5] - Acesso relacionado à rotina. Se esta posição não for informada, nenhum acesso será validado. aCampos [n][1] - Nome do campo [n][2] - Nulo (Nil); [n][3] - Título do campo [n][4] - Máscara (picture).
User Function AFIN003 Local aPerg := {} Private cAlias := "SE2" Private cCadastro := "Contas a Pagar" Private aRotina := {} Private aTitulos := {} Private aIndexQRY := {} Private aIndexSE2 := {} Private cExp := "" Private aFiltro := {} Private bFiltraBrw := {|| Nil } Private _cQuery := "" Private cText := "" Private aCores := {} Private aCampos := {} Private cArqTrab := "" Private cFiltro := "" Private nOrdPesq := 1 Private cCondicao := "" CriaSx1a('AFIN003F') if !(Pergunte('AFIN003F',.T.)) Alert("Cancelado pelo usuario!") return endif AADD(aRotina,{"Visualizar" ,"U_AFIN003V" , 0,2}) Aadd(aRotina,{"Aviso" ,"U_AFIN003A" , 0,6}) dbSelectArea("SE2") cCondicao := " E2_PREFIXO == 'EIC' " cCondicao += " .AND. E2_NUMDI >= '"+mv_par01 +"' .AND. E2_NUMDI <= '"+mv_par02+"' " cCondicao += " .AND. E2_NUM >= '"+mv_par03 +"' .AND. E2_NUM <= '"+mv_par04+"' " cCondicao += " .AND. E2_FORNECE >= '"+mv_par05 +"' .AND. E2_FORNECE <= '"+mv_par07+"' " cCondicao += " .AND. E2_LOJA >= '"+mv_par06 +"' .AND. E2_LOJA <= '"+mv_par08+"' " cCondicao += " .AND. DTOS(E2_EMISSAO) >= '"+Dtos(MV_PAR09) +"'.And. DTOS(E2_EMISSAO) <= '"+Dtos(MV_PAR10)+"'" if mv_par12>0 cCondicao += " .AND. E2_VALOR >= '"+STR(mv_par11)+"' .AND. E2_VALOR <= '"+STR(mv_par12)+"' " endif If !Empty(mv_par13) cCondicao+= " .AND. E2_HIST $ '"+Alltrim(mv_par13)+"' " endif If !Empty(mv_par15) cCondicao+= " .AND. E2_HAWBEIC == '"+mv_par15+"' " endif If !Empty(mv_par16) cCondicao+= " .AND. E2_PO_EIC == '"+mv_par16+"' " endif bFiltraBrw := {|| FilBrowse("SE2",@aIndexSE2,@cCondicao) } Eval(bFiltraBrw) dbSelectArea("SE2") if mv_par14==1 SE2->(dbSetOrder(5)) Elseif mv_par14==2 SE2->(dbSetOrder(17)) Elseif mv_par14==1 SE2->(dbSetOrder(1)) Endif SE2->(dbGoTop()) SET FILTER TO &(cCondicao) Aadd(aCampos, {'E2_ZZMARCA' ,'C','Ok' ,1,0,'@!'}) Aadd(aCampos, {'E2_NUMDI' ,'C','D.I' ,PesqPict("SE2","E2_NUMDI") ,TAMSX3("E2_NUMDI")[1] ,TAMSX3("E2_NUMDI")[2]}) Aadd(aCampos, {'E2_PO_EIC' ,'C','P.O' ,PesqPict("SE2","E2_PO_EIC") ,TAMSX3("E2_PO_EIC")[1] ,TAMSX3("E2_PO_EIC")[2]}) Aadd(aCampos, {'E2_HAWBEIC' ,'C','Hawb' ,PesqPict("SE2","E2_HAWBEIC") ,TAMSX3("E2_HAWBEIC")[1] ,TAMSX3("E2_HAWBEIC")[2]}) Aadd(aCampos, {'E2_PREFIXO' ,'C','Prefixo' ,PesqPict("SE2","E2_PREFIXO") ,TAMSX3("E2_PREFIXO")[1],TAMSX3("E2_PREFIXO")[2]}) Aadd(aCampos, {'E2_NUM' ,'C','Titulo' ,PesqPict("SE2","E2_NUM") ,TAMSX3("E2_NUM")[1] ,TAMSX3("E2_NUM")[2]} ) Aadd(aCampos, {'E2_PARCELA' ,'C','Parcela' ,PesqPict("SE2","E2_PARCELA") ,TAMSX3("E2_PARCELA")[1] ,TAMSX3("E2_PARCELA")[2]} ) Aadd(aCampos, {'E2_TIPO' ,'C','Tipo' ,PesqPict("SE2","E2_TIPO") ,TAMSX3("E2_TIPO")[1] ,TAMSX3("E2_TIPO")[2]} ) Aadd(aCampos, {'E2_NATUREZ' ,'C','Natureza' ,PesqPict("SE2","E2_NATUREZ") ,TAMSX3("E2_NATUREZ")[1] ,TAMSX3("E2_NATUREZ")[2]}) Aadd(aCampos, {'E2_FORNECE' ,'C','Fornecedor',PesqPict("SE2","E2_FORNECE") ,TAMSX3("E2_FORNECE")[1] ,TAMSX3("E2_FORNECE")[2]}) Aadd(aCampos, {'E2_LOJA' ,'C','Loja' ,PesqPict("SE2","E2_LOJA") ,TAMSX3("E2_LOJA")[1] ,TAMSX3("E2_LOJA")[2]} ) Aadd(aCampos, {'E2_EMISSAO' ,'D','Emissao' ,PesqPict("SE2","E2_EMISSAO") ,TAMSX3("E2_EMISSAO")[1] ,TAMSX3("E2_EMISSAO")[2]}) Aadd(aCampos, {'E2_VENCTO' ,'D','Vencimento',PesqPict("SE2","E2_VENCTO") ,TAMSX3("E2_VENCTO")[1] ,TAMSX3("E2_VENCTO")[2]}) Aadd(aCampos, {'E2_VENCREA' ,'D','Venc.Real',PesqPict("SE2","E2_VENCREA") ,TAMSX3("E2_VENCREA")[1] ,TAMSX3("E2_VENCREA")[2]}) Aadd(aCampos, {'E2_VALOR' ,'N','Valor' ,PesqPict("SE2","E2_VALOR") ,TAMSX3("E2_VALOR")[1] ,TAMSX3("E2_VALOR")[2]}) Aadd(aCampos, {'E2_SALDO' ,'N','Saldo' ,PesqPict("SE2","E2_SALDO") ,TAMSX3("E2_SALDO")[1] ,TAMSX3("E2_SALDO")[2]}) Aadd(aCampos, {'E2_HIST' ,'C','Historico',PesqPict("SE2","E2_HIST") ,TAMSX3("E2_HIST")[1] ,TAMSX3("E2_HIST")[2]}) MarkBrow("SE2","E2_ZZMARCA","",aCampos,.F.,GetMark(,"SE2","E2_ZZMARCA"),,,,,,,,,) Set Filter to SE2->(DbGotop()) Return