Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Incluido Validação LINPOS para alteração de registros.

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

. As

, demais moedas


  

devem ser

feitas

feitos

//     pela inclusão de um novo

item.

aItens

// 2 -

Na

na alteração de registro passe novamente o ACab

.

// --------------------------------------------------------------------------

 

If MsgYesNo("Deseja realizar a carga dos dados ?")

oRegua

    oRegua := MsNewProcess():New({|lEnd| GravaCTB(oRegua,@lEnd) },"Processando","",.T.)

oRegua

    oRegua:Activate()

MsgAlert

    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

nDoc            := 1

Local

lRet

lRet            := .T.

Local aCab            := {}

Local

aCab

aItens        := {}

Local

aItens

aLinha         := {}

Local dDataLanc     := ctod("28/11/2013")  

lOCAL

nLinha

nLinha        := '001'

 

Private lMsErroAuto     := .F.

Private lMsHelpAuto     := .T.

Private CTF_

LOCK

LOCK        := 0

Private lSubLote         := .T.

 

oObj:SetRegua1(5)

oObj:IncRegua1("Gerando Documentos")

 

oObj:SetRegua1(nDoc)

For nX:=1 To nDoc

If

    If lEnd

Exit
EndIf
oObj

        Exit

    EndIf

    oObj:IncRegua2("Documento " + cValToChar(nX) + " de "+ cValToChar(nDoc))

aCab

    aCab := {}

aItem

    aItem := {}

 

    //Inclusão de Lançamento Contábil para teste de atualização via execauto

aAdd

    aAdd(aCab,  {'DDATALANC'     ,

dDataBase

dDataBase        ,NIL} )

aAdd

    aAdd(aCab,  {'CLOTE'         ,'

008800

333333'         ,NIL} )

aAdd

    aAdd(aCab,  {'CSUBLOTE'         ,'001'         ,NIL} )

aAdd

    aAdd(aCab,  {'CDOC'

, "000033"

            ,'000001'         ,NIL} )

aAdd

    aAdd(aCab,  {'CPADRAO'         ,''             ,NIL} )

aAdd

    aAdd(aCab,  {'NTOTINF'         ,0                 ,NIL} )

aAdd

    aAdd(aCab,  {'NTOTINFLOT'     ,0                 ,NIL} )

aAdd

    

    aAdd(aItens,{  {'CT2_FILIAL'      ,'0101   '

  

       , NIL},;

              

                   {'CT2_LINHA'      ,

nLinha 

nLinha          , NIL},;

              

                   {'CT2_MOEDLC'      ,'01'

  

           , NIL},;

              

                   {'CT2_DC'

  

           ,'3'

  

           , NIL},;

              

                   {'CT2_DEBITO'      ,'101010100'     , NIL},;

              

                   {'CT2_CREDIT'      ,'201010100'     , NIL},;

              

                   {'CT2_VALOR'      ,

1000 

3000          , NIL},;

              

                   {'CT2_ORIGEM'     ,'MSEXECAUT'    , NIL},;

              

                   {'CT2_HP'

  

           ,''

  

               , NIL},;

              

                   {'CT2_CONVER'    ,'

15

11'

          

         , NIL},;

              

                   {'CT2_HIST'

  

       ,'MSEXECCT2'    , NIL} } )         

MSExecAuto

    MSExecAuto({|x, y,z| CTBA102(x,y,z)}, aCab ,aItens, 3)

    

    //ExecAuto de teste da atualização de

registro 

registro  

    aCab     := {}

    aItens     


aCab

:= {}

aItens

    aLinha := {}

aAdd

    aAdd(aCab,  {'DDATALANC'     ,

dDataBase

dDataBase        ,NIL} )

aAdd

    aAdd(aCab,  {'CLOTE'         ,'

008800

333333'         ,NIL} )

aAdd

    aAdd(aCab,  {'CSUBLOTE'         ,'001'         ,NIL} )

aAdd

    aAdd(aCab,  {'CDOC'

,"000033"  

            ,'000001'         ,NIL} )

aAdd

    aAdd(aCab,  {'CPADRAO'         ,''             ,NIL} )

aAdd

    aAdd(aCab,  {'NTOTINF'         ,0                 ,NIL} )

aAdd

    aAdd(aCab,  {'NTOTINFLOT'     ,0                 ,NIL} )

aAdd

   

    aAdd(aItens,{      {'CT2_FILIAL'      ,'0101   '

  

           , NIL},;

                       {'CT2_LINHA'      ,

nLinha 

nLinha              , NIL},;

                       {'CT2_MOEDLC'      ,'01'

  

               , NIL},;

                       {'CT2_DC'          ,'3'

  

               , NIL},;

                       {'CT2_DEBITO'      ,'101010100'         , NIL},;

                       {'CT2_CREDIT'      ,'201010100'         , NIL},;

                       {'CT2_VALOR'      ,

1000 

6000              , NIL},;

                       {'CT2_ORIGEM'     ,'MSEXECAUT'        , NIL},;

                       {'CT2_HP'          ,''                   , NIL},;

                       {'CT2_EMPORI'     ,'01'                 , NIL},;

                       

               

{'CT2_

CONVER

FILORI'      ,'

15'          

0101001'            , NIL},;

                 

                     

              

 

                       {'CT2_HIST'

  

       ,'MSEXECCT2-

A

1'    , NIL},;

                       {'LINPOS'            ,'CT2_LINHA'        ,nLinha}})


MSExecAuto

 

                   

    MSExecAuto({|x, y,z| CTBA102(x,y,z)}, aCab ,aItens, 4)

 

If

    If lMsErroAuto

lMsErroAuto

        lMsErroAuto := .F.

MsgAlert

        MsgAlert("ERRO Lançamento" , "Teste Carga CT2")

lRet

        lRet := .F.


Exit
Endif

        Exit

    Endif

 

Next nX

 

 

cFileLog := NomeAutoLog()

cPath := ""

If !Empty(cFileLog) .And. !lRet

MostraErro

    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

...