MULTI EMPRESA - DUVIDAS
Sacrofrito bom dia.
Em informática há muitos caminhos para atingir o mesmo objetivo, mas cada um tem suas consequências e benefÃcios:
- alguns são complexos e difÃceis de dar manutenção, deixam o aplicativo enorme, lento, etc..
- outros são limitados para a situação atual, se mudar algo tem que reformular tudo e da muito trabalho com perda de dados/trabalho as vezes
O ideal é pensar em algo mais amplo e genérico, não importa se hoje só tem 2 empresas e do mesmo seguimento. Imagina amanhã seu cliente compra outra empresa de mesmo ramo, mas de produtos diferentes? Então como ficaria se seu sistema foi projetado para atender só duas empresas ?
Se for genérico, não interessa se entrar mais uma ou 100, do mesmo ramo ou de outros, tudo irá funcionar, basta implementar os devidos cadastros já que o sistema é o mesmo e foi projetado assim.
Por isso lhe disse do cadastro chave IDEmpresa + IDPedido (IDempresa é a tabela de empresas) e IDPedido cadastro de pedidos, assim NUNCA existirá repetição de números como citou.
Veja que a tabela VENDAS terá
IDPedido
IDEmpresa
IDPedidoEmpresa(este terá a sequência de cada pedido de uma empresa com a checagem do maior número já cadastrado para ela)
Assim não há problema e deve ser seguido para todos os demais cadastros veja:
DEPARTAMENTOS
IDDepto
IDEmpresa
Você pode ter vários departamentos diferentes em cada empresa, ou até em filiais, pois uma filial pode não ter RH, Compras, etc.. que fica tudo na matriz (viu como sendo do mesmo ramo há diferenças)?
se todos os cadastros tem chave dupla, é impossÃvel haver redundância e você tem um sistema flexÃvel. Se seu cadastro for genérico então é mais fácil
O que pode fazer, no caso de dados especÃficos em algum cadastro é ter tabelas auxiliares para eles.
Quando você cadastra um produto não tem que fazer isso também? Veja:
TABELA PRODUTOS
IDProduto
IDFornecedor
se não fizer isso terá problemas, pois podem existir n fornecedores com os mesmo tipo de produto e com preços e condições diferentes, tanto a nÃvel de quantidades fornecidas (Lotes) como outros descritivos.
Espero ter ajudado.
Em informática há muitos caminhos para atingir o mesmo objetivo, mas cada um tem suas consequências e benefÃcios:
- alguns são complexos e difÃceis de dar manutenção, deixam o aplicativo enorme, lento, etc..
- outros são limitados para a situação atual, se mudar algo tem que reformular tudo e da muito trabalho com perda de dados/trabalho as vezes
O ideal é pensar em algo mais amplo e genérico, não importa se hoje só tem 2 empresas e do mesmo seguimento. Imagina amanhã seu cliente compra outra empresa de mesmo ramo, mas de produtos diferentes? Então como ficaria se seu sistema foi projetado para atender só duas empresas ?
Se for genérico, não interessa se entrar mais uma ou 100, do mesmo ramo ou de outros, tudo irá funcionar, basta implementar os devidos cadastros já que o sistema é o mesmo e foi projetado assim.
Por isso lhe disse do cadastro chave IDEmpresa + IDPedido (IDempresa é a tabela de empresas) e IDPedido cadastro de pedidos, assim NUNCA existirá repetição de números como citou.
Veja que a tabela VENDAS terá
IDPedido
IDEmpresa
IDPedidoEmpresa(este terá a sequência de cada pedido de uma empresa com a checagem do maior número já cadastrado para ela)
Assim não há problema e deve ser seguido para todos os demais cadastros veja:
DEPARTAMENTOS
IDDepto
IDEmpresa
Você pode ter vários departamentos diferentes em cada empresa, ou até em filiais, pois uma filial pode não ter RH, Compras, etc.. que fica tudo na matriz (viu como sendo do mesmo ramo há diferenças)?
se todos os cadastros tem chave dupla, é impossÃvel haver redundância e você tem um sistema flexÃvel. Se seu cadastro for genérico então é mais fácil
O que pode fazer, no caso de dados especÃficos em algum cadastro é ter tabelas auxiliares para eles.
Quando você cadastra um produto não tem que fazer isso também? Veja:
TABELA PRODUTOS
IDProduto
IDFornecedor
se não fizer isso terá problemas, pois podem existir n fornecedores com os mesmo tipo de produto e com preços e condições diferentes, tanto a nÃvel de quantidades fornecidas (Lotes) como outros descritivos.
Espero ter ajudado.
ótima julianopan, bem nesta;
apenas controlar se o registro sera um código unico ou será replicado para cada das empresas;
ex: nfe sera um para cada empresa;
pedido pode ser um unico para todas;
apenas controlar se o registro sera um código unico ou será replicado para cada das empresas;
ex: nfe sera um para cada empresa;
pedido pode ser um unico para todas;
Galera, entendi as recomentações do pessoal.
Seguinte para sistema uni-empresa, faço as restrições de usuário com vários CheckBoxes marcando todas opções do sistema.
Com sistema multi-empresa como funciona ?
Voces criam uma tabela de usuário e outra de autorizações do usuário, para cada registro uma empresa ?
Se a resposta acima for sim, como voces fazem cado o usuário tenha acessos diferentes em cada empresa ? Pensei em uma tabControl para cada empresa e o usuário vai marcando em cada empresa as permissões. Porém não vai dar para ter padrão na hora de salvar no BD.
Seguinte para sistema uni-empresa, faço as restrições de usuário com vários CheckBoxes marcando todas opções do sistema.
Com sistema multi-empresa como funciona ?
Voces criam uma tabela de usuário e outra de autorizações do usuário, para cada registro uma empresa ?
Se a resposta acima for sim, como voces fazem cado o usuário tenha acessos diferentes em cada empresa ? Pensei em uma tabControl para cada empresa e o usuário vai marcando em cada empresa as permissões. Porém não vai dar para ter padrão na hora de salvar no BD.
Faça seu login para responder