Jump to content
Retsu9

Preciso de sugestão prática

Recommended Posts

Retsu9

Boas tardes,

Desenvolvi uma aplicação para a minha empresa para gestão de estaleiro, em que tenho uma listagem de produtos,entradas e saídas de stock, tudo a funcionar como previsto.

Depois surgiu a necessidade de acrescentar um módulo de máquinas, em que seja fácil controlar o histórico de cada máquina e onde se encontra, que também funciona bem para este problema, anexo imagem:

lE6Lqli.jpg?1

 

No entanto agora pretendo algumas alterações, e para isso preciso alterar a estrutura do módulo e da base de dados, mas estou com alguma dificuldade (possivelmente por estar a executar este projecto há algum tempo, e uma visão exterior as vezes ajuda ;) ) em como aplicar de uma forma simples e prática algumas alterações:

Atualmente funciona da seguinte forma:

Utilizador regista máquina (código unico, descrição, notas);

Ao selecionar a máquina na 1º datagrid, aparece o histórico da máquina;

 

Isto tudo está ok, pois cada máquina é identificada unicamente, existindo portanto apenas 1.

Preciso alterar a estrutura para permitir mais quantidades de máquinas, exemplo:

Tenho 5 réguas de aluminio, preciso saber onde está cada unidade e quantas estão em estaleiro etc.. isto complica um pouco a forma como tenho vindo a desenvolver este módulo, pois até aqui cada máquina era tratada como unica, logo não havia o campo quantidade, alterei as tabelas conforme imagem anexo, mas tou a achar pouco prático e sem saber bem como faze-la funcionar de modo prático.

DWj49wD.png?1

 

Alguma sugestão de como por isto prático e funcional? ;) 

Cumpts

 

Share this post


Link to post
Share on other sites
M6

Boas.

Se cada unidade é única, então a quantidade é, na verdade, algo fictício. Passo a explicar. Ou tens um produto que é todo igual e tens quantidades deles, ou tens vários produtos que, embora podendo ser da mesma família, são todos diferentes.

Posto isto, parece-me que tens vários produtos que são todos diferentes.

Para resolveres esta questão, creio que a melhor forma é teres o clássico "família de produto" e "produto" em que cada produto é único e pertence a uma família e a "quantidade de produtos" é determinada pela quantidade de produtos que existe em cada família.

Exemplo:

Famílias: Chave de Parafusos, Martelo

Produto: Chave de Parafusos A, pertence à família Chave de Parafusos

Produto: Chave de Parafusos B, pertence à família Chave de Parafusos

Produto: Martelo, pertence à família Martelo

Produto: Chave de Parafusos C, pertence à família Chave de Parafusos

Neste exemplo tens 1 Martelo e 3 Chaves de Parafusos, mas todas diferentes/únicas entre si.

 

No teu caso particular, creio que antes das "Máquinas e Equipamentos" devias ter "Família" (ou o titulo que entenderes) e depois as "Máquinas e Equipamentos" seriam os produtos.

  • Vote 1

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."

 

Share this post


Link to post
Share on other sites
Retsu9

Boas M6,

Desde já agradeço a resposta que me parece bastante viável, não vou ter tempo nos próximos tempos mas assim que tiver um bocadinho vou tentar implementar esse método !

Share this post


Link to post
Share on other sites
Retsu9

Boas outra vez,

Estava a reflectir e a idealizar as tuas sugestões, e pelo que percebi terei isto, imaginando que tenho 5 chaves de parafusos (iguais):

vou ficar com 5 linhas com o mesmo produto, em vez de uma linha apenas e um campo quantidade=5, certo?

Se for assim, não sei se resolve bem o meu problema, pois imaginando um maior número de registos (10,20,30...) ter 10,20 ou 30 linhas de registo com o mesmo produto creio não ficar bem funcional e simples, pois não sendo eu o utilizador regular da aplicação tenho de me certificar que se torne um processo relativamente simples, ou o mais simples que consiga dado a complexidade claro.

 

EDIT: Para não falar o tédio que seria estar a inserir o mesmo produto 10x  x.X

Edited by Retsu9

Share this post


Link to post
Share on other sites
M6

Certo é isso mesmo.

Quando à questão de inserir registos essa questão é fácil. Não necessitas de inserir um de cada vez, podes ter uma interface que indique a quantidade de produtos iguais que queres inserir e fazer um loop a inserir todos iguais (eventualmente com uma variante no nome para os poderes distinguir).

Quanto à questão de os gerires, repara que se tiveres 30 parafusos e quiseres gerir o parafuso 15, vais ter de o escolher de alguma forma, tipicamente listando-os a todos e o utilizador a escolher o 15. Ou seja, tu até podes listar todos os parafusos agrupados e mostrar a quantidade que existe (seja com um contador ao número de parafusos na tabela, seja com um campo onde escreves a quantidade de parafusos) mas para gerires um parafuso em particular (ainda mais se tiver de ter histórico) não tens outra forma que não seja a de representares (de alguma forma) cada parafuso individualmente.


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."

 

Share this post


Link to post
Share on other sites
Retsu9

Boas uma vez mais,

A questão do 'Histórico' talvez tenha de a descartar, se aplicar estas alterações, pois o que eu tinha idealizado ao inicio (de acordo com o que me foi pedido), foi o seguinte (eu penso não me ter explicado a 100% no 1º post):

a empresa tem X máquinas, e o gerente pretende saber sempre acedendo ao sistema, onde está cada máquina. Ora posto isto eu pensei o seguinte: Identifica-se cada máquina individualmente (processo simples para este funcionamento), por exemplo escrever com caneta permanente em cada máquina o seu código, para posteriormente o introduzir no sistema, e depois de inserido é só adicionar localizações novas e datas ao histórico(simples e prático como pretendido).

Ya, por aqui tudo perfeito está a funcionar, no entanto depois ele queria adicionar produtos de outra natureza, um pouco diferente do que estava idealizado inicialmente, por exemplo, Réguas de aluminio, como devem calcular uma empresa de construção usa bastante, e neste caso não é pratico estar a escrever em cada régua Regua I, Regua II, Regua III..., pois eventualmente elas irão ser trocadas e gerar confusão, para além de que sendo todas iguais seria um pouco dificil saber +\- a qual se refere. 

Bem posto isto, o que idealizo para solucionar isto é remover a ideia do histórico, e ter apenas esta informação:

Existe  10 réguas, e dessas 10 preciso saber quantas estão onde, exemplo:

- 5 no armazem, 2 na Obra A, 3 na Obra B.

Parece fácil isto, que de facto é! Só não sei como desenhar a interface (modo simples), pois preciso de um modo de acrescentar X réguas à obra A, ou Remover X réguas da Obra A para a obra Y, enfim saber sempre das 10 unidades quantas estão onde...

 

 

 

Share this post


Link to post
Share on other sites
M6

Creio que então o melhor será não misturares as coisas.
Ou seja, o que tens para as máquinas, histórico, controlo, etc. deixa estar como está e cria outra estrutura para controlar esse material novo. Com as coisas separadas torna-se mais fácil de gerir cada tipo de item e não tens de te preocupar com o impacto de alterações futuras, uma vez que "cada macaco fica no seu galho".

Posto isto, para a "nova situação do material", a abordagem que referi continua totalmente válida (e acredito que até seja a melhor). A dificuldade que estás a ter na criação da interface (pelo menos em parte) provém precisamente do facto de não teres um modelo claro, simples e compreensível. Ou seja, a complexidade que estás a criar pelo facto de tentares colocar itens individuais como um conjunto está a ser transmitida para a interface.

Repara que se tiveres itens individuais, como expliquei na minha abordagem, até te simplifica a interface. Se queres trocar 5 réguas de alumínio de um local para outro, basta teres uma lista com checkbox (eventualmente com botões de "select all"/"deselect all" e uma ação de "mover para" onde escolhes o local. É simples aplicares a atualização aos registos escolhidos. Ficas sempre com a informação atualizada ao nível individual e até te permite criares um histórico.

  • Vote 1

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."

 

Share this post


Link to post
Share on other sites
Retsu9

Pois a solução talvez vá mesmo passar por separar as águas, evita-se complicações.

Obrigado pelas ideias.

 

Cumpts

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.