DUPLICANDO NO ESTOQUE

SACOFRITO 27/07/2011 14:14:45
#380119
Boa tarde galera.
Acontece o seguinte, um cliente relatou um problema ao lançar notas ao estoque de produtos. Alguns produtos duplicaram, triplicaram ou até quintoplicaram(?). Mas quando eu puxo aquela nota em minhas tabelas de entrada e entrada itens, a quantidade que foi lançada bate corretamente.

O que pode ter ocorrido? Sendo que isto nunca aconteceu neste mesmo cliente desde que ele usa o sistema em vários anos.

Minha rotina de encremento é bem simples.

do while not dsItemNota.eof
dsproduto.findfirst [Ô]codigo = [Ô] & dsitemnota!codprod
if not dsproduto.nomatch then
dsproduto.edit
dsproduto!estoque = cdbl(dsproduto!estoque) + cdbl(dsitemnota!qtd)
dsproduto.update
end if
dsitemnota.movenext
loop

Algum atraso na rede, vírus ou qualquer outro motivo poderia ter repetido o mesmo laço mais de uma vez?


Obrigado
KERPLUNK 27/07/2011 14:17:47
#380120
Resposta escolhida
Essa rotina pelo que parece, pode ser disparada várias vezes, o que explicaria a duplicidade... Verifique se não está ocorrendo isso...
WANDERSON.02 27/07/2011 14:24:54
#380121
se for uma function trate para que quando ele chegar no final do loop ele sai fora da função
ex:

function AtualizaEstoque () as boolean
AtualizaEstoque=false

sql=[Ô]UPDATE estoque SET estoque=estoque+cdbl(novaqtde) WHERE produto=[ô]X[ô]
conexao. execute

AtualizaEstoque=true

========================================
Assim você pode até usar o Loop mas quando interpretar a variavel como true ele passa para um proximo produto.
JESUEL.OLIVEIRA 27/07/2011 23:34:06
#380159
Mas onde esta duplicado, que o cliente informou, na tela do cliente na contagem do estoque, onde exatamente esta mostrando a diferença?
SACOFRITO 27/07/2011 23:52:45
#380160
Jesuel. Acho que os amigos acima responderam minha duvida. Existia uma falhazinha bem antiga no sistema.
Esse incremento ao estoque esta dentro da função [ô]enchelista[ô]. Uma bela mancada que passou despercebida em 1 ano.
Pode ter sido aberta o mesmo registro de entrada e dado este problema.

E o problema foi no cadastro de produtos no campo Estoque mesmo.

Tópico encerrado , respostas não são mais permitidas