× Linguagem de Programação ADVPL

Perguntas Problema com ExecAuto

Mais
11 anos 10 meses atrás - 11 anos 10 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: 11 anos 10 meses atrás por JamesWesTRP.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 10 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
11 anos 10 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
11 anos 10 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.122 segundos
Joomla templates by a4joomla