ÍNDICE
| Índice |
|---|
...
CONTEÚDO
...
...
...
Ejemplos de ejecución por medio de la rutina automática en la rutina de asientos contables
...
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 ejemplos de utilización y tablas relacionadas.
...
...
Abaixo A continuación mostraremos exemplos ejemplos de utilizaçãoutilización.
| Aviso | ||
|---|---|---|
| ||
A Execução La ejecución automática está disponível apenas para Inclusão e Alteração de lançamentos contábeisdisponible solamente para la inclusión de asientos contables. |
| Informações | ||
|---|---|---|
| ||
Na utilização En la utilización de execAuto considerar os seguintes considere los siguientes critérios:
- Para alteração de registro passe novamente o aCab |
|
| Dica | ||
|---|---|---|
| ||
Para garantizar la grabación correcta de los campos Logs y Auditoría (CT2_USERGI y CT2_USERGA) al utilizarlos, esw necesario informar el Usuario y la Contraseña del Protheus durante la preparación del entorno, para saber más, acceda a: |
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH"
//-- | ||||||||||
| Bloco de código | ||||||||||
| ||||||||||
#INCLUDE "PROTHEUS.CH" //------------------------------------------------------------------- /*/{Protheus.doc} MyCTBA102Inc Inclusão de Lançamento Automático CTBA102 @author Totvs @since 29/11/2013 @version 1.0 /*/ //------------------------------------------------------------------- User Function MyCTBA102Inc() 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 /*/{Protheus.doc} MyCTBA102Inc Inclusión de Asiento automático CTBA102 @author Totvs @since 23/06/2022 @version 2.0 /*/ //------------------------------------------------------------------- User Function MyCTBA102Inc() Local aArea := GetArea() Local aCab := {} Local aItens := {} Private lMsErroAuto := .F. Private lMsHelpAuto := .T. Private CTF_LOCK LOCK := 0 Private lSubLote := .T. PREPARE ENVIRONMENT EMPRESARpcSetEnv( "'T1" FILIAL "', 'D MG 01 " MODULO "CTB" TABLES "CT2" aCab := {} aItem := {} aAdd(aCab, {'DDATALANC' ,dDataBase ',,,'CTB') aAdd(aCab, {'DDATALANC' ,dDataBase ,NIL} ) aAddaAdd(aCab, {'CLOTE' ,'333333' ,NIL} ) aAddaAdd(aCab, {'CSUBLOTE' ,'001' ,NIL} ) aAddaAdd(aCab, {'CDOCCPADRAO' ,'000001' ' ,NIL} ) aAddaAdd(aCab, {'CPADRAONTOTINF' ,'' ,NIL} ) aAdd(aCab, {'NTOTINF' ,0 ,0 ,NIL} ) aAddaAdd(aCab, {'NTOTINFLOT' ,0 ,NIL} ) aAdd aAdd(aItens,{ {'CT2_FILIALLINHA' ,'0101 ' '001' , NIL},; {'CT2_LINHA' , nLinha , NIL},; {'CT2_MOEDLC' ,'01' , NIL},; {'CT2_DC' ,'3' , NIL},; {'CT2_DEBITO' {'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} } ) MSExecAutoMSExecAuto({|x, y,z| CTBA102(x,y,z)}, aCab ,aItens, 3) If If lMsErroAuto lMsErroAuto lMsErroAuto := .F. MsgAlert("ERRO Lançamento" , "Teste Carga CT2") mostraErro MostraErro() ExitEndif Endif RestArea(aArea) RESET ENVIRONMENT Return |
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
User Function MyCTBA102Inc()
Local nX
Local aArea := GetArea()
Local nDoc := 1
Local lRet := .T.
Local aCab := {}
Local aItens := {}
Local aLinha := {}
Local dDataLanc := ctod("28/11/2013")
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private CTF_LOCK := 0
Private lSubLote := .T.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "CTB" TABLES "CT2"
aCab := {}
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} )
//lançamento 1
aAdd(aItens, { {'CT2_FILIAL' ,'0101 ' , 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} } )
//lançamento 2
aAdd(aItens, { {'CT2_FILIAL' ,'0101 ' , NIL},;
{'CT2_LINHA' , '002' , NIL},;
{'CT2_MOEDLC' ,'01' , NIL},;
{'CT2_DC' ,'3' , NIL},;
{'CT2_DEBITO' ,'101010100' , NIL},;
{'CT2_CREDIT' ,'201010100' , NIL},;
{'CT2_VALOR' , 4000 , NIL},;
{'CT2_ORIGEM' ,'MSEXECAUT' , NIL},;
{'CT2_HP' ,'' , NIL},;
{'CT2_CONVER' ,'11' , NIL},;
{'CT2_HIST' ,'MSEXECCT2LINHA2' , NIL} })
//adicionar ao array aItens a quantidade necessária de lançamentos que deseja efetuar
MSExecAuto({|x, y,z| CTBA102(x,y,z)}, aCab ,aItens, 3)
If lMsErroAuto
lMsErroAuto := .F.
MsgAlert("ERRO Lançamento" , "Teste Carga CT2")
mostraErro()
Exit
Endif
RestArea(aArea)
RESET ENVIRONMENT
Return
|
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH"
//-------------------------------------------------------------------
/*/{Protheus.doc} MyCTBA102Alt
Inclusão de Lançamento Automático CTBA102
@author Totvs
@since 29/11/2013
@version 1.0
/*/
//-------------------------------------------------------------------
User Function MyCTBA102Alt()
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.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "CTB" TABLES "CT2"
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}})
MSExecAuto({|x, y,z| CTBA102(x,y,z)}, aCab ,aItens, 4)
If lMsErroAuto
lMsErroAuto := .F.
MsgAlert("ERRO Lançamento" , "Teste Carga CT2")
Exit
Endif
RestArea(aArea)
RESET ENVIRONMENT
Return
|
...
| Informações | ||
|---|---|---|
| ||
El ítem CPADRAO del encabezado (aCab) se utiliza para alimentar la variable Al informar, el sistema valida el Asiento estándar y completa automáticamente los campos previstos en su configuración, si no fueran informados en
⚠️ IMPORTANTE
Cumplimentación del campo CT2_LP El campo CT2_LP necesaariamente debe estar marcado como “usado” en el diccionario de datos.
OBS: En el siguiente ejemplo, los campos CT2_DEBITO, CT2_CREDIT y CT2_HIST se retiraron, pues serán completados automáticamente por el Asiento estándar 001. |
| Bloco de código | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||
#INCLUDE "PROTHEUS.CH"
//-------------------------------------------------------------------
/*/{Protheus.doc} MyCTBA102Inc
Inclusión de asiento automático CTBA102
@author Totvs
@since 23/06/2022
@version 2.0
/*/
//-------------------------------------------------------------------
User Function MyCTBA102Inc()
Local aArea := GetArea()
Local aCab := {}
Local aItens := {}
Private lMsErroAuto := .F.
Private lMsHelpAuto := .T.
Private CTF_LOCK := 0
Private lSubLote := .T.
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_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 |
| Bloco de código | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
#INCLUDE "PROTHEUS.CH"
//-------------------------------------------------------------------
/*/{Protheus.doc} MyCTBA102Inc
Inclusión de asiento 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.
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_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 |