PERGUNTAS E RESPOSTAS
 
Bem Vindo, Visitante  Todos os Fórums
  ADVPL
Enviar para a impressoraImprimir  Enviar e-mail para um amigoEnviar Para um Amigo
Precisa estar Logado

Subject Assunto:
MT100LOK
Versão:
12.1.2210
Plataforma:
Microsoft
Complemento:
DB:
SQL Server
Complemento:
LinkedIn
Foto
Mensagem do Enviar e-mail Abrir o Perfil do usuário PAULO0210 PAULO0210 em 20/08/2024, 16:57 h
Local: MG  Registro: 18/09/2023  Postagens: 34
Boa tarde, pessoal!

Estou tentando realizar um execauto da rotina Mata242, ao incluir um documento de entrada, ou seja, o produto x ser transformado em y. Mas não sei por onde começar. O que sei é que esse execauto só pode ser executado após gravar tudo na SD1.

#Include "Protheus.ch"

/*/{Protheus.doc} MT100LOK

User Function MT100LOK()
Local I                := 1
Local lRet               := .T.
Local aAreaSD1         := SD1->( GetArea() )
Local cProduto         := acols[n][ascan(aHeader,{|x| Upper(alltrim(x[2])) == "D1_COD"})]
Local cLocal         := acols[n][ascan(aHeader,{|x| Upper(alltrim(x[2])) == "D1_LOCAL"})]
Local nQtd          := acols[n][ascan(aHeader,{|x| Upper(alltrim(x[2])) == "D1_QUANT"})]
Local nQtdSegum         := acols[n][ascan(aHeader,{|x| Upper(alltrim(x[2])) == "D1_QTSEGUM"})]
Local cDocumento     := acols[n][ascan(aHeader,{|x| Upper(alltrim(x[2])) == "D1_DOC"})]
    
     // Ponto de chamada Conex�oNF-e sempre como primeira instru��o
     lRet := U_GTPE004()

     // Restri��o para valida��es n�o serem chamadas duas vezes ao utilizar o importador da Conex�oNF-e,
     // mantendo a chamada apenas no final do processo, quando a vari�vel l103Auto estiver .F.
     If lRet .And. !FwIsInCallStack(‘U_GATI001‘) .Or. IIf(Type(‘l103Auto‘) == ‘U‘,.T.,!l103Auto)
        If cProduto == "170002"
            TAUTO242(cProduto, cLocal, nQtd, nQtdSegum, cDocumento)
        EndIf
     EndIf

    
Return lRet

Static Function TAUTO242(cProduto, cLocal, nQtd, nQtdSegum, cDocumento)

Local aAutoCab := {{"cProduto"   , Pad(cProduto, Len(SD3->D3_COD))          , Nil},;
                          {"cLocOrig"   , cLocal                                     , Nil},;
                    {"nQtdOrig"   , nQtd                                      , Nil},;
                    {"nQtdOrigSe" , nQtdSegum                              , Nil},;
                    {"cDocumento" , Pad(cDocumento, Len(SD3->D3_DOC))    , Nil},;
                    {"cNumLote"   , CriaVar("D3_NUMLOTE")                  , Nil},;
                    {"cLoteDigi" , CriaVar("D3_LOTECTL")                  , Nil},;
                    {"dDtValid"   , CriaVar("D3_DTVALID")                  , Nil},;
                       {"nPotencia" , CriaVar("D3_POTENCI")                  , Nil},;
                       {"cLocaliza" , CriaVar("D3_LOCALIZ")                  , Nil},;
                       {"cNumSerie" , CriaVar("D3_NUMSERI")                  , Nil}}
                    
Local aAutoItens := {{{"D3_COD"    , Pad("520067", Len(SD3->D3_COD))          , Nil},;
                      {"D3_LOCAL" , cLocal                                           , Nil},;
                      {"D3_QUANT" , nQtd                                          , Nil},;
                      {"D3_QTSEGUM", nQtdSegum                                  , Nil},;
                      {"D3_RATEIO" , 100                                            , Nil}}}

Private lMsErroAuto := .F.

MSExecAuto({|v,x,y,z| Mata242(v,x,y,z)},aAutoCab,aAutoItens,3,.T.)

Para postar no Fórum você precisa efetuar o seu login ou se registrar

 Mudar para Fórum

 

 

 
 
   
Pagina Principal Shopping PROTHEUS Tire suas duvidas Vagas Microsiga em todo Brasil Aprofunde seus conhecimentos Noticias Online Fale Conosco Pagina Principal