×
Linguagem de Programação ADVPL
Perguntas MSExecAuto MATA681
- jferreira
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
10 anos 2 semanas atrás #25983
por jferreira
MSExecAuto MATA681 foi criado por jferreira
Boa tarde a todos!
Por gentileza alguém já utilizou a rotina MSExecAuto MATA681 para estornar um apontamento de produção?
A Totvs passou a seguinte sintax:
MSExecAuto({|x,Z| MATA681(x,Z)},aVetor,5)
Porem supondo que eu tenha apontamentos parciais:
OP 808080 01 001 opercação 03 quantidade 1000 (parcial)
OP 808080 01 001 opercação 03 quantidade 800 (parcial)
OP 808080 01 001 opercação 03 quantidade 1100 (parcial)
OP 808080 01 001 opercação 03 quantidade 750 (parcial)
Ao executar a execauto para estornar o apontamento de 800 pçs a rotina estorna a OP de 750 pçs, ou seja sempre o ultimo registro, não respeita os parametros.
Aguardo, desde ja muito obrigado.
Por gentileza alguém já utilizou a rotina MSExecAuto MATA681 para estornar um apontamento de produção?
A Totvs passou a seguinte sintax:
MSExecAuto({|x,Z| MATA681(x,Z)},aVetor,5)
Porem supondo que eu tenha apontamentos parciais:
OP 808080 01 001 opercação 03 quantidade 1000 (parcial)
OP 808080 01 001 opercação 03 quantidade 800 (parcial)
OP 808080 01 001 opercação 03 quantidade 1100 (parcial)
OP 808080 01 001 opercação 03 quantidade 750 (parcial)
Ao executar a execauto para estornar o apontamento de 800 pçs a rotina estorna a OP de 750 pçs, ou seja sempre o ultimo registro, não respeita os parametros.
Aguardo, desde ja muito obrigado.
Por favor Acessar ou Registrar para participar da conversa.
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
- admin
- Desconectado
- Administrador
Menos
Mais
- Postagens: 297
- Obrigados Recebidos: 21
- poliester
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 93
- Obrigados Recebidos: 0
7 anos 7 meses atrás #32098
por poliester
Respondido por poliester no tópico MSExecAuto MATA681
Pessoal, sei que o tópico é bastante velho...
Mas alguém conseguiu fazer o estorno de OP usando o ExecAuto MATA681? Pode descrever como conseguiu? Obrigado!
Mas alguém conseguiu fazer o estorno de OP usando o ExecAuto MATA681? Pode descrever como conseguiu? Obrigado!
Por favor Acessar ou Registrar para participar da conversa.
- jferreira
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 11
- Obrigados Recebidos: 0
7 anos 6 meses atrás #32100
por jferreira
Respondido por jferreira no tópico MSExecAuto MATA681
Poliester, bom dia!
Tem que setar o index:
Segue :
if EST->(!Eof())
DbSelectArea("SH6")
SH6->(DbSetOrder(5))
if Dbseek(xFilial("SH6")+EST->H6_NUMEAPO+EST->H6_OPERAC)
//{"H6_PT" ,EST->H6_PT ,NIL},; CORRIGIR
////{"H6_PT" ,EST->H6_PT ,NIL},; 03/04/2017
aVetor := { {"H6_OP" ,EST->H6_OP ,NIL},;
{"H6_PRODUTO" ,EST->H6_PRODUTO ,NIL},;
{"H6_QTDPROD" ,EST->H6_QTDPROD ,NIL},;
{"H6_NUMEAPO" ,EST->H6_NUMEAPO ,NIL},;
{"H6_OPERAC" ,EST->H6_OPERAC ,NIL},;
{"H6_DATAINI" ,EST->H6_DATAINI ,NIL},;
{"H6_HORAINI" ,EST->H6_HORAINI ,NIL},;
{"H6_DATAFIN" ,EST->H6_DATAFIN ,NIL},;
{"H6_HORAFIN" ,EST->H6_HORAFIN ,NIL},;
{"H6_QTDPROD" ,EST->H6_QTDPROD ,NIL},;
{"H6_QTDPERD" ,EST->H6_QTDPERD ,NIL},;
{"H6_LOTECTL" ,EST->H6_LOTECTL ,NIL},;
{"H6_FERRAM" ,EST->H6_FERRAM ,NIL},;
{"H6_PT" ,EST->H6_PT ,NIL},;
{"H6_DTAPONT" ,EST->H6_DTAPONT ,NIL},;
{"H6_DESDOBR" ,EST->H6_DESDOBR ,NIL},;
{"H6_IDENT" ,EST->H6_IDENT ,NIL},;
{"H6_TEMPO" ,EST->H6_TEMPO ,NIL},;
{"INDEX" ,5 ,NIL}}
//Executa o estorno
Begin Transaction
MSExecAuto({|x,Y| MATA681(x,Y)},aVetor,5)
End Transaction
If lMsErroAuto
lRet:=.F.
//Conout("erro a execauto... verifique em:[ \system\integracao\ ]")
cFile:=AllTrim(APO->H6_NUMEAPO)+".LOG"
Mostraerro(cPath,cFile)
DisarmTransaction()
endif
lMsErroAuto :=.F.
aVetor:={}
lRet:=.T.
//Exit
//endif
//SH6->(DbSkip())
//EndDo
Endif
Endif
Tem que setar o index:
Segue :
if EST->(!Eof())
DbSelectArea("SH6")
SH6->(DbSetOrder(5))
if Dbseek(xFilial("SH6")+EST->H6_NUMEAPO+EST->H6_OPERAC)
//{"H6_PT" ,EST->H6_PT ,NIL},; CORRIGIR
////{"H6_PT" ,EST->H6_PT ,NIL},; 03/04/2017
aVetor := { {"H6_OP" ,EST->H6_OP ,NIL},;
{"H6_PRODUTO" ,EST->H6_PRODUTO ,NIL},;
{"H6_QTDPROD" ,EST->H6_QTDPROD ,NIL},;
{"H6_NUMEAPO" ,EST->H6_NUMEAPO ,NIL},;
{"H6_OPERAC" ,EST->H6_OPERAC ,NIL},;
{"H6_DATAINI" ,EST->H6_DATAINI ,NIL},;
{"H6_HORAINI" ,EST->H6_HORAINI ,NIL},;
{"H6_DATAFIN" ,EST->H6_DATAFIN ,NIL},;
{"H6_HORAFIN" ,EST->H6_HORAFIN ,NIL},;
{"H6_QTDPROD" ,EST->H6_QTDPROD ,NIL},;
{"H6_QTDPERD" ,EST->H6_QTDPERD ,NIL},;
{"H6_LOTECTL" ,EST->H6_LOTECTL ,NIL},;
{"H6_FERRAM" ,EST->H6_FERRAM ,NIL},;
{"H6_PT" ,EST->H6_PT ,NIL},;
{"H6_DTAPONT" ,EST->H6_DTAPONT ,NIL},;
{"H6_DESDOBR" ,EST->H6_DESDOBR ,NIL},;
{"H6_IDENT" ,EST->H6_IDENT ,NIL},;
{"H6_TEMPO" ,EST->H6_TEMPO ,NIL},;
{"INDEX" ,5 ,NIL}}
//Executa o estorno
Begin Transaction
MSExecAuto({|x,Y| MATA681(x,Y)},aVetor,5)
End Transaction
If lMsErroAuto
lRet:=.F.
//Conout("erro a execauto... verifique em:[ \system\integracao\ ]")
cFile:=AllTrim(APO->H6_NUMEAPO)+".LOG"
Mostraerro(cPath,cFile)
DisarmTransaction()
endif
lMsErroAuto :=.F.
aVetor:={}
lRet:=.T.
//Exit
//endif
//SH6->(DbSkip())
//EndDo
Endif
Endif
Por favor Acessar ou Registrar para participar da conversa.
- poliester
- Desconectado
- Membro Especialista
Menos
Mais
- Postagens: 93
- Obrigados Recebidos: 0
Tempo para a criação da página:0.111 segundos