Histórico da Página
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 MyCtbs460Inc() 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 "FWMVCDEF.CH" #INCLUDE "rwmake.ch" #include 'totvs.ch' #include 'tbiconn.ch' Static __oModelAut := NIL //variavel oModel para substituir msexecauto em MVC User Function MyCtbs460Alt() Local lFound := .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. 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_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
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas