- Criado por Sergio Luis De Alcantara Silveira, última alteração em 01 jun, 2015

Objetivo
Permitir que o cadastramento de parâmetros do sistema (dicionário SX6) possa ser efetuado considerando a máscara da gestão de empresas.
Definição da Regra de Negócio
O dicionário de parâmetros permite o cadastramento de parâmetros usando o campo filial em branco (situação padrão) e filial preenchida (caso específico).
O preenchimento da filial permite que um mesmo parâmetro possa ser cadastrado em filiais diferentes com conteúdos diferentes. O sistema sempre efetua primeiro a busca pela filial corrente para depois pesquisar o parâmetro buscando a filial em branco.
Com o advento do recurso de gestão de empresas, no entanto, ficou mais trabalhoso operar com parâmetros por filial. Isso porque, assim como em outras tabelas, o campo filial do cadastro de parâmetros aumentou de tamanho e pode armazenar um código concatenado contendo código da empresa + código da unidade de negócio + código da filial (a situação real pode variar em função da máscara utilizada na gestão de empresas).
Caso o usuário desejasse atribuir um parâmetro específico para uma empresa que possuísse 2 unidades de negócios e 10 filiais, o parâmetro deveria ser cadastrado 10 vezes, e o código completo da filial (composição de empresa + unidade + filial) deveria ser registrado em cada um deles.
Através do recurso de cadastramento de parâmetros para gestão de empresas, é possível informar um parâmetro considerando a máscara do campo filial, preenchendo apenas os níveis que se deseja especificar e mantendo o restante da máscara em branco.
Fluxo do Processo
Casos de Uso
Exemplo: no grupo de empresas hipotético X a máscara da gestão de empresas está definida da seguinte forma: 2 dígitos para o código da empresa, 2 dígitos para o código da unidade de negócio e 3 dígitos para o código da filial.
O Protheus define internamente a máscara da gestão de empresas como EEUUFFF. Todos os campos filial do sistema devem ser gravados respeitando essa formatação.
O grupo de empresas X possui 2 empresas.
A empresa 01 está localizada em São Paulo e possui 2 unidades de negócio e um total de 10 filiais.
A empresa 02 está localizada no Rio de Janeiro e possui 3 unidades de negócio e um total de 8 filiais.
O grupo X precisa informar o parâmetro MV_ESTADO (sigla da unidade federativa) adequadamente para que suas empresas calculem corretamente os impostos. No modelo tradicional, seria necessário cadastrar 10 vezes o parâmetro MV_ESTADO com conteúdo “SP” e informar o código completo de cada filial da empresa 01, e cadastrar 8 vezes o parâmetro MV_ESTADO com conteúdo “RJ” e informar o código completo de cada filial da empresa 02.
No novo modelo, é possível preencher parcialmente o campo filial dos parâmetros, informando apenas o código da empresa e mantendo o restante da informação em branco.
No caso hipotético, seria necessário cadastrar apenas duas vezes o parâmetro MV_ESTADO, como segue:
FILIAL | CONTEÚDO |
---|---|
01 | SP |
02 | RJ |
No exemplo acima, o campo filial é preenchido com o código da empresa ( 01 ou 02 ) alinhado à esquerda, e o restante dos caracteres em branco.
Seria possível também definir outras situações, como um parâmetro para uma filial específica ( Campinas ou Resende ), ou por unidade de negócio. No caso de parâmetro por unidade de negócio, seriam preenchidos os 4 primeiros dígitos do campo filial (2 para a filial mais 2 para a unidade de negócio).
A pesquisa por um parâmetro possui uma prioridade de busca. A definição abaixo é para um layout configurado com empresas, unidades de negócio e filiais.
- Primeiro consulta a Filial completa ( empresa + unidade + filial ) preenchidos
- Em seguida consulta a empresa + unidade preenchidas e filial em branco
- Em seguida consulta a empresa preenchida e restante do campo em branco
- Finalmente pesquisa todo o campo filial em branco
Ou seja, sempre a informação de exceção tem prioridade sobre a informação genérica. Se o parâmetro desejado for encontrado em qualquer um dos níveis da pesquisa, a pesquisa cessa e o registro encontrado será o considerado pelo sistema.
Observação: o novo recurso estará presente nas funções de manipulação de parâmetros oficiais do Framework Protheus, a saber:
- GETMV()
- SuperGetMV()
- GetNewPar()
- PutMV()
O recurso não funcionará em funções não oficiais ou que façam consultas diretas ao dicionário SX6.
Atenção: para uso deste recurso na versão 11 pode ser necessária a atualização do binário e pacote de LIB.
Status do documento | Concluído |
---|---|
Data | 26/02/2015 |
Versão | 1.0 |
Versão anterior | 1.0 |
Autores |
- Sem rótulos