#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC
User Function IncProjImob()
Local nOpcAuto :=0
Local nX
Local oFNB
Local oFNC
Local oFND
Local oFNE
Local aLog
Local cLog :=""
Local lRet := .T.
If __oModelAut == Nil //somente uma unica vez carrega o modelo ATFA430
__oModelAut := FWLoadModel('ATFA430')
EndIf
nOpcAuto := 3 //3 - Inclusão | 4 - Alteração | 5 - Exclusão
__oModelAut:SetOperation(nOpcAuto)
__oModelAut:Activate() //ativa modelo
//---------------------------------------------------------
// Preencho os valores da FNB
//---------------------------------------------------------
oFNB := __oModelAut:GetModel('FNBMASTER')
oFNB:SETVALUE('FNB_FILIAL' ,FNB->(xFilial('FNB')))
oFNB:SETVALUE('FNB_CODPRJ','0000000000')
oFNB:SETVALUE('FNB_REVIS','0001')
oFNB:SETVALUE('FNB_DESC','PROJETO EXEAUTO')
oFNB:SETVALUE('FNB_TIPO','2')
oFNB:SETVALUE('FNB_SBTIPO','1')
oFNB:SETVALUE('FNB_MRGREC' ,'2')
oFNB:SETVALUE('FNB_CBASE' ,'ATFPRJEXEC')
oFNB:SETVALUE('FNB_DTINIC' ,CTOD('01/01/2025'))
//---------------------------------------------------------
// Preencho os valores da FNC
//---------------------------------------------------------
oFNC := __oModelAut:GetModel('FNCDETAIL')
oFNC:SETVALUE('FNC_FILIAL' ,FNC->(xFilial('FNC')))
oFNC:SETVALUE('FNC_CODPRJ','0000000000')
oFNC:SETVALUE('FNC_REVIS','0001')
oFNC:SETVALUE('FNC_ETAPA','001')
oFNC:SETVALUE('FNC_DSCETP','ETAPA 001')
oFNC:SETVALUE('FNC_TIPO','2')
oFNC:SETVALUE('FNC_SBTIPO','1')
oFNC:SETVALUE('FNC_TPAVP','1')
//---------------------------------------------------------
// Preencho os valores da FND
//---------------------------------------------------------
oFND := __oModelAut:GetModel('FNDDETAIL')
oFND:SETVALUE('FND_FILIAL' ,FND->(xFilial('FND')))
oFND:SETVALUE('FND_CODPRJ','0000000000')
oFND:SETVALUE('FND_REVIS','0001')
oFND:SETVALUE('FND_ITEM','001')
oFND:SETVALUE('FND_DSCITE','ITEM 001 ETAPA 001')
oFND:SETVALUE('FND_ETAPA','001')
oFND:SETVALUE('FND_TIPO','2')
oFND:SETVALUE('FND_CTRATF','1')
oFND:SETVALUE('FND_SBTIPO','1')
oFND:SETVALUE('FND_DTPROV' ,CTOD('01/01/2025'))
oFND:SETVALUE('FND_PERINI' ,CTOD('01/01/2025'))
oFND:SETVALUE('FND_PERFIM' ,CTOD('31/01/2025'))
oFND:SETVALUE('FND_PRVEXC' ,CTOD('31/01/2025'))
oFND:SETVALUE('FND_VLRPLN' ,10000)
oFND:SETVALUE('FND_TPAVP','1')
//---------------------------------------------------------
// Preencho os valores da FNE
//---------------------------------------------------------
oFNE := __oModelAut:GetModel('FNEDETAIL')
oFNE:SETVALUE('FNE_FILIAL' ,FNE->(xFilial('FNE')))
oFNE:SETVALUE('FNE_CODPRJ','0000000000')
oFNE:SETVALUE('FNE_REVIS','0001')
oFNE:SETVALUE('FNE_ETAPA','001')
oFNE:SETVALUE('FNE_ITEM','001')
oFNE:SETVALUE('FNE_LINHA','001')
oFNE:SETVALUE('FNE_TPCLAS','2')
oFNE:SETVALUE('FNE_TPATF','01')
oFNE:SETVALUE('FNE_TPSALD','1')
oFNE:SETVALUE('FNE_TPDEPR','1')
oFNE:SETVALUE('FNE_DINDEP' ,CTOD('01/01/2025'))
oFNE:SETVALUE('FNE_VORIG' ,10000)
oFNE:SETVALUE('FNE_ENT01B','000001 ') //CONTA DO BEM
oFNE:SETVALUE('FNE_ENT01D','000002 ') //CONTA DE DESPESA DEP
oFNE:SETVALUE('FNE_ENT01A','000003 ') //CONTA DE DEP ACUMULADA
oFNE:SETVALUE('FNE_MOEDRF','01')
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 )