Árvore de páginas

Versões comparadas

Chave

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

...

Descrição:

O ponto de entrada CTBA080 permite tratar os diversos eventos no cadastro de Lançamento Padrão.

Eventos:

MODELPRE

Antes da alteração de qualquer campo do modelo.

Retorno:
Requer um retorno lógico

MODELPOS

Na validação total do modelo.

Retorno:
Requer um retorno lógico

FORMPRE

Antes da alteração de qualquer campo do formulário.

Retorno:
Requer um retorno lógico

FORMPOS

Na validação total do formulário.

Retorno:
Requer um retorno lógico

FORMLINEPRE

Antes da alteração da linha do formulário FWFORMGRID.

Retorno:
Requer um retorno lógico

FORMLINEPOS

Na validação total da linha do formulário FWFORMGRID.

Retorno:
Requer um retorno lógico

MODELCOMMITTTS

Após a gravação total do modelo e dentro da transação.

Retorno:
Não espera retorno

MODELCOMMITNTTS

Após a gravação total do modelo e fora da transação.

Retorno:
Não espera retorno

FORMCOMMITTTSPRE

Antes da gravação da tabela do formulário.

Retorno:
Não espera retorno

FORMCOMMITTTSPOS

Após a gravação da tabela do formulário.

Retorno:
Não espera retorno

FORMCANCEL

No cancelamento do botão.


Retorno:
Requer um retorno lógico

BUTTONBAR

Para a inclusão de botões na ControlBar.
Retorno:
Requer um array de retorno com estrutura pré definida

Programa Fonte:

CTBA080

Retorno:

de acordo com evento conforme documentação http://tdn.totvs.com/pages/viewpage.action?pageId=208345968 


Exemplo: 

#INCLUDE #include "protheusProtheus.ch"


User Function CTBA080()
Local aParam := PARAMIXB
Local xRet := .T.
Local oObj := ''
Local cIdPonto := '' 

Local cIdModel := ''
Local lIsGrid := .F.
Local nLinha := 0
Local nQtdLinhas := 0
Local cMsg := ''
Local cClasse := ""

 

 

 

If aParam <> NIL
oObj := aParam[1]
cIdPonto := aParam[2]
cIdModel := aParam[3]

lIsGrid := ( oObj:ClassName()=="FWFORMGRID" ) //.F. //( Len( aParam ) == 5 .And. aParam[5] != NIL )

If lIsGrid
nQtdLinhas := oObj:GetQtdLine()
nLinha := oObj:nLine
EndIf 

If cIdPonto == 'MODELPOS'
cMsg := 'Chamada na validação P E Validação total do modelo (MODELPOS).' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + 'Cadastro '+If(oObj:GetValue( 'CT5MASTER', 'CT5_STATUS' ) == '1',"Ativo","Desabilitado")+' - Continua ?' ) )
Help( ,, 'Help',, 'O MODELPOS retornou .F.', 1, 0 )
EndIf 

ElseIf cIdPonto == 'FORMPOS'
/*
cMsg := 'Chamada na validação total do formulário (FORMPOS).' + CRLF
cMsg += 'ID ' + cIdModel + CRLF

cClasse := oObj:ClassName()

If cClasse == 'FWFORMGRID'
cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ;
' linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF
ElseIf cClasse == 'FWFORMFIELD'
cMsg += 'É um FORMFIELD' + CRLF
EndIf
If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
Help( ,, 'Help',, 'O FORMPOS retornou .F.', 1, 0 )
EndIf
  */

ElseIf cIdPonto == 'FORMLINEPRE'
/*
If aParam[5] == 'DELETE'
cMsg := 'Chamada na pré validação da linha do formulário (FORMLINEPRE).' + CRLF
cMsg += 'Onde esta se tentando deletar uma linha' + CRLF
cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) +;
' linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
Help( ,, 'Help',, 'O FORMLINEPRE retornou .F.', 1, 0 )
EndIf
EndIf
  */

ElseIf cIdPonto == 'FORMLINEPOS'
/*
cMsg := 'Chamada na validação da linha do formulário (FORMLINEPOS).' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
cMsg += 'É um FORMGRID com ' + Alltrim( Str( nQtdLinhas ) ) + ' linha(s).' + CRLF
cMsg += 'Posicionado na linha ' + Alltrim( Str( nLinha ) ) + CRLF

If !( xRet := ApMsgYesNo( cMsg + 'Continua ?' ) )
Help( ,, 'Help',, 'O FORMLINEPOS retornou .F.', 1, 0 )
EndIf
  */

ElseIf cIdPonto == 'MODELCOMMITTTS'
//ApMsgInfo('Chamada apos a gravação total do modelo e dentro da transação (MODELCOMMITTTS).' + CRLF + 'ID ' + cIdModel )

 

ElseIf cIdPonto == 'MODELCOMMITNTTS'
//ApMsgInfo('Chamada apos a gravação total do modelo e fora da transação (MODELCOMMITNTTS).' + CRLF + 'ID ' + cIdModel)
//ElseIf cIdPonto == 'FORMCOMMITTTSPRE' )

If CT5->(FieldPos("CT5_USUARI")) > 0
RecLock("CT5", .F.)
CT5->CT5_USUARI := "Paulo da Silva Nunes"
MsUnlock()
EndIf


ElseIf cIdPonto == 'FORMCOMMITTTSPOS'
//ApMsgInfo('Chamada apos a gravação da tabela do formulário (FORMCOMMITTTSPOS).' + CRLF + 'ID ' + cIdModel)

 

ElseIf cIdPonto == 'MODELCANCEL'
/*
cMsg := 'Chamada no Botão Cancelar (MODELCANCEL).' + CRLF + 'Deseja Realmente Sair ?'
If !( xRet := ApMsgYesNo( cMsg ) )
Help( ,, 'Help',, 'O MODELCANCEL retornou .F.', 1, 0 )
EndIf
  */

ElseIf cIdPonto == 'MODELVLDACTIVE'
/*
cMsg := 'Chamada na validação da ativação do Model.' + CRLF + ;
'Continua ?'
If !( xRet := ApMsgYesNo( cMsg ) )
Help( ,, 'Help',, 'O MODELVLDACTIVE retornou .F.', 1, 0 )
EndIf
  */
ElseIf cIdPonto == 'BUTTONBAR'
/*
ApMsgInfo('Adicionando Botão na Barra de Botões (BUTTONBAR).' + CRLF + 'ID ' + cIdModel )
xRet := { {'Salvar', 'SALVAR', { || Alert( 'Salvou' ) }, 'Este botão Salva' } }
  */

EndIf

 

EndIf 

Return xRet