Histórico da Página
...
Esse documento visá demostrar um exemplo do ponto de entrada CT105LOK que permite a adição de novas validações ao Lançamento Contábil.
Informações | ||
---|---|---|
| ||
Não Não é aconselhável modificar campos da tabela CT2 (Lançamentos contábeis) para obrigatório pois irá ter efeitos indesejáveis quanto a contabilização. Quando necessário deixar algum campo como obrigatório favor utilizar com ponto de entrada CT105LOK. |
02. PARÂMETROS
Parâmetro | Tipo | Descrição | Obrigatório |
---|---|---|---|
PARAMIXB[1] | Array | Opção | Não |
PARAMIXB[2] | Array | Data do Lançamento | Não |
...
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH"
User Function CT105LOK()
Local nOpc := PARAMIXB[1]
Local dDataLanc := PARAMIXB[2]
Local lRet := .T.
If(FwIsInCallStack("CTBA102")) // valida se vem do fonte ctba102
If (X3Obrigat('CT2_ORIGEM') .and. Empty(TMP->CT2_ORIGEM))// valida se o campo é obrigatório e se está vazio
if(!IsBlind()) // valida se vem de execauto para não aparecer o help
Help( "",1,"CTBA102" ,,"Campo Origem Obrigatório",1,0,)// campo origem obrigatorio
EndIF
lRet := .F. // retorna falso não permitindo a inclusão
EndIF
EndIF
RETURN lRet // retorna verdadeiro ou falso dependendo do campo origem se ta vazio ou não
|
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "FONT.CH"
#INCLUDE "PROTHEUS.CH"
User Function CT105LOK()
Local aCpoOrig := {"CT2_ORIGEM","CT2_"} //Colocar os campos desejaveis a serem obrigatórios
Local nx:=0
Local lRet:=.T.
For nX := 1 TO len(aCpoOrig)
If Empty(&("TMP->"+aCpoOrig[nx])) .and. TMP->CT2_DC !='4'
SX3->(dbSetOrder(2))
SX3->(MsSeek(aCpoOrig[nx]))
SX2->(dbSetOrder(1))
SX2->(MsSeek(SX3->X3_ARQUIVO))
HELP(" ",1,"OBRIGAT2",,aCpoOrig[nx]+CRLF+ "Campo:" +" "+ X3DESCRIC()+ CRLF +"Linha :" + TMP->CT2_LINHA,3,1) //"Campo: "###"Linha: "
lRet:=.F.
Exit
Endif
Next
Return lRet
|
Informações | ||
---|---|---|
| ||
O ponto de entrada retorna a variável aBotoes contendo todos os menus a serem adicionados.lRet informando se pode prosseguir ou se há inconsistência que precisa ser corrigida |
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
If ExistBlock("CT060BUT") aCT060BUT := ExecBlock("CT060BUT",.F.,.F.,aRotina) IF ValType(aCT060BUT) == "A" .AND. Len(aCT060BUT) > 0 For nX := 1 to len(aCT060BUT) aAdd(aRotina,aCT060BUT[nX]) Next ENDIF Endif |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas