× Linguagem de Programação ADVPL

Perguntas MSEXECAUTO MATA 650

Mais
11 anos 6 meses atrás #13302 por dvcarrilho
Boa tarde!
Estou tentando incluir ops via MSEXECAUTO e estou com um problema para passar o código do produto p/ a função, ele me fala que o código do produto está inválido.

O produto é válido e consigo inserir a OP manualmente, segue o trecho do fonte que estou utilizando:

aCodPro:= alltrim(SB1->B1_COD)

lMsErroAuto := .F.
aVetor:={{"C2_PRODUTO",aCodPro,.T.},;
{"C2_QUANT",40,NIL},;
{"C2_DATPRI",ddatabase,NIL},;
{"C2_DATPRF",ddatabase,NIL},;
{"AUTEXPLODE","S",NIL}}

MSExecAuto({|x,y| mata650(x,y)},aVetor,3) //Inclusao

Todas as validações de tamanho eu tentei para ajustar o campo para leitura, pois meu código de produto tem 10 digitos, e o campo da tabela tem 15.

Alguém já enfrentou esse tipo de problema antes??

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13303 por kanaamlrr
Respondido por kanaamlrr no tópico MSEXECAUTO MATA 650
tenta assim:


aVetor:={{"C2_PRODUTO",AvKey(aCodPro,"C2_PRODUTO"),.T.},;
{"C2_QUANT",40,NIL},;
{"C2_DATPRI",ddatabase,NIL},;
{"C2_DATPRF",ddatabase,NIL},;
{"AUTEXPLODE","S",NIL}}

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13322 por dvcarrilho
Respondido por dvcarrilho no tópico MSEXECAUTO MATA 650
Bom dia Kanaãm!

Tentei e deu o mesmo problema, segue o Log abaixo:

Tabela SC2 29/04/13 07:24:21
Produto - C2_PRODUTO := 6059200003 < -- Invalido
Quantidade - C2_QUANT := 40
Previsao Ini - C2_DATPRI := 29/04/13
Entrega - C2_DATPRF := 29/04/13
- AUTEXPLODE := S
Erro --> Ocorreu um erro durante a validacao:
invalid expression type on macro on EVALVALID line : 1102
Called from ENCHAUTO line : 340
Called from AXINCLUI line : 660
Called from A650INCLUI line : 1986
Called from MBROWSEAUTO line : 86
Called from MATA650 line : 196
Called from {|X,Y| MATA650(X,Y)} line : 190
Called from eval line : 4559
Called from MSEXECAUTO line : 4559
Called from RUNCONT line : 190
Called from {|| RUNCONT() } line : 97
Called from eval line : 112
Called from PROCESSA line : 112
Called from OKLETXT line : 97
Called from {|| OKLETXT()} line : 48
Called from ACTIVATE line : 0
Called from U_OPSAUT line : 52
Called from A370VERFOR line : 348
Called from {|x,lResValid,o| o := Self:aEntryCtrls[3],(lResValid := If(o:lModified .or. (o:Cargo <> NIL .and. o:Cargo <> M->M4_FORMULA),(A370VerFor()),.T.)),(If(Type('lRefresh') == 'L' .and. lRefresh,Self:EnchRefreshAll(),)),lResValid} line : 1497
Called from eval line : 6633
Called from SAFEEVAL line : 6633
Called from {|| ( LOKOK:=IF(LMESSAGEDEL,IIF(FINDFUNCTION("APMSGYESNO"), APMSGYESNO(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")), (CMSGYESNO:="MSGYESNO", &CMSGYESNO.(OEMTOANSI(IF( CPAISLOC $ "ANG|PTG", "CONFIRMAR A EXCLUSãO ?", "CONFIRMA A EXCLUSAO ?" )), OEMTOANSI("ATENçãO")))), .T. ),LOK:=IF(LOKOK,(REGOTO(NREG,CALIAS),SAFEEVAL(BOK)), .F. ),EVALRETOK(LOK,NBAR),IF(TYPE("INCLUI") = "L" .AND. __NNIVELBAR == 0,__LLOOP := INCLUI,)) } line : 1365
Called from eval line : 471
Called from {|| EVAL(BOK) } line : 471
Called from ACTIVATE line : 0
Called from AXINCLUI line : 635
Called from X19INCLUI line : 208
Called from EXECUTE line : 1020
Called from { || OSELF:EXECUTE("X19INCLUI", 3, 0,"INCLUIR", 3,"","INCLUIR","", 3) } line : 136
Called from eval line : 136
Called from {|| If( lClick, ( lClick := .F., eval({ || OSELF:EXECUTE("X19INCLUI", 3, 0,"INCLUIR", 3,"","INCLUIR","", 3) }), lClick := .T., ), "")} line : 136
Called from ACTIVATE line : 0
Called from ACTIVATE line : 595
Called from FWMBROWSE line : 11475
Called from MBROWSE line : 155
Called from CFGX019 line : 53
Called from __EXECUTE line : 562
Called from FWPREEXECUTE line : 65
Called from {|| FWPreExecute('Fórmulas', 'CFGX019()', 1, '99', 'xxxxxxxxxx') } line : 182
Called from ACTIVATE line : 0
Called from ACTIVATE line : 527
Called from SIGACFG line : 926

Data.........: 29/04/13
Hora.........: 07:24:49
Aonde........: IncluiOP

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13323 por dvcarrilho
Respondido por dvcarrilho no tópico MSEXECAUTO MATA 650
Quando tento sem o True na validação do C2_PRODUTO o log é este:

HELP: REGNOIS
Não existe registro relacionado a este
código.

Tabela SC2 29/04/13 07:42:46
Produto - C2_PRODUTO := 6059200003 < -- Invalido
Quantidade - C2_QUANT := 40
Previsao Ini - C2_DATPRI := 29/04/13
Entrega - C2_DATPRF := 29/04/13
- AUTEXPLODE := S
Data.........: 29/04/13
Hora.........: 07:44:29
Aonde........: IncluiOP

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13324 por kanaamlrr
Respondido por kanaamlrr no tópico MSEXECAUTO MATA 650
Cara, faz o seguinte teste, antes do seu execauto, dá um SB1->(dbSetOrder(1))

Se você trocou o indice pode ser que não esteja encontrando pela chave que está posicionado.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 6 meses atrás #13331 por dvcarrilho
Respondido por dvcarrilho no tópico MSEXECAUTO MATA 650
Funcionou!!

Realmente eu tinha trocado o indice para realizar a pesquisa pelo código EAN, conforme trecho abaixo:

dbSelectArea("SB1")
dbsetorder(5)
dbseek(xFilial("SB1")+TRB->EAN)

xNovOp := GETSX8NUM("SC2","C2_NUM")
xQtde := val(TRB->QTDE)
aCodPro:= alltrim(SB1->B1_COD)

Msgalert("Filial: " + SC2->C2_FILIAL + " EAN: " + TRB->EAN +" Produto: " +aCodPro + " Qtde: " + TRB->QTDE+;
" OP / ITEM " +xNovOp+" / " + SC2->C2_ITEM )
SB1->(dbSetOrder(1))
lMsErroAuto := .F.
aVetor:={{"C2_NUM",xNovOp,NIL},;
{"C2_PRODUTO",SB1->B1_COD,NIL},;
{"C2_QUANT",40,NIL},;
{"C2_DATPRI",ddatabase,NIL},;
{"C2_DATPRF",ddatabase,NIL},;
{"AUTEXPLODE","S",NIL}}


MSExecAuto({|x,y| mata650(x,y)},aVetor,3) //Inclusao

Voltei o Indice e deu certo, obrigado!!!

Por favor Acessar ou Registrar para participar da conversa.

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