Três empresas num sistema só !
Moderador: Moderadores
- Alessandr0sp
- Usuário Nível 1

- Mensagens: 5
- Registrado em: 28 Jul 2007 21:45
- Localização: Dom Pedrito - RS
Três empresas num sistema só !
Pessoal, sou no vo na programação e me deparei com a seguinte situação: Estou fazendo um sistema para uma empresa a qual possui um escritório q administra outras duas filiais (total 3 empresas). O solicitado é q o sistema administre as tres empresas, e estou com uma dúvida em como proceder. Crio um BD único (sepacarando cada empresa por local através da inclusao de um campo "LOCAL") ou subdivido em diretórios contendo os mesmos DBF com os registros das respectivas empresas, no caso filial 01 ->> C:\sistema\emp01\"dbf's".
Olá. Seja bem-vindo.
Particularmente, em sistemas multi-empresa, prefiro manter tudo bem separado, em diretórios separados, inclusive. Até porque, os dados de uma empresa podem se acumular em demasia. Isso nem é tanto problema, dependendo da natureza dos dados. Mas sem dúvida alguma, tudo fica bem melhor organizado. No cadastramento de cada empresa eu peço para o cliente escolher um nome (apelido) que eu utilizo para seleção e separação das empresas em diretórios. Nada se mistura, tudo fica rápido e mais fácil de manter.
Particularmente, em sistemas multi-empresa, prefiro manter tudo bem separado, em diretórios separados, inclusive. Até porque, os dados de uma empresa podem se acumular em demasia. Isso nem é tanto problema, dependendo da natureza dos dados. Mas sem dúvida alguma, tudo fica bem melhor organizado. No cadastramento de cada empresa eu peço para o cliente escolher um nome (apelido) que eu utilizo para seleção e separação das empresas em diretórios. Nada se mistura, tudo fica rápido e mais fácil de manter.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Alessandr0sp
- Usuário Nível 1

- Mensagens: 5
- Registrado em: 28 Jul 2007 21:45
- Localização: Dom Pedrito - RS
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Bem Vindo ao Forum...
Tche, o que o Maligno disse é o mais correto na minha opnião...apenas completando....um sistema bem feito,bem programado...pode rodar tudo junto tambem..isso tudo vai depender de como vc vai programar... e como vc disse que é novo na programação...talvez seja uma boa vc dar uma estudada antes de como funciona sistemas monousuario, sistemas em rede e etc...para vc ter uma real noção de como vc vai ter que estruturar esse sistema que que esta desenvolvendo..
Qualquer coisa prende o grito...
Tche, o que o Maligno disse é o mais correto na minha opnião...apenas completando....um sistema bem feito,bem programado...pode rodar tudo junto tambem..isso tudo vai depender de como vc vai programar... e como vc disse que é novo na programação...talvez seja uma boa vc dar uma estudada antes de como funciona sistemas monousuario, sistemas em rede e etc...para vc ter uma real noção de como vc vai ter que estruturar esse sistema que que esta desenvolvendo..
Qualquer coisa prende o grito...
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
Isso. Exatamente como eu faço. Esqueci de dizer isso. Claro, alguns cadastros são compartilhados a fim de evitar um possível retrabalho.cadastros de clientes e fornecedores q serviriam para todas as empresas numa pasta raiz
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
filial
Eu particulamente prefiro manter todas as filiais numa unica pasta no mesmo DBF, separando pelo campo filial, criando indices temporarios com while para exibir os relatorios e filtrar os dados a ser alterado, dando a opcao ao cliente de selecionar uma ou todas as filiais nos relatorios, tendo sempre uma filial ATIVA por padrao, para que o cliente possa tanto incluir, alterar e vizualizar os dados sem ter que ficar definindo nova filial ATIVA.
Se o cliente rodar 100 relatórios desses por dia, serão 100 índices temporários por dia? Se for isso, acho que dá muito mais trabalho. Desnecessário, a meu ver.numa unica pasta no mesmo DBF, separando pelo campo filial, criando indices temporarios com while para exibir os relatorios e filtrar os dados a ser alterado
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- Alessandr0sp
- Usuário Nível 1

- Mensagens: 5
- Registrado em: 28 Jul 2007 21:45
- Localização: Dom Pedrito - RS
Eu sempre faço abertura explícita, indicando o caminho do arquivo. Nunca mudo diretório. Não acho prático.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
- sygecom
- Administrador

- Mensagens: 7131
- Registrado em: 21 Jul 2006 10:12
- Localização: Alvorada-RS
- Contato:
Ex abaixo:
No incio do sistema o usuario escolhe qual usar Filial ou Matriz....
Para usar os DBF e NTX:
O resto é Normal...
Abraços
Leonardo Machado
No incio do sistema o usuario escolhe qual usar Filial ou Matriz....
Código: Selecionar todos
IF OPCAO==1
**************
PUBLIC DADOS:="001" //pasta 001
**************
ENDIF
IF OPCAO==2
**************
PUBLIC DADOS:="002" // pasta 002
**************
ENDIF
IF OPCAO==3
**************
PUBLIC DADOS:="003" // pasta 003
**************
ENDIF
Código: Selecionar todos
USE &DADOS\CLIENTE ALIAS CLIENTE SHARED
SET INDEX TO &DADOS\CLIENTE1,&DADOS\CLIENTE2
Abraços
Leonardo Machado
Leonardo Machado
xHarbour.org + Hwgui + PostgreSql
xHarbour.org + Hwgui + PostgreSql
- Pablo César
- Usuário Nível 7

- Mensagens: 5312
- Registrado em: 31 Mai 2006 10:22
- Localização: Curitiba - Paraná
Curto e grosso, mas matou em poucas linhas. Também é válido.
Um clip-abraço !
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Pablo César Arrascaeta
Compartilhe suas dúvidas e soluções com todos os colegas aqui do fórum.
Evite enviar as dúvidas técnicas por MPs ou eMails, assim todos iremos beneficiar-nos.
Só lembrando que, modificar um path apenas para abrir um arquivo de dados, além de ser totalmente desnecessário, é mais uma função sendo executada. Nada grave, claro. Mas o endereçamento explícito é sempre o mais indicado.
[]'s
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
Maligno
---
Não respondo questões técnicas através de MP ou eMail. Não insista.
As dúvidas devem ser postadas no fórum. Desta forma, todos poderão
se beneficiar das respostas.
---
Se um dia precisar de uma transfusão de sangue você perceberá como
é importante a figura do doador. Procure o hemocentro de sua cidade e
se informe sobre a doação de sangue, plaquetas e medula óssea. Doe!
/*
Se decidir usar em pastas, seria conveniente então criar uma funçao do tipo xFilial( nFilial ), para preparar o ambiente para trocar de filial quando for preciso, para poder interagir entre as filiais no caso do seu cliente querer ver os relatorio, baixar duplicatas, etc..., de todas as filiais como um todo
*/
Se decidir usar em pastas, seria conveniente então criar uma funçao do tipo xFilial( nFilial ), para preparar o ambiente para trocar de filial quando for preciso, para poder interagir entre as filiais no caso do seu cliente querer ver os relatorio, baixar duplicatas, etc..., de todas as filiais como um todo
*/
Código: Selecionar todos
Function xFilial( nFilial )
LOCAL aDBF, ErroAnt, xx, Erro
//colocar aqui os DBF que irao ficar separado
aDBF := { "RECEBER", "APAGAR", "COMPRA", "VENDA" }
USE Filial NEW SHAR
LOCA FOR Filial = nFilial //pode usar seek
IF !Found()
Alert("Filial " + LTrim(Str(nFilial)) + " nao cadastrada")
RETU .F.
ENDIF
//pasta F_01 - filial 1
//verifica se os arquivo da filial selecionada joi criado
FOR xx = 1 TO Len( aDBF )
IF !File("F_" + StrZero(nFilial, 2) + "\" + aDBF[ xx ])
RETU .F.
ENDIF
NEXT
ErroAnt := ErroBlock( {|e| Break(e) } )
//abre os arquivos para uso
FOR xx = 1 TO Len( aDBF )
//usar o mesmo alias para nao ter que mudar nas funcoes ja existente
BEGIN SEQU
USE ("F_" + StrZero(nFilial, 2) + "\" + aDBF[ xx ]) ALIAS (aDBF[ xx ]) NEW SHAR
RECOVER USING Erro
Alert("Erro ao aAbrir Arquivo " + aDBF[ xx ] + " na filial " + LTRim(Str(nFilial)) )
END SEQU
NEXT
ErrorBlock ( ErroAnt )
RETU .T. //chegou aqui tudo OK

