Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Implementado os pontos de entrada TC765Bro personalização do Browse e TC765Str para retornar array (Campo, Tipo, Tamanho, Decimais) dos campos a serem exibidos usados no Browse.


  • Exemplo de Utilizaçãoutilização dos pontos de entrada:


Função TC765Bro ()Exemplo Ponto de Entrada TC765Bro.

1
2
3
4
5
6
7

#INCLUDE "PROTHEUS.CH"
 

Static cMark := GetMark()


User Function

TC765Bro

TC765BRO(

oBrowse

)
Local

oUsrBrw

oBrowse := PARAMIXB[1]

oBrowse:AddButton("Processar",{||U_AT765BTN(oBrowse)})
oBrowse:AddMarkColumns( {||IIf(!Empty( T40_OK ), "LBOK", "LBNO")},;
                                              {|| u_AT765SetMk(oBrowse)},;
                                              {|| u_AT765AllMk(oBrowse), oBrowse:Refresh()} )

Return oBrowse


// Sugestão de rotinas específicas.

User Function AT765BTN(oBrowse)
    Local cAlias := oBrowse:oData:calias

    // ...

Return

oUsrBrw

Nil

User Function AT765SetMk(oBrowse)
Local cAlias := oBrowse:oData:calias
RecLock( cAlias,.F. )
If Empty((cAlias)->T40_OK)
      (cAlias)->T40_OK := cMark
Else
      (cAlias)->T40_OK := ""
EndIf
(cAlias)->(MsUnLock())
Return Nil

User Function AT765AllMk(oBrowse)
Local cAlias := oBrowse:oData:calias
Local aArea  := (cAlias)->(GetARea())
Local lMarca := .F.
(cAlias)->(dbGoTop())
lMarca := (cAlias)->T40_OK <> cMark
While (cAlias)->(!Eof())
      (cAlias)->T40_OK := Iif(lMarca, cMark, "")
      (cAlias)->(MsUnLock())
      (cAlias)->(dbSkip())
EndDo
RestArea(aArea)
Return Nil

Exemplo Ponto de Entrada TC765Str.Função TC765Str ()

1
2
3
4
5
6
7

#INCLUDE "PROTHEUS.CH"
 

User Function TC765Str TC765STR(aCampos)
Local aRet := {}
Local aUsrCpos := PARAMIXB[1]
 . . .
Return aUsrCpos

// Exemplo de campo específico para marcação dos itens do Browse.

AAdd(aRet, {"T40_OK" ,"C",02,0})  

Return aRet

Informações
titleInformações importantes
  1. Os códigos acima servem como exemplo para atender situação específica e devem ser alterados conforme a necessidade.
  2. Como sugestão de uso no exemplo acima foi criado o campo específico T40_OK (tamanho 2 caracteres).
  3. O relacionamento entre as tabelas de Marcações (T40) e Agenda do Atendente (ABB ) é através dos campos de Controle Marcação (T40_VALCON X ABB_MARENT)


05. ASSUNTOS RELACIONADOS

...