Histórico da Página
Propriedades de página |
---|
CONTEÚDO
|
01. VISÃO GERAL
Exemplos de execução via rotina automática na rotina de lançamentos contábeis Extemporâneos (CTBS460), mostrando exemplos de utilização e tabelas relacionadas.
02. EXEMPLO DE UTILIZAÇÃO
Abaixo mostraremos exemplos de utilização.
Aviso | ||
---|---|---|
| ||
A Execução automática As Execuções Automáticas demonstradas abaixo são apenas um exemplo. |
Inclusão
...
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE "FWMVCDEF.CH" #INCLUDE "rwmake.ch" #include 'totvs.ch' #include 'tbiconn.ch' Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC User Function EXECINCLCSQMyCtbs460Inc() Local lNotFound := .F. Local oModelCSQ Local nX Local aLog Local cLog :="" Local lRet := .T. PREPARE ENVIRONMENT EMPRESA 'T1' FILIAL 'D MG 01' TABLES 'CSQ','CT2' MODULO '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 //somente uma unica vez carrega o modelo 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 - Lançamento em Contas de Patrimônio/ 2 - Lançamento em Contas de Resultado 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 ) |
...
Alteração
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH" #INCLUDE //------------------------------------------------------------------- /*/{Protheus.doc} MyCTBA102Inc Inclusão de Lançamento Automático CTBA102 @author Totvs @since 23/06/2022 @version 2.0 /*/ //-------------------------------------------------------------------"FWMVCDEF.CH" #INCLUDE "rwmake.ch" #include 'totvs.ch' #include 'tbiconn.ch' Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC User Function MyCTBA102IncMyCtbs460Alt() Local aArealFound := GetArea().F. Local aCab := {}oModelCSQ Local aItens := {}nX Local nLinha := 2aLog Local nX cLog := 0"" Local Private lMsErroAutolRet := .F. Private lMsHelpAuto := .T. Private CTF_LOCK := 0 Private lSubLote := .T. RpcSetType(3) RpcSetEnv( 'T1', PREPARE ENVIRONMENT EMPRESA 'T1' FILIAL 'D MG 01' TABLES 'CSQ',,,'CT2' MODULO 'CTB') aAdd(aCab, {'DDATALANC' ,dDataBase ,NIL} While CT2->(!Eof()) .AND. lFound == .F. CSQ->(dbSetOrder(1)) aAdd(aCab, {'CLOTE' ,'333333' ,NIL} ) aAdd(aCab, {'CSUBLOTE' ,'001' ,NIL} ) aAdd(aCab, {'CPADRAO' ,'' ,NIL} ) aAdd(aCab, {'NTOTINF' ,0 ,NIL} ) aAdd(aCab, {'NTOTINFLOT' ,0 ,NIL} ) For nX := 1 To nLinha aAdd(aItens, {; {'CT2_FILIAL' , xFilial('CT2') , NIL},; {'CT2_LINHA' , StrZero(nX,3) , NIL},; {'CT2_MOEDLC' ,'01' , NIL},; {'CT2_DC' ,'3' , NIL},; {'CT2_DEBITO' ,'101010100' , NIL},; {'CT2_CREDIT' ,'201010100' , NIL},; {'CT2_VALOR' , 3000 , NIL},; {'CT2_ORIGEM' ,'MSEXECAUT' , NIL},; {'CT2_HP' ,'' , NIL},; {'CT2_CONVER' ,'11' , NIL},; {'CT2_HIST' ,'MSEXECCT LANCAMENTO '+cValtoChar(nX) , NIL} }) Next nX MSExecAuto({|x, y,z| CTBA102(x,y,z)}, aCab ,aItens, 3) If lMsErroAuto lMsErroAuto := .F. MostraErro() EndIf RestArea(aArea) ReturnlFound := 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 //somente uma unica vez carrega o modelo 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() //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 ) |
Exclusão
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH"
#INCLUDE "FWMVCDEF.CH"
#INCLUDE "rwmake.ch"
#include 'totvs.ch'
#include 'tbiconn.ch'
Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC
User Function MyCtbs460Exl()
Local lFound := .F.
Local nX
Local aLog
Local cLog :=""
Local lRet := .T.
PREPARE ENVIRONMENT EMPRESA 'T1' FILIAL 'D MG 01' TABLES 'CSQ','CT2' MODULO '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 //somente uma unica vez carrega o modelo CTBS460
__oModelAut := FWLoadModel( 'CTBS460' )
EndIf
__oModelAut:SetOperation(MODEL_OPERATION_DELETE)
__oModelAut:Activate()
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 )
|
03. TABELAS UTILIZADAS
- CT2- Lançamentos Contábeis
- CSQ - Lançamento Extemporâneo
04. DEMAIS ASSUNTOS
HTML |
---|
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas