SFSS Posted September 16, 2016 at 03:23 PM Report #598921 Posted September 16, 2016 at 03:23 PM (edited) Boa tarde, estou a desenvolver uma aplicação em que necessito de fazer controlo de stocks. Tenho movimentos de stock entre armazéns, de fornecedores para armazéns, armazéns para clientes. Como posso registar estes movimentos na BD, em dois registos IN/OUT ou tudo no mesmo registo? Tenho pouca experiência nesta parte de movimentos. Todas as dicas são bem vindas. Desde já obrigado pela ajuda. Cumps, SFSS Edited September 16, 2016 at 03:25 PM by SFSS
M6 Posted September 16, 2016 at 03:49 PM Report #598923 Posted September 16, 2016 at 03:49 PM Não percebo se o teu problema é o desenho do modelo de dados ou se o mesmo já está feito e queres ajuda a escrever os movimentos nesse modelo. Partindo do principio que estás a desenhar o modelo (porque dizes que estás a fazer o desenvolvimento da aplicação), essa situação resolve-se facilmente com uma tabela em que registas a seguinte informação: tipo de movimento: Entrada (para dar entrada de stock), Armazém (movido para um armazém), Saída (saída de stock) produto: chave para o produto em questão quantidade: quantidade de produtos envolvidos no movimento data/hora do movimento armazem de destino (opcional): chave para o armazém para o qual foi feito o movimento cliente (opcional): chave para o cliente para o qual foi feito o movimento Este modelo permite-te ter todos os movimentos entre armazéns , saidas para clientes e, obviamente, entrada de stock para armazém. Por questões de performance, aconselho a ter uma tabela de stocks atual para cada produto por armazém, onde adicionas sempre que há entrada de produto nesse armazém, e subtrais sempre que há saidas desse armazém. 1 Report 10 REM Generation 48K! 20 INPUT "URL:", A$ 30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50 40 PRINT "404 Not Found" 50 PRINT "./M6 @ Portugal a Programar."
SFSS Posted September 16, 2016 at 05:05 PM Author Report #598931 Posted September 16, 2016 at 05:05 PM Desde já obrigado pela resposta. Tenho uma duvida, como identifico o armazém de saída? Nessa estrutura de DB não é necessário guardar o local da saída? A minha estrutura neste momento está assim: ID / TIPO / Armazém / Artigo / Quantidade 1 / Saída / Armazém A / Xpto1 / -1000 1 / Entrada / Armazém B / Xpto1 / 1000 2 / Saída / Armazém B / Xpto2 / -255 2 / Entrada / Armazém A / Xpto2 / 255 Depois tenho uma Tabela de Totais por Armazém e Artigo. Armazém A / Xpto1 / 2000 Armazém A / Xpto2 / 255 Armazém B / Xpto1 / 1000 Armazém B / Xpto2 / 0 A minha duvida prende-se mais com as entradas do Fornecedor e Saídas para Cliente. Como posso representar as mesmas nos movimentos. Como não tenho muita experiência nesta área, estou a tentar reunir informação para não avançar com código e depois ter de voltar para trás.
apocsantos Posted September 19, 2016 at 07:05 PM Report #599013 Posted September 19, 2016 at 07:05 PM Boa noite, Em teoria, cada movimento de stock, tem origem num documento, que fica registado noutras tabelas da base de dados. Logo se associares o movimento a uma identificação do documento, sabes se foi uma entrada vinda de um fornecedor, de uma devolução, de um inventário, etc... da mesma forma que sabes se uma saída, foi por venda, consumo, desperdício, inventário físico, etc... Não conhecendo as demais tabelas, eu colocaria na tabela de movimentos um campo que identifique o documento que originou o movimento. Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
Solution SFSS Posted September 20, 2016 at 11:58 AM Author Solution Report #599021 Posted September 20, 2016 at 11:58 AM Boa tarde, depois de ler as vossas respostas e pensar na estrutura vou criar a seguinte: ID / TIPO / Armazém / Artigo / Quantidade / Doc / ID_Entidade 1 / Entrada / Armazém A / Xpto1 / 150 / GUI4488 / Fornecedor A 2 / Armazém / Armazém A / Xpto1 / -50 / OF1001 / 2 / Armazém / Producão / Xpto1 / 50 / OF1001 / 3 / Saída / Produção / Xpto1 / -50 / FAC8555 / ClienteA GUI -> Guia de remessa OF -> Ordem de fabrico interna FAC -> Factura para o cliente final Desta forma penso que tenho todas as possibilidades cobertas e consigo identificar Fornecedores/Clientes e respetivos documentos. Obrigado pelas dicas. Cumps,
apocsantos Posted September 20, 2016 at 03:40 PM Report #599025 Posted September 20, 2016 at 03:40 PM Boa tarde, Se tens fabrico, deves ter um tipo de documento para fabrico e um armazém interno para "produção", pois a matéria prima, sai de um armazém, vai para produção (supostamente um armazém, para que saibas o que está em produção e facilite o calculo do desperdício), e da produção vá para produto acabado (outro armazém), onde a o produto entra vindo da produção e sai para o cliente. Neste caso as OF (ordem de fabrico), deveriam dar saída de matéria prima, e entrada em produção, quando abertas, e saída em produção seguida entrada em produto acabado, e saída do desperdício, no caso se aplicar as normas de gestão de resíduos, terás de contemplar isso. Creio eu. Cordiais cumprimentos, Apocsantos "A paciência é uma das coisas que se aprendeu na era do 48k" O respeito é como a escrita de código, uma vez perdido, dificilmente se retoma o habito"
SFSS Posted September 22, 2016 at 08:31 AM Author Report #599068 Posted September 22, 2016 at 08:31 AM Bom dia, neste momento o software não vai gerir as ordens de fabrico, mas no futuro "quase de certeza" que o vai fazer. Este projeto é para uma situação em que já existe um software para a clientes, fornecedores, faturação, encomendas, mas a parte de stocks não está tão afinada para a área de negócio em questão. A ideia é desenvolver esta parte e ligar com o software atual alguma da informação. Tenho os armazéns Produção, Produto Acabado, não tinha a parte dos documentos tão detalhada. Vou criar esta parte que no futuro pode ser usada para as OF ou outros documentos. Obrigado pelas ajudas! Cumprimentos, SFSS
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