Execution examples via automatic routine in Extemporaneous Accounting Entries (CTBS460) routine, showing examples of use and related tables.
See below some examples of use.
The Automatic Executions stated below are only an example. |
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "rwmake.ch"
#include 'totvs.ch'
#include 'tbiconn.ch'
Static __oModelAut := NIL //oModel variable to substitute msexecauto in MVC
User Function MyCtbs460Inc()
Local lNotFound := .F.
Local oModelCSQ
Local nX
Local aLog
Local cLog :=""
Local lRet := .T.
PREPARE ENVIRONMENT COMPANY 'T1' BRANCH 'D MG 01' TABLES 'CSQ','CT2' MODULE 'CTB'
While CT2->(!Eof()) .AND. lNotFound == .F.
CSQ->(dbSetOrder(1))
lNotFound := !CSQ->(dbSeek(CT2->CT2_FILIAL+DTOS(CT2->CT2_DATA)+CT2->CT2_LOTE+CT2->CT2_SBLOTE+CT2->CT2_DOC+CT2->CT2_LINHA+CT2->CT2_EMPORI+CT2->CT2_FILORI))
If lNotFound
Loop
else
CT2->( dbSkip() )
Endif
Enddo
If __oModelAut == Nil //a single time loads the model CTBS460
__oModelAut := FWLoadModel( 'CTBS460' )
EndIf
__oModelAut:SetOperation(MODEL_OPERATION_INSERT)
__oModelAut:Activate()
oModelCSQ := __oModelAut:GetModel('CSQMASTER')
oModelCSQ:SetValue("CSQ_FILIAL",CT2->CT2_FILIAL)
oModelCSQ:SetValue("CSQ_DATA",CT2->CT2_DATA)
oModelCSQ:SetValue("CSQ_LOTE",CT2->CT2_LOTE)
oModelCSQ:SetValue("CSQ_SBLOTE",CT2->CT2_SBLOTE)
oModelCSQ:SetValue("CSQ_DOC",CT2->CT2_DOC)
oModelCSQ:SetValue("CSQ_LINHA",CT2->CT2_LINHA)
oModelCSQ:SetValue("CSQ_EMPORI",CT2->CT2_EMPORI)
oModelCSQ:SetValue("CSQ_FILORI",CT2->CT2_FILORI)
oModelCSQ:SetValue("CSQ_DTEXT",Stod("20230723"))
oModelCSQ:SetValue("CSQ_NATLCT","1") // 1 - Entry in Equity Accounts/ 2 - Entry in Income Statement Accounts
If __oModelAut:VldData() //data validation by model
__oModelAut:CommitData() //saving of data
Else
aLog := __oModelAut:GetErrorMessage() //Recover error of model when it did not go through VldData
//link to save in string cLog content of array aLog
For nX := 1 to Len(aLog)
If !Empty(aLog[nX])
cLog += Alltrim(aLog[nX]) + CRLF
EndIf
Next nX
lMsErroAuto := .T. //private variable arrow as error
AutoGRLog(cLog) //save log to display with function mostraerro
mostraerro()
lRet := .F. //return false
Endif
__oModelAut:DeActivate() //deactivate model
Return( lRet ) |
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "rwmake.ch"
#include 'totvs.ch'
#include 'tbiconn.ch'
Static __oModelAut := NIL //oModel variable to substitute msexecauto in MVC
User Function MyCtbs460Inc()
Local lNotFound := .F.
Local oModelCSQ
Local nX
Local aLog
Local cLog :=""
Local lRet := .T.
PREPARE ENVIRONMENT COMPANY 'T1' BRANCH 'D MG 01' TABLES 'CSQ','CT2' MODULE 'CTB'
While CT2->(!Eof()) .AND. lNotFound == .F.
CSQ->(dbSetOrder(1))
lNotFound := !CSQ->(dbSeek(CT2->CT2_FILIAL+DTOS(CT2->CT2_DATA)+CT2->CT2_LOTE+CT2->CT2_SBLOTE+CT2->CT2_DOC+CT2->CT2_LINHA+CT2->CT2_EMPORI+CT2->CT2_FILORI))
If lNotFound
Loop
else
CT2->( dbSkip() )
Endif
Enddo
If __oModelAut == Nil //a single time loads the model CTBS460
__oModelAut := FWLoadModel( 'CTBS460' )
EndIf
__oModelAut:SetOperation(MODEL_OPERATION_INSERT)
__oModelAut:Activate()
oModelCSQ := __oModelAut:GetModel('CSQMASTER')
oModelCSQ:SetValue("CSQ_FILIAL",CT2->CT2_FILIAL)
oModelCSQ:SetValue("CSQ_DATA",CT2->CT2_DATA)
oModelCSQ:SetValue("CSQ_LOTE",CT2->CT2_LOTE)
oModelCSQ:SetValue("CSQ_SBLOTE",CT2->CT2_SBLOTE)
oModelCSQ:SetValue("CSQ_DOC",CT2->CT2_DOC)
oModelCSQ:SetValue("CSQ_LINHA",CT2->CT2_LINHA)
oModelCSQ:SetValue("CSQ_EMPORI",CT2->CT2_EMPORI)
oModelCSQ:SetValue("CSQ_FILORI",CT2->CT2_FILORI)
oModelCSQ:SetValue("CSQ_DTEXT",Stod("20230723"))
oModelCSQ:SetValue("CSQ_NATLCT","1") // 1 - Entry in Equity Accounts/ 2 - Entry in Income Statement Accounts
If __oModelAut:VldData() //data validation by model
__oModelAut:CommitData() //saving of data
Else
aLog := __oModelAut:GetErrorMessage() //Recover error of model when it did not go through VldData
//link to save in string cLog content of array aLog
For nX := 1 to Len(aLog)
If !Empty(aLog[nX])
cLog += Alltrim(aLog[nX]) + CRLF
EndIf
Next nX
lMsErroAuto := .T. //private variable arrow as error
AutoGRLog(cLog) //save log to display with function mostraerro
mostraerro()
lRet := .F. //return false
Endif
__oModelAut:DeActivate() //deactivate model
Return( lRet )
MyCtbs460Alt Expandir origem
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "rwmake.ch"
#include 'totvs.ch'
#include 'tbiconn.ch'
Static __oModelAut := NIL //oModel variable to substitute msexecauto in MVC
User Function MyCtbs460Alt()
Local lFound := .F.
Local oModelCSQ
Local nX
Local aLog
Local cLog :=""
Local lRet := .T.
PREPARE ENVIRONMENT COMPANY 'T1' BRANCH 'D MG 01' TABLES 'CSQ','CT2' MODULE 'CTB'
While CT2->(!Eof()) .AND. lFound == .F.
CSQ->(dbSetOrder(1))
lFound := CSQ->(dbSeek(CT2->CT2_FILIAL+DTOS(CT2->CT2_DATA)+CT2->CT2_LOTE+CT2->CT2_SBLOTE+CT2->CT2_DOC+CT2->CT2_LINHA+CT2->CT2_EMPORI+CT2->CT2_FILORI))
If lFound
Loop
else
CT2->( dbSkip() )
Endif
Enddo
If __oModelAut == Nil //a single time loads the model CTBS460
__oModelAut := FWLoadModel( 'CTBS460' )
EndIf
__oModelAut:SetOperation(MODEL_OPERATION_UPDATE)
__oModelAut:Activate()
oModelCSQ := __oModelAut:GetModel('CSQMASTER')
oModelCSQ:SetValue("CSQ_DTEXT",Stod("20230823"))
If __oModelAut:VldData() //data validation by model
__oModelAut:CommitData() //saving of data
Else
aLog := __oModelAut:GetErrorMessage() //Recover error of model when it did not go through VldData
//link to save in string cLog content of array aLog
For nX := 1 to Len(aLog)
If !Empty(aLog[nX])
cLog += Alltrim(aLog[nX]) + CRLF
EndIf
Next nX
lMsErroAuto := .T. //private variable arrow as error
AutoGRLog(cLog) //save log to display with function mostraerro
mostraerro()
lRet := .F. //return false
Endif
__oModelAut:DeActivate() //deactivate model
Return( lRet )
MyCtbs460Exl Expandir origem
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "rwmake.ch"
#include 'totvs.ch'
#include 'tbiconn.ch'
Static __oModelAut := NIL //oModel variable to substitute msexecauto in MVC
User Function MyCtbs460Exl()
Local lFound := .F.
Local nX
Local aLog
Local cLog :=""
Local lRet := .T.
PREPARE ENVIRONMENT COMPANY 'T1' BRANCH 'D MG 01' TABLES 'CSQ','CT2' MODULE 'CTB'
While CT2->(!Eof()) .AND. lFound == .F.
CSQ->(dbSetOrder(1))
lFound := CSQ->(dbSeek(CT2->CT2_FILIAL+DTOS(CT2->CT2_DATA)+CT2->CT2_LOTE+CT2->CT2_SBLOTE+CT2->CT2_DOC+CT2->CT2_LINHA+CT2->CT2_EMPORI+CT2->CT2_FILORI))
If lFound
Loop
else
CT2->( dbSkip() )
Endif
Enddo
If __oModelAut == Nil //a single time loads the model CTBS460
__oModelAut := FWLoadModel( 'CTBS460' )
EndIf
__oModelAut:SetOperation(MODEL_OPERATION_DELETE)
__oModelAut:Activate()
If __oModelAut:VldData() //data validation by model
__oModelAut:CommitData() //saving of data
Else
aLog := __oModelAut:GetErrorMessage() //Recover error of model when it did not go through VldData
//link to save in string cLog content of array aLog
For nX := 1 to Len(aLog)
If !Empty(aLog[nX])
cLog += Alltrim(aLog[nX]) + CRLF
EndIf
Next nX
lMsErroAuto := .T. //private variable arrow as error
AutoGRLog(cLog) //save log to display with function mostraerro
mostraerro()
lRet := .F. //return false
Endif
__oModelAut:DeActivate() //deactivate model
Return( lRet )