Alguém já usou a macro sc_select_where(add)?

A intenção é fazer um sistema multi-empresa:
1 sistema hospedado
1 banco
Várias empresas, cada uma com seus users diferentes.

Criar uma tabela para manter os dados das empresas e usar o ID nos filtros do sistema inteiro?
Um campo a mais na tela de login, pro usuário digitar o código único da empresa, o login e senha.

Depois disso o sistema cuidar de todos os filtros pra não haver conflito de dados, é possível?
Meu receio é com as pesquisas nas grids, além dos quicksearchs.
Alguém arriscaria ou já fez algo assim no SC6?

Vou ter trabalho dobrado com isso, mas a intenção é ajudar meu cliente, que quer um sistema pra sublocar pra os clientes dele.
Fiquei imaginando o trabalho que seria manter atualizados X sistemas e X bancos…

Caso alguém já tenha usando a macro “sc_select_where(add)” poderia me dar uma luz?

E como ficariam as PK’s de cada tabela? Tenho mania de usar autoincrement (mysql). Pergunto isso pq pra certos clientes, como oficina por exemplo, o pessoal prefere decorar os grupos de peças pelo código, e se não ficar na sequência fica feio e o cliente reclama (com razão).

Tenho pouco tempo pra definir isso, se alguém puder ajudar com sugestões e experiências eu agradeço demais.
Rodrigo

eu colocaria o where empresa=[empresa_id] nos selects principais das aplicações e em todos os lookups existentes.

Haroldo, obrigado pela resposta.

Minha preocupação maior é se o SC vai respeitar isso quando o usuário fizer uma pesquisa qualquer. Você tem certeza que ele restringe a pesquisa ao set inicial da consulta?

O sistema vai ter umas 50 tabelas, se o sc vacilar em algum ponto, esse esforço vai por água abaixo.

Rodrigo

Se sua modelagem estiver bem feita, vai sim funcionar direitinho, nao poderá esquecer que cada app deve filtrar a empresa e todos lookups internos tambem.

Beleza Haroldo, obrigado pela dica!

Manter uma tabela com o último sequencial de cada tabela/cliente é um trabalho a mais, vc faria dessa forma?

Nao. Id autoincrement em cada tabela

Vc acha desnecessário o cliente manter uma codificação própria, por exemplo, sua lista de clientes não terem um código sequencial?
Se eu usar autoincremento, os números de cada cliente não seguem uma sequência.

Você pode criar um sequencial para cada cliente, mas o relacionamento entre as tabelas faça pelo id autoincremento, crie um campo para controlar seu id por cliente.

Beleza, estava imaginando isso mesmo, mas tava protelando pra ter esse trabalho a mais.
Valeu a atenção!