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