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 automáticos(CTBA102), 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 está disponível apenas para Inclusão de lançamentos contábeis. |
Informações | ||
---|---|---|
| ||
Na utilização de ExecAuto considerar os seguintes critérios: - Passar o campo CT2_CONVER como 15555, demais moedas devem ser feitos pela inclusão de um novo aItens - Passar o campo CT2_CRITER, para as demais moedas apenas inclui como conversão, não permitindo a inclusão do CT2_VALOR zerado. - Para alteração de registro passe novamente o aCab |
Inclusão:
Bloco de código | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH"
|
...
Descrição
...
Rotina automática para inclusão de lançamentos contábeis no ambiente Contabilidade Gerencial (SIGACTB).
...
Exemplo
...
#INCLUDE "PROTHEUS.CH"
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³CargaCT2 ºAutor ³Felipe Cunha º Data ³ 29/11/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Inclusão Lanc Contabil Execauto º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
User Function CargaCT2()
Local oRegua
Local lEnd := .T.
//------------------------------------------------------------------- |
...
// Na utilização de execAuto considerar os seguintes critérios:
// 1 - Passar o campo CT2_CONVER como 15555, demais moedas devem ser feitos
// pela inclusão de um novo aItens
// 2 - na alteração de registro passe novamente o ACab
/*/{Protheus.doc} MyCTBA102Inc Inclusão de Lançamento Automático CTBA102 @author Totvs @since 23/06/2022 @version 2.0 /*/ //------------------------------------------------------------------- |
...
If MsgYesNo("Deseja realizar a carga dos dados ?")
oRegua := MsNewProcess():New({|lEnd| GravaCTB(oRegua,@lEnd) },"Processando","",.T.)
oRegua:Activate()
MsgAlert("Carga Finalizada")
EndIf
Return
/*
ÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜÜ
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
±±ÉÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍËÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍ»±±
±±ºPrograma ³ GravaCTB ºAutor ³Felipe Cunha º Data ³ 29/11/2013 º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÊÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºDesc. ³ Programa para base de teste de Pedido de compras, NFE º±±
±±º ³ º±±
±±ÌÍÍÍÍÍÍÍÍÍÍØÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ͹±±
±±ºUso ³ AP º±±
±±ÈÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ±±
±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±
ßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßßß
*/
Static Function GravaCTB(oObj,lEnd)
Local nX
Local aArea := GetArea()
Local nDoc := 1
Local lRet := .T.
Local aCab := {}
Local aItens := {}
Local aLinha := {}
Local dDataLanc := ctod("28/11/2013")
lOCAL nLinha := '001'
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private CTF_LOCK := 0
Private lSubLote := .T.
oObj:SetRegua1(5)
oObj:IncRegua1("Gerando Documentos")
oObj:SetRegua1(nDoc)
For nX:=1 To nDoc
If lEnd
Exit
EndIf
oObj:IncRegua2("Documento " + cValToChar(nX) + " de "+ cValToChar(nDoc))
aCab := {}
aItem := {}
//Inclusão de Lançamento Contábil para teste de atualização via execauto
aAdd(aCab, {'DDATALANC' ,dDataBase ,NIL} )
aAdd(aCab, {'CLOTE' ,'333333' ,NIL} )
aAdd(aCab, {'CSUBLOTE' ,'001' ,NIL} )
aAdd(aCab, {'CDOC' ,'000001' ,NIL} )
aAdd(aCab, {'CPADRAO' ,'' ,NIL} )
aAdd(aCab, {'NTOTINF' ,0 ,NIL} )
aAdd(aCab, {'NTOTINFLOT' ,0 ,NIL} )
aAdd(aItens,{ {'CT2_FILIAL' ,'0101 ' , NIL},;
{'CT2_LINHA' , nLinha , 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' ,'MSEXECCT2' , NIL} } )
...
User Function MyCTBA102Inc() Local aArea := GetArea() Local aCab := {} Local aItens := {} Private lMsErroAuto := .F. Private lMsHelpAuto := .T. Private CTF_LOCK := 0 Private lSubLote := .T. RpcSetType(3) RpcSetEnv( 'T1', '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} ) aAdd(aItens,{ {'CT2_FILIAL' ,xFilial('CT2'), NIL},; {'CT2_LINHA' , '001' , 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' ,'MSEXECCT2' , NIL} } ) MSExecAuto({|x, y,z| CTBA102(x,y,z)}, aCab ,aItens, 3) If lMsErroAuto lMsErroAuto := .F. MostraErro() Endif RestArea(aArea) |
...
Return |
Inclusão com Mais de um Lançamento :
Bloco de código | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH"
//-------------------------------------------------------------------
/*/{Protheus.doc} MyCTBA102Inc
Inclusão de Lançamento Automático CTBA102
@author Totvs
@since 23/06/2022
@version 2.0
/*/
//-------------------------------------------------------------------
User Function MyCTBA102Inc()
Local aArea := GetArea()
Local aCab := {}
Local aItens := {}
Local nLinha := 2
Local nX := 0
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private CTF_LOCK := 0
Private lSubLote := .T.
RpcSetType(3)
RpcSetEnv( 'T1', '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| |
//ExecAuto de teste da atualização de registro
aCab := {}
aItens := {}
aLinha := {}
aAdd(aCab, {'DDATALANC' ,dDataBase ,NIL} )
aAdd(aCab, {'CLOTE' ,'333333' ,NIL} )
aAdd(aCab, {'CSUBLOTE' ,'001' ,NIL} )
aAdd(aCab, {'CDOC' ,'000001' ,NIL} )
aAdd(aCab, {'CPADRAO' ,'' ,NIL} )
aAdd(aCab, {'NTOTINF' ,0 ,NIL} )
aAdd(aCab, {'NTOTINFLOT' ,0 ,NIL} )
aAdd(aItens,{ {'CT2_FILIAL' ,'0101 ' , NIL},;
{'CT2_LINHA' , nLinha , NIL},;
{'CT2_MOEDLC' ,'01' , NIL},;
{'CT2_DC' ,'3' , NIL},;
{'CT2_DEBITO' ,'101010100' , NIL},;
{'CT2_CREDIT' ,'201010100' , NIL},;
{'CT2_VALOR' , 6000 , NIL},;
{'CT2_ORIGEM' ,'MSEXECAUT' , NIL},;
{'CT2_HP' ,'' , NIL},;
{'CT2_EMPORI' ,'01' , NIL},;
{'CT2_FILORI' ,'0101001' , NIL},;
{'CT2_HIST' ,'MSEXECCT2-1' , NIL},;
{'LINPOS' ,'CT2_LINHA' ,nLinha}})
...
CTBA102(x,y,z)}, aCab ,aItens, |
...
3)
If lMsErroAuto
lMsErroAuto := .F.
MostraErro()
EndIf
RestArea(aArea)
Return |
03. TABELAS UTILIZADAS
- CT2- Lançamentos Contábeis
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>
|
If lMsErroAuto
lMsErroAuto := .F.
MsgAlert("ERRO Lançamento" , "Teste Carga CT2")
lRet := .F.
Exit
Endif
Next nX
cFileLog := NomeAutoLog()
cPath := ""
If !Empty(cFileLog) .And. !lRet
MostraErro(cPath,cFileLog)
Endif
RestArea(aArea)
Return
...
Idioma
...
Português(Brasil)
...
Versões
...
Microsiga_Protheus10_e_Microsiga_Protheus11
...
Sistemas Operacionais Suportados
...
Todos
...
Compatível com as Bases de Dados
...
Todas
...
Programa Fonte
...
CTBA102.PRW
...