ÍNDICE
| Índice |
|---|
...
CONTENIDO
...
...
Ejemplos de ejecución por medio de la rutina automática en la rutina de asientos contables automáticos(CTBA102), mostrando ejemplos de utilización y tablas relacionadas.
...
| Aviso | ||
|---|---|---|
| ||
La ejecución automática está disponible solamente para incluir y modificar los la inclusión de asientos contables. |
| Informações | ||
|---|---|---|
| ||
En la utilización de execAuto considere los siguientes critérios:
|
| 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 := .F.
Private lMsHelpAuto := .T.
Private CTF_LOCK := 0
Private lSubLote := .T.
PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "CTB" TABLES "CT2"
aCab := {}
aItem := {}
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} } )
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 | ||||||||
|---|---|---|---|---|---|---|---|---|
| ||||||||
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
|
s
...
|
| 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"
//-------------------------------------------------------------------
/*/{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 |
| 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 |