Array
(
)

Estoque problemas em duplicação de registros

Gelsonsardinha
   - 08 nov 2005

Estou destrinchando minha solução:
estou desenvolvendo um sistem de estoque, pelos requisitos solicitados tem a necessidade de manter o cadastro inicial ( tabela de entrada) e baixa no estoque (tabela de saida) par se ter um comparativo no final do mes por exemplo saber o que entrou.
Pensei na seguinte situação:
todos os dados que são informados na tabela de entrada automaticamente são copiados para tabela de saida ( para ser selecionado em um dbnavigator) e dado a baixa deste produto.
estou usando relatorios ( OK) segurança de acesso (ok) entrad de produtos (OK ) e aixa total de produtos (OK )
exemplo : entrou 100 unidade de lapis codigo xxx para departamento de compras, se compras solicitar esses 100 lapis ou outro departamento qualquer eu consigo dar a baixa total para esse produto na minha tabela de saida ( baxa total)
A baixa parcial entendo que seja da seguinte forma :
seleciono este pedido de lapis, mas quero somente 50 para departamento marketing, ele dara baixa somente de 50 unidades e vai inserir n tabela de saida um novo registro :
codigo do lapis, dados do solicitant, unidades solicitadas ( 50 ) e restara ainda para ser distribuido 50 unidades par outro setor qualquer.
Minha intensão é inseri esse novo rgistro neta tabela também.
como o procedimento de baixa total esta funcionando, criei um botao para esta tarefa
é perguntado se deseja dar baixa total ou parcial: se a baixa for total
dm.TableSaidaEstoque.edit; Zero os campos que preciso alterar, procedimento de alterações de valores e por final dm.TableSaidaEstoque.Insert;
se a baixa for parcial :
//guarda os dados de entrada para o prox registro
dm.TableSaidaEstoque.Insert;
Codigo:= DBEdit1.Text;
DescProduto:= DBEdit3.Text;
fabricante:= DBEdit8.Text;
estoqueminimo:=DBEdit6.Text;
unidade := DBComboBox2.Text;
QdtdeCadastrado:= DBEdit5.Text;

// adiciono esses dados para completar a solicitação
NomeFornecedor:= DBEdit4.Text;
DtValidade :=DBEdit10.Text;
DtSaida := DBEdit7.Text;
NRequisicao:= DBEdit27.Text;
Precounit:= DBEdit14.Text;
Precototal:= DBEdit15.Text;
// por final
mas contece o seguinte :
ele gera um registro em branco com somente
Unidade
Qdtderetirada
Setor Solicitado

não sei o que esta acontecendo para estar gerando esta informação

ela ate funcionou parcialmente já que esta pegando os campos corretos, mas não esta duplicando o registro, o que eu preciso:
Para dar baixa parcial, um determinado solicitante requisita uma qtde de material e com esse teste acima, penso em duplicar meu registro que será apresentado em relatório a qtde exata de poduto que varios solicitantes
ex :
codigo XXX prouto feijao solicitante XXXXX qtde 25 unidades
codigo XXX prouto feijao solicitante YYYYY qtde 50 unidades
codigo XXX prouto feijao solicitante ZZZZZ qtde 25 unidades
...
quero dizer : o Mesmo produto, o mesmo coigo para solicitante diferentes e qtde difernte
o que eu estou verificando é que continua sobreescrevendo o registro e alterando smente os campos de baixa, mas não esta resolvendo a duplicação de registros.
Me ajudem pois estou pensando em reescrever o codigo por conta deste detalhe.


Sabado
   - 15 nov 2005

query1.Active := False;
query1.Sql.Clear;
query1.Sql.Add(´insert into kcjsjur_clientes (data,tipo,cpf,cnpj,nome,endereco, bairro,cep, cidade,uf,ddd,telefone1,telefone2,fax,celular,email,icq,aim) values (´+´´´´+edit1.Text+´´´´+´,´+´´´´+edit2.Text+´´´´+´,´+´´´´+edit3.Text+´´´´+´,´+´´´´+edit4.Text+´´´´+´,´+´´´´+edit5.Text+´´´´+´,´+´´´´+edit6.Text+´´´´+´,´+´´´´+edit7.Text+´´´´+´,´+´´´´+edit8.Text+´´´´+´,´+´´´´+edit9.Text+´´´´+´,´+´´´´+edit10.Text+´´´´+´,´+´´´´+edit11.Text+´´´´+´,´+´´´´+edit12.Text+´´´´+´,´+´´´´+edit13.Text+´´´´+´,´+´´´´+edit14.Text+´´´´+´,´+´´´´+edit15.Text+´´´´+´,´+´´´´+edit16.Text+´´´´+´,´+´´´´+edit17.Text+´´´´+´,´+´´´´+edit18.Text+´´´´+´) ´);
query1.ExecSql;
MessageDLG(´Registro inserido com sucesso´, mtinformation, [mbok], 0);
end;