Árvore de páginas
Ir para o final dos metadados
Ir para o início dos metadados

Função: Rotina Automática CTBA020 - Cadastro de Contas Contábeis

Características do Requisito

Linha de Produto:

Microsiga Protheus.

Segmento:

Serviços e Juridico.

Módulo:

Ativo Fixo (SIGAATF)

Rotina:

Rotina

Nome Técnico

Cadastro de

Contas Contábeis

CTBA020 .

Cadastros Iniciais:

CT1, CVD, CTS

Chamado

DSERCTR1-386

País(es):

Todos.

Banco(s) de Dados:

Todos.

Tabelas utilizadas:

CVS, CVF.

Sistema(s) operacional(is):

Todos.

Versões/Release:

12.1.18

 

 

Descrição

Exemplo de rotina automática baixa de Ativos (CTBA020).

 

Rotina Automática

 

Exemplo de inclusão: 

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC


//Exemplo de rotina automática para inclusão de contas contábeis no ambiente Contabilidade Gerencial (SigaCTB).
/// ROTINA AUTOMATICA - INCLUSAO DE CONTA CONTABIL CTB
User Function ModelCT1()
Local nOpcAuto :=0
Local nX
Local oCT1
Local aLog
Local cLog :=""
Local lRet := .T.

If __oModelAut == Nil //somente uma unica vez carrega o modelo CTBA020-Plano de Contas CT1
__oModelAut := FWLoadModel('CTBA020')
EndIf


nOpcAuto:=3


__oModelAut:SetOperation(nOpcAuto) // 3 - Inclusão | 4 - Alteração | 5 - Exclusão
__oModelAut:Activate() //ativa modelo

//---------------------------------------------------------
// Preencho os valores da CT1
//---------------------------------------------------------


oCT1 := __oModelAut:GetModel('CT1MASTER') //Objeto similar enchoice CT1 
oCT1:SETVALUE('CT1_CONTA','17')
oCT1:SETVALUE('CT1_DESC01','Okdok')
oCT1:SETVALUE('CT1_CLASSE','2')
oCT1:SETVALUE('CT1_CLASSE','2')
oCT1:SETVALUE('CT1_NORMAL' ,'1')

//---------------------------------------------------------
// Preencho os valores da CVD
//---------------------------------------------------------

oCVD := __oModelAut:GetModel('CVDDETAIL') //Objeto similar getdados CVD
oCVD:SETVALUE('CVD_FILIAL' ,CVD->(xFilial('CVD'))) 
oCVD:SETVALUE('CVD_ENTREF','10')
oCVD:SETVALUE('CVD_CODPLA',PadR('2016',Len(CVD->CVD_CODPLA))) 
oCVD:SETVALUE('CVD_CTAREF',PadR('1.01.01.01.01', Len(CVD->CVD_CTAREF)))
oCVD:SETVALUE('CVD_TPUTIL','A')
oCVD:SETVALUE('CVD_CLASSE','2') 
oCVD:SETVALUE('CVD_VERSAO',PadR('0001',Len(CVD->CVD_VERSAO)))
oCVD:SETVALUE('CVD_CUSTO' ,PadR('001',Len(CVD->CVD_CUSTO)))

//---------------------------------------------------------
// Preencho os valores da CTS
//---------------------------------------------------------


oCTS := __oModelAut:GetModel('CTSDETAIL') //Objeto similar getdados CTS
oCTS:SETVALUE('CTS_FILIAL' ,CTS->(xFilial('CTS'))) 
oCTS:SETVALUE('CTS_CODPLA' ,'001')
oCTS:SETVALUE('CTS_CONTAG' ,'0000021')


If __oModelAut:VldData() //validacao dos dados pelo modelo

__oModelAut:CommitData() //gravacao dos dados

Else

aLog := __oModelAut:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData

//laco para gravar em string cLog conteudo do array aLog
For nX := 1 to Len(aLog)
If !Empty(aLog[nX])
cLog += Alltrim(aLog[nX]) + CRLF
EndIf
Next nX

lMsErroAuto := .T. //seta variavel private como erro
AutoGRLog(cLog) //grava log para exibir com funcao mostraerro
mostraerro()
lRet := .F. //retorna false

EndIf

__oModelAut:DeActivate() //desativa modelo

Return( lRet )

Return

 

 

Exemplo de Alteração: 



 

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

 

Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC

 


//Exemplo de rotina automática para alteração de contas contábeis no ambiente Contabilidade Gerencial (SigaCTB).
/// ROTINA AUTOMATICA - ALTERAÇÃO DE CONTA CONTABIL CTB
User Function AltCT1()
Local nOpcAuto :=0
Local nX
Local oCT1
Local aLog
Local cLog :=""
Local lRet := .T.
Local cContaCT1:='99'

 

If __oModelAut == Nil //somente uma unica vez carrega o modelo CTBA020-Plano de Contas CT1
__oModelAut := FWLoadModel('CTBA020')
EndIf


//codigo da opção
/*/
[3] Inclusão
[4] Alteração
[5] Exclusão
/*/

nOpcAuto:=4

DBSelectArea("CT1")
CT1->(DBSetOrder(1)) //CT1_FILIAL+CT1_CONTA
DbSeek( xFilial("CT1") + PadR(cContaCT1,Len(CT1->CT1_CONTA)))

 


__oModelAut:SetOperation(nOpcAuto) // 3 - Inclusão | 4 - Alteração | 5 - Exclusão
__oModelAut:Activate() //ativa modelo

//---------------------------------------------------------
// Preencho os valores da CT1
//---------------------------------------------------------

 


oCT1 := __oModelAut:GetModel('CT1MASTER') //Objeto similar enchoice CT1
oCT1:SETVALUE('CT1_DESC01','Alterado')

 



If __oModelAut:VldData() //validacao dos dados pelo modelo

__oModelAut:CommitData() //gravacao dos dados

Else

aLog := __oModelAut:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData

//laco para gravar em string cLog conteudo do array aLog
For nX := 1 to Len(aLog)
If !Empty(aLog[nX])
cLog += Alltrim(aLog[nX]) + CRLF
EndIf
Next nX

lMsErroAuto := .T. //seta variavel private como erro
AutoGRLog(cLog) //grava log para exibir com funcao mostraerro
mostraerro()
lRet := .F. //retorna false

EndIf

__oModelAut:DeActivate() //desativa modelo

 

Return( lRet )

Exemplo de Exclusão: 


 

#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"

 

Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC

 


//Exemplo de rotina automática para exclusão de contas contábeis no ambiente Contabilidade Gerencial (SigaCTB).
/// ROTINA AUTOMATICA - EXCLUSÃO DE CONTA CONTABIL CTB
User Function DelCT1()
Local nOpcAuto :=0
Local nX
Local aLog
Local cLog :=""
Local lRet := .T.
Local cContaCT1:='99'

 

If __oModelAut == Nil //somente uma unica vez carrega o modelo CTBA020-Plano de Contas CT1
__oModelAut := FWLoadModel('CTBA020')
EndIf


//codigo da opção
/*/
[3] Inclusão
[4] Alteração
[5] Exclusão
/*/

nOpcAuto:=5
DBSELECTAREA("CT1")
DbSeek( xFilial("CT1") + PadR(cContaCT1,Len(CT1->CT1_CONTA)))

 


__oModelAut:SetOperation(nOpcAuto) // 3 - Inclusão | 4 - Alteração | 5 - Exclusão
__oModelAut:Activate() //ativa modelo

If __oModelAut:VldData() //validacao dos dados pelo modelo

__oModelAut:CommitData() //gravacao dos dados

Else

aLog := __oModelAut:GetErrorMessage() //Recupera o erro do model quando nao passou no VldData

//laco para gravar em string cLog conteudo do array aLog
For nX := 1 to Len(aLog)
If !Empty(aLog[nX])
cLog += Alltrim(aLog[nX]) + CRLF
EndIf
Next nX

lMsErroAuto := .T. //seta variavel private como erro
AutoGRLog(cLog) //grava log para exibir com funcao mostraerro
mostraerro()
lRet := .F. //retorna false

EndIf

__oModelAut:DeActivate() //desativa modelo

 

Return( lRet )


 

 


  • Sem rótulos