Histórico da Página
...
- CTA080TOK
Link: http://tdn.totvs.com.br/display/public/mp/CTA080TOK+-+Valida+lancamentos+padroes+--+109592DT_PE_CTA080TOK - Valida lancamentos padroes
Utilização em MVC: Pode ser substituído pela função MODELPOS
- CT080GRV
Link: DT_PE_CT080GRV - Após gravar o lançamento padrão -- 90628
Utilização em MVC: Pode ser substituído pela função FORMCOMMINTTTS.
...
Descrição: | O ponto de entrada CTBA080 permite tratar os diversos eventos no cadastro de Lançamento Padrão. |
Eventos: | MODELPRE Retorno: Retorno: Retorno: Retorno: Retorno: Retorno: Para a inclusão de botões na ControlBar. |
Programa Fonte: | CTBA080 |
Retorno: | de acordo com evento conforme documentação http://tdn.totvs.com/pages/viewpage.action?pageId=208345968 |
Exemplo:
#include "Protheus.ch
...
"
#include "FWMVCDEF.CH"
Static lFlag := .F.
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
...
'
lFlag := !lFlag
If lFlag
If oObj:GetOperation() == MODEL_OPERATION_INSERT
// para inclusão;
cMsg := 'P E Exemplo do metodo GetOperation INCLUSAO (NECESSARIO include FWMVCDEF.CH.' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + ' - Continua ?' ) )
Help( ,, 'Help',, 'OPERACAO INCLUSAO .F.', 1, 0 )
EndIf
ElseIf oObj:GetOperation() == MODEL_OPERATION_UPDATE
// para alteração;
cMsg := 'P E Exemplo do metodo GetOperation ALTERACAO (NECESSARIO include FWMVCDEF.CH.' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + ' - Continua ?' ) )
Help( ,, 'Help',, 'OPERACAO ALTERACAO .F.', 1, 0 )
EndIf
ElseIf oObj:GetOperation() == MODEL_OPERATION_DELETE
//para exclusao
cMsg := 'P E Exemplo do metodo GetOperation EXCLUSAO (NECESSARIO include FWMVCDEF.CH.' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + ' - Continua ?' ) )
Help( ,, 'Help',, 'OPERACAO EXCLUSAO .F.', 1, 0 )
EndIf
Else
cMsg := 'P E Exemplo do metodo GetOperation Visualizacao (NECESSARIO include FWMVCDEF.CH.' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + ' - Continua ?' ) )
Help( ,, 'Help',, 'Visualizacao .F.', 1, 0 )
EndIf
EndIf
cMsg := 'P E Validação total do modelo (MODELPOS).' + CRLF
cMsg += 'ID ' + cIdModel + CRLF
If !( xRet := ApMsgYesNo( cMsg + If(oObj:GetValue( "CT5MASTER", 'CT5_STATUS' )=='1',
...
"L P A t i v o ", "LP Desabilitado") + ' - Continua ?' ) )
...
Help( ,, 'Help',, 'O MODELPOS retornou .F.', 1, 0
...
)
EndIf
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)
...
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
EndIf
Return xRet