Histórico da Página
...
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 //------------------------------------------------------------------- /*/{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 MyCTBA102IncMyCtba460Alt() Local aArealFound := GetArea().F. Local aCab := {}oModelCSQ Local aItens := {}nX Local nLinha := 2aLog Local nX cLog := 0"" Private lMsErroAuto := .F. Private lMsHelpAutoLocal lRet := .T. Private CTF_LOCK := 0 Private lSubLote := .T. RpcSetType(3) RpcSetEnv( PREPARE ENVIRONMENT EMPRESA 'T1', FILIAL 'D MG 01 ',,,'CTB') aAdd(aCab, {'DDATALANC' ,dDataBase ,NIL} ) 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) Return 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 ) |
03. TABELAS UTILIZADAS
- CT2- Lançamentos Contábeis
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas