× Linguagem de Programação ADVPL

Perguntas MATA261 - TRANSFERENCIAS - EXECAUTO

Mais
11 anos 5 meses atrás #14931 por Rodrigo Almeida
Bom dia!

Não funcionou, mas resolvi meu problema utilizando a função aProcessa260().

Obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 4 meses atrás #15605 por fkuhn
Respondido por fkuhn no tópico MATA261 - TRANSFERENCIAS - EXECAUTO
Alguem ja fez o estorno referente a essa rotina?
no tdn ta impossivel entender algo.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16531 por Ghandy
Respondido por Ghandy no tópico MATA261 - TRANSFERENCIAS - EXECAUTO
Pessoal estou com um problema parecido com o de vocês... Na minha base de testes o sistema simplesmente não grava o SD3 e não retorna erro.
Em outra base, quando eu coloco somente 1 item o sistema grava perfeitamente, mas quando eu coloco mais de 1 item ele informa que o array passado aheader (que não passo este array) esta com inconsistencia dos dados...

Lendo a documentação eu entendi que o array aAuto tem como seu primeiro elemento um array com o documento e a data.
Os demais elementos seriam um array com os itens, mas parece que não é isto... Eu preciso repetir o array com o nr do documento para cada elemento???

Segue parte da rotina:

AADD(aAuto,{cDoc,dDatabase})
WHILE cDoc == SZR->ZR_DOC .AND. !SZR->(Eof())
cProduto := SZR->ZR_COD
IF SZR->ZR_OK == "0"
IF cTM == "501"
cLocal := "GP"
// Origem
aadd(ExpA1,SZR->ZR_COD)
aadd(ExpA1,SZR->ZR_DESCRI)
aadd(ExpA1,SZR->ZR_UM)
aadd(ExpA1,"GP")
aadd(ExpA1,"000001")
// Destino
aadd(ExpA1,SZR->ZR_COD)
aadd(ExpA1,SZR->ZR_DESCRI)
aadd(ExpA1,SZR->ZR_UM)
aadd(ExpA1,SZR->ZR_LOCAL)
aadd(ExpA1,SZR->ZR_LOCALIZ)
ELSE
cLocal := SZR->ZR_LOCAL
// Origem
aadd(ExpA1,SZR->ZR_COD)
aadd(ExpA1,SZR->ZR_DESCRI)
aadd(ExpA1,SZR->ZR_UM)
aadd(ExpA1,SZR->ZR_LOCAL)
aadd(ExpA1,SZR->ZR_LOCALIZ)
// Destino
aadd(ExpA1,SZR->ZR_COD)
aadd(ExpA1,SZR->ZR_DESCRI)
aadd(ExpA1,SZR->ZR_UM)
aadd(ExpA1,"GP")
aadd(ExpA1,"000001")
ENDIF
// Geral
aadd(ExpA1,SZR->ZR_NUMSERI)
aadd(ExpA1,"") //D3_LOTECTL
aadd(ExpA1,"") //D3_NUMLOTE
aadd(ExpA1,CTOD("")) //D3_DTVALID
aadd(ExpA1,0) //D3_POTENCI
aadd(ExpA1,SZR->ZR_QUANT)
aadd(ExpA1,0) //D3_QTDSEGUM
aadd(ExpA1,"") //D3_EXTORNO
aadd(ExpA1,"") //D3_NUMSEQ
aadd(ExpA1,"") //D3_LOTECTL
aadd(ExpA1,CTOD("")) //D3_DTVALID
aadd(ExpA1,"") //D3_ITEMGRD
ENDIF
aadd(aAuto,ExpA1)
//-- Posiciona (ou Cria) o Arquivo de Saldos (SB2)
If !SB2->(dbSeek(xFilial('SB2')+cProduto+cLocal,.F.))
CriaSB2(cProduto,cLocal)
EndIf
SZR->(dbSkip())
END WHILE
IF Len(ExpA1) > 0
MSExecAuto({|x,y| mata261(x,y)},aAuto,3)
If lMsErroAuto
Mostraerro()
Else
// registra a operacao

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 3 meses atrás #16538 por Ghandy
Respondido por Ghandy no tópico MATA261 - TRANSFERENCIAS - EXECAUTO
Encontrei o meu problema:

Eu estava inicializando o array ExpA1 fora do looping, coloquei a inicialização logo depois do While e deu certo.
Gravou a movimentação no SD3 da minha base e também parou de dar a mensagem na outra base...
Obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21651 por henry.charriere
Rodrigo, Bom dia!

Será que pode compartilhar essa função. Estou precisando muito e não consigo usar o mata261.

Obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Mais
9 anos 11 meses atrás #26403 por marcioquevedoborges
Rodrigo,

Você utilizou o aProcessa260 para efetuar o estorno da transferência? Tens algum material para me dar uma luz de como posso proceder.

Estou tentando executar o Execauto para efetuar um estorno de uma transferência efetuada e não está funcionando.

Grande abraço

Márcio Borges

Por favor Acessar ou Registrar para participar da conversa.

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