× Linguagem de Programação ADVPL

Perguntas Problema com ExecAuto

Mais
10 anos 9 meses atrás - 10 anos 9 meses atrás #15615 por JamesWesTRP
Pessoal bom dia!

Estou usando a rotina de execauto, a MATA240, e, os produtos que estou manipulando
tem controle de lote.

Mesmo passando o lote no momento de gravar, como no trecho abaixo, a seguinte mensagem
(print) é retornada.

Alguém já passou por isso?

O que poderia ser?

Obs: quando faço entrada, manual na mov. interna, não dá erro nenhum nem mensagem ref. a lotes.

Trecho do código da gravação:
aItemD3 :=  {       {"D3_TM"      , "522"          ,NIL},;                                 
                       {"D3_COD"     , cGetCodPro     ,NIL},;
                       {"D3_LOCAL"   , cLocal         ,NIL},;                                           
                       {"D3_EMISSAO" , dEmissao       ,NIL},;
                       {"D3_QUANT"   , nQtdeSD3       ,NIL},;
                       {"D3_USUARIO" , cUsuario       ,NIL},;
                       {"D3_HORA"    , time()         ,NIL},;
                       {"D3_CONTA"   , ""             ,NIL},;
                       {"D3_OP"      , cCOP           ,NIL},;
                       {"D3_UM"      , cUm            ,NIL},;
                       {"D3_GRUPO"   , cGrupo         ,NIL},;
                       {"D3_CF"      , "RE1"          ,NIL},;
                       {"D3_SEGUM"   , cSegum         ,NIL},;
                       {"D3_PARCTOT" , "T"            ,NIL},;
                       {"D3_CC"      , ""             ,NIL},;
                       {"D3_CODBAR"  , cCOP           ,NIL},; 
                       {"D3_EMPOP"   , 'S'            ,NIL},;
                       {"D3_LOTE"    , cLote          ,NIL},;
                       {"D3_DOC   "  , GetSXEnum("SD3","D3_DOC"),NIL}}                  
                       
                     begin transaction
                       
                     MSExecAuto({|x,y| MATA240(x,y)},aItemD3,3) //Incluir

if lmsErroAuto
  
	MostraErro()
	DisarmTransaction( )

else

	msgInfo("Movimentos gerados com sucesso para OP: ( " + cCOP + " ) " + CRLF + "Verifique: movimentação interna / empenhos")
	
endif 

end transaction

Em anexo, o print da mensagem.

Ultima edição: 10 anos 9 meses atrás por JamesWesTRP.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #15619 por nando_digi
Respondido por nando_digi no tópico Problema com ExecAuto
Não será a variável cLote que esteja com valor inválido
A principio esta correto

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #15626 por Bruno_Matos
Respondido por Bruno_Matos no tópico Problema com ExecAuto
Sei lá, dá um alltrim no cLote vai que cola...

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 9 meses atrás #15632 por JamesWesTRP
Respondido por JamesWesTRP no tópico Problema com ExecAuto
Descobri.

O problema da rotina é que todo ExecAuto, considera gatilhos e afins, assim como se vc tivesse preenchendo na tela mesmo.

Sendo assim a ordem dos campos estava errada. Foi corrigido.

Porém ainda não funcionava.

O campo que eu estava enviando estava errado também. Na verdade, o campo correto de lote, é o LoteCTL.

Corrigido e tudo funcionando

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.151 segundos
Joomla templates by a4joomla