Delphi 7 dbgrid

Delphi

09/01/2016

Galera tenho uma tela de vendas, e tenho um dbgrid com campo pra selecionar o produto por codigo,estou usando chave composta,por que uso 2 tabelas,agr sendo que se eu selecionar na mesma venda 2 produtos iguais ele da um erro de duplicate primary Key,e isso é normal,mais eu queria saber um codigo pra quando o usuario por acaso selecionar o mesmo produto o sistema altomaticamente de uma mensagem e cancele aquele especifico produto da venda,desde ja agradeço a a ajuda . . . :) :D
Paulo

Paulo

Curtidas 0

Melhor post

Ronaldo Filho

Ronaldo Filho

13/01/2016

Boa observação P2, havia esquecido disso.

E lembrar que em aplicações comerciais que façam a emissão de NFE, os produtos podem se repetir na listagem da venda, o servidor deles aceita essa "atrocidade" (kkkkkk), mas que as boas práticas indicam outra coisa, blz.
GOSTEI 2

Mais Respostas

Ronaldo Filho

Ronaldo Filho

09/01/2016

Boa tarde Grande.

No caso você pode usar o try except na função e tratar com Exception.

try

  //função para selecionar o produto

except
    on E : Exception do
begin
    if(AnsiPos(E.mesage, 'Duplicated')){
        ShowMesage('');
        //aqui você pode passar o resto da função
    }
end;
GOSTEI 1
Raimundo Pereira

Raimundo Pereira

09/01/2016

Só para complementar,

Uma boa ideia, é quando for informado um novo produto, seja informando o código ou selecionando no grid de produtos ser verificado se já existe, se sim atualiza quantidade e valores se não realiza a inserção por completa.
GOSTEI 1
Paulo

Paulo

09/01/2016

valeu Galera :)
GOSTEI 0
Paulo

Paulo

09/01/2016

isso é algo bem complexo,apesar de ser algo bem simples,em cada venda no grid nao aceitara o mesmo produto 2 vezes,por conta de nao da aquele erro de inserir 2 primary keys iguais mesmo usando chave composta,desdi já agradeço a ajuda mestres :)
GOSTEI 0
Ronaldo Filho

Ronaldo Filho

09/01/2016

Foi boa Grande, precisando lembre que existem ótimos profissionais visualizando o fórum do devmedia sempre no intuito de ajudar a todos. Já precisei muito e o pessoal sempre me ajudou.
GOSTEI 1
Paulo

Paulo

09/01/2016

Caro amigo Ronaldo onde exatamente insiro esse codigo,estou usando pra selecionar os produtos dentro do proprio dbgrid,fazendo uma listagem,e estou sentindo dificuldade para inserir o codigo no local certo,desde ja agradeço a resposta (y)
GOSTEI 0
Ronaldo Filho

Ronaldo Filho

09/01/2016

No caso você coloca o código na função que você chama para inserir o produto, logo após você selecionar o produto e executar o post na tabela de itens do pedido
GOSTEI 1
Paulo

Paulo

09/01/2016

valeu :)
GOSTEI 0
POSTAR