ExecAuto MATA261

Caros, bom dia, como eu pego o número do documento gerado pelo ExecAuto Mata261 (transferência de Estoque), eu enviei o número do documento (GetSXENum), mais o sistema gravou a movimentação com outro número.

Eu não testei com o MATA261, mas normalmente a tabela fica posicionada no registro que acabou de incluir/alterar.

Como eu costumo fazer:


MSExecAuto({|x,y| MATA261(x,y)},aAuto,nOpc)
If lMsErroAuto
   MostraErro()
Else
   cDoc := SD3->D3_DOC
EndIf

Então, o SD3->D3_DOC está com o número que eu defini GetSXENum "INVENX", mais na SD3 ele gravou com outro número: "A14412202"

Não entendi o que voce quis dizer com: na SD3->D3_DOC esta “INVENX” e SD3 gravou “A14412202”, se voce fizer da forma que coloquei no exemplo, vai pegar o numero que foi gravado SD3

Bom dia, no execauto da MATA261 eu faço da seguinte forma:

                if lMsErroAuto 
                    cError := MostraErro(GetSrvProfString('Startpath', ''))
                Else
                    SD3->( msGoTo( SD3->( LastRec() ) ) )
                    cDoc := SD3->D3_DOC
                EndIf

No executável da MATA261, ele chama a função A261RetINV(), que verifica se o código contém a palavra INVEN . Caso contenha, a função recalcula outro código, pois não é permitido aceitar códigos que contêm INVEN

1 curtida