aprendiz93 Posted October 21, 2012 at 07:06 PM Report #479940 Posted October 21, 2012 at 07:06 PM Boa Tarde!! Gostaria muito que me ajudassem a concluir o meu controle de estoque. Tenho um cadastro de produtos, que contem descrição do produto, e quantidade em Estoque. E tenho um form de vendas que tem Descrição do Produto , quantidade compradas e preço do produto. Gostaria que quando a pessoa clica-se no botão fechar venda, Abatece as quantidades do produto que tem no estoque. Como eu faria isso? Agradeço desde já pela atenção.
jviana Posted October 21, 2012 at 07:50 PM Report #479943 Posted October 21, 2012 at 07:50 PM Tens uma variável global, e depois é só adicionar/subtrair, já tens algum código? Isso iria ajudar... Learning VB.Net HTML C/C++
aprendiz93 Posted October 21, 2012 at 09:08 PM Author Report #479951 Posted October 21, 2012 at 09:08 PM Eu implementei esse método mais é ruim pq eu teria que ter N variaveis globais para fazer isso. Eu tinha feito o seguinte. 1° eu criei uma variavel global quantidade_estoque. 2° Quando eu cadastrava um produto mandava guarda o total da quantidade em estoque na variavel quantidade_estoque. 3° Quando eu ia fechar o pedido eu fazia o seguinte: if quantidadedecompras > quantidade_estoque. mostra mensagem de erro: "Quantidade em Estoque Excedida" Else quantidade_estoque = (quantidadedecompras - quantidade_estoque. - ). Eu fiz esse método mais ficou muito estranho.
thoga31 Posted October 21, 2012 at 09:13 PM Report #479952 Posted October 21, 2012 at 09:13 PM Eu fiz esse método mais ficou muito estranho. Estranho em que sentido? Knowledge is free!
aprendiz93 Posted October 21, 2012 at 09:18 PM Author Report #479953 Posted October 21, 2012 at 09:18 PM Pq sempre que eu for cadastrar um novo produto ele vai substituir o valor da variavel quantidade_estoque.
thoga31 Posted October 21, 2012 at 09:22 PM Report #479956 Posted October 21, 2012 at 09:22 PM Pq sempre que eu for cadastrar um novo produto ele vai substituir o valor da variavel quantidade_estoque. E onde é que isto é estranho? Knowledge is free!
aprendiz93 Posted October 21, 2012 at 09:29 PM Author Report #479957 Posted October 21, 2012 at 09:29 PM Bom no meu programa não ficou legal. Alguem saberia fazer um outro metodo?
thoga31 Posted October 21, 2012 at 09:34 PM Report #479958 Posted October 21, 2012 at 09:34 PM Depende do método como guardaste os produtos. Por exemplo, uma Array Dinâmica seria uma opção que eu poderia vir a seguir. Knowledge is free!
aprendiz93 Posted October 21, 2012 at 09:44 PM Author Report #479959 Posted October 21, 2012 at 09:44 PM Desculpa pela ignorância mais Como se utiliza uma Array Dinâmica? Esqueci de comentar tb. Este metodo que eu estava utilizando ficou dando error: na linha Quantidade_Estoque = (Quantidade_Estoque - quantidadedecompras) Conversion from string "" to type 'Double' is not valid.
thoga31 Posted October 21, 2012 at 09:53 PM Report #479960 Posted October 21, 2012 at 09:53 PM Significa que uma dessas variáveis é uma String e tu estás a tentar fazer cálculos como se fosse Double. Cuidado com os tipos de dados! Knowledge is free!
aprendiz93 Posted October 21, 2012 at 11:39 PM Author Report #479969 Posted October 21, 2012 at 11:39 PM Tentei trabalhar mais em cima desse método mais não tem jeito. Para ele funcionar eu sempre preciso ficar cadastrando uma nova quantidade em estoque, ai sim ele faz o calculo certo. Sera que alguem poderia me dar uma força ?
Kline777 Posted October 22, 2012 at 05:09 PM Report #480011 Posted October 22, 2012 at 05:09 PM Como tens a estrutura dos teus produtos? está numa tabela ou é mesmo no código? Podes mostrar o codigo de como crias um novo produto?
aprendiz93 Posted October 22, 2012 at 06:33 PM Author Report #480019 Posted October 22, 2012 at 06:33 PM Os dados estão sendo salvos no bd e mostrados em uma datagriedview.
Kline777 Posted October 23, 2012 at 08:12 AM Report #480059 Posted October 23, 2012 at 08:12 AM entao porque nao guardas o stock numa tabela? não estou a perceber porque estao a falar em variaveis globais :S
aprendiz93 Posted October 23, 2012 at 06:36 PM Author Report #480133 Posted October 23, 2012 at 06:36 PM (edited) Eu preciso guarda o estoque no bd que é o correto. quando a pessoa cadastra as quantidades em estoque salvo no banco de dados, quando a pessoa vende uma quantidade x de produto precisa ser abatido no estoque que esta salvo no banco de dados. Edited October 23, 2012 at 11:20 PM by aprendiz93
Kline777 Posted October 24, 2012 at 08:43 AM Report #480204 Posted October 24, 2012 at 08:43 AM ^Podes mostrar a tabela dos produtos e o SQL que usas quando vendes um produto?
aprendiz93 Posted October 24, 2012 at 01:31 PM Author Report #480259 Posted October 24, 2012 at 01:31 PM No caso estou utilizando bd Access, por enquanto eu só estou cadastrando normalmente o produto e as quantidades em estoque no bd, e automaticamente ja atualiza os dados do bd para a datagriedwiew. O que estou precisando: Cadastrei o Produto1 e a quantidade em estoque 10. vendi o Produto1 e as quantidades compradas foi 5. Agora ele tem que abater as quantidades no estoque no bd, pois sobrou 5 quantidades do produto ainda. Outra coisa, se a pessoa for tentar vender uma quantidade de produto maior que esta no estoque mostra uma mensagem de erro: quantidade em estoque execedida - mostra o total da quantidade do produto que tem no estoque. Isso seria simples se não envolve-se banco de dados pois era só utilizar variaveis globais que daria certo.
aprendiz93 Posted October 25, 2012 at 09:37 PM Author Report #480486 Posted October 25, 2012 at 09:37 PM (edited) Alguem tem alguma ideia? Eai Pessoal nd? 😕 Edited October 29, 2012 at 07:08 PM by aprendiz93
TelmoAAA Posted November 2, 2012 at 03:23 PM Report #481327 Posted November 2, 2012 at 03:23 PM (edited) Boas, Para resolver o problema basta fazer uma consulta na BD antes da finalização da venda, aquando a função da venda do Produto é chamada. Quando o utilizador clica em comprar, crie uma variável, essa variável irá receber a quantidade em stock do Produto através de uma consulta á BD. Depois disso será simples, antes de dar a venda por finalizada basta verificar se a quantidade que o utilizador escolheu é maior ou igual á quantidade em stock e aí será validada a venda, caso seja menor é mostrar o tal erro e usar a variável para indicar o stock existente. Depois da venda finalizada basta subtrair a variável com a quantidade que o utilizador comprou e actualizar a BD. Espero ter ajudado. Edited November 2, 2012 at 03:25 PM by TelmoAAA
veaoum Posted November 3, 2012 at 03:22 PM Report #481422 Posted November 3, 2012 at 03:22 PM (edited) Bem há uns tempos atrás estive a fazer um programa para gestão de fardas. A primeira diferença é que tinha pelo menos mais uma tabela, (Stock, Vendas, Produtos). A tabela mais "importante" seria mesmo a dos produtos onde coloco a informação sobre os produtos (nome, preço custo, preço venda) as outras duas tabelas só podem ter produtos que existam nesta. A tabela stok apenas armazena os protutos (nome(existente em produtos), quantidade) agora a tabela Vendas (nome(exitente em Stock),quantidade,...) mas na prática a quantidade no momento da compra deve ser inferior ou igual ao campo quantidade na tabela Stock. Para resolver isto em vez de andar com variaveis globais "falava" com a BD sempre que alterassem o campo do nome do produto para redefenir o valor maximo de uma numericbox e colocava esse valor numa label ao lado. quando ele finaliza a compra eu tenho na numericbox.value o valor que ele quer comprar e tenho na label.text o valor em Stok então fazia algo do genero: if numericbox.value>0 then if numericbox.value = cint(label.txt) then 'aqui eleminava o produto da tabela stock por estar a zero else 'aqui actualiza a BD na tabela Stock em que seria algo do genero. aux1.actualizaquanti(nomeproduto,cint(label,.text)-numericbox.value) end if 'aqui colocaria a inserção na tabela Vendas end if Edited November 3, 2012 at 03:23 PM by veaoum
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now