Histórico da Página
Ajuste de Controle de Numeração automática
Produto: | Microsiga Protheus |
Ocorrência: | Procedimentos para ajustar o Controle de Numeração automática de Tabelas (ALIAS) diversos no Protheus |
Ambiente: | SIGAFAT - Faturamento |
CONTROLE DE NUMERAÇÃO AUTOMÁTICA PARA TABELAS (ALIAS) DIVERSAS POR SXE/SXF ou HARDLOCK / LICENSE SERVER OBSERVAÇÃO: O controle de numeração do Protheus utiliza a sequência conforme Tabela ASCII IMPORTANTE: No PROTHEUS 12 o controle deve ser somente via License Server. Para validar em seu ambiente, consulte abaixo. Validação do Controle de Numeração Como está definido o controle(ENABLENUMER)? É pelo License Server ou pelo SXE e SXF? Para analisar como é controlada, verificar como está configurado na sessão [licenseserver] - chave EnableNumber: Ex ENABLENUMBER= 0 = SXE e SXF Seguir esta ordem de verificação para acerto de numeração automática: 1 - Usuário ADMIN O usuário que inicializa o serviço do Protheus Server (que usa License Server (hardlock)) deve ser o ADMINISTRADOR. Se estiver ok, passe ao item seguinte. 2 - Pasta SYSTEM 2.1. SXE e SXF ou Hardlock. Mais de uma pasta System = USO OBRIGATÓRIO DE HARDLOCK. NÃO FUNCIONA com SXE e SXF para mais de um SYSTEM. 2.2. Possui mais de um ambiente apontando para o mesmo banco de dados e o mesmo License Server (configuração no ini do server) como por exemplo ambiente Produção e Teste? É necessário: a) Obrigatório uso da chave SpecialKey (detalhes em http://tdn.totvs.com/display/tec/SpecialKey). Exemplo: [ENVDBF] SourcePath=C:\Protheus10\APO\R13 RootPath=C:\Protheus10\Protheus_Data\R13 StartPath=\system\\13 x2_path= RpoDb=dbf RpoLanguage=portuguese RpoVersion=101 LocalFiles=ads Trace=0 localdbextension=.dbf SPECIALKEY=ENVDBF com a chave CheckSpecialKey [general] CheckSpecialKey=0 b) Ambientes DIFERENTES. Ambiente DBF: Se os ambientes forem DBF/CDX eles devem apontar para endereços no X2_PATH, obrigatoriamente, diferentes. Ambiente TOP: Se os ambientes forem TOPConnect/TOTVSDBAcess, os alias dos ambientes devem ser, obrigatoriamente, diferentes. Se 2.1 e 2.2 estiverem ok, passe ao item seguinte. 3 - Configuração do Campo para geração de número automático Para que, por exemplo, o cadastro de clientes, traga na inclusão automaticamente o próximo número disponível, utiliza-se a seguinte sintaxe no inicializador padrão do campo A1_COD: GetSx8Num("SA1","A1_COD"). Validar se o X3 está com esta informação no inicializador padrão! Na maioria das vezes o inicializador padrão do campo está cadastrado como: GetSx8Num("SA1"). (Observação: Veja também se a configuração não está Nativa do módulo SIGALOJA: SIGALOJA Geração do código de cliente a partir do CPF/CNPJ) Quando uma tabela tiver MAIS DE UM CAMPO com numeração automática, a função deve estar conforme exemplo: CAMPO: A1_COD û GETSXENUM(SA1, A1_COD, A1_COD)
Se estiver ok, passe ao item seguinte. 4 - Procedimento para Acerto de Numeração Automática IMPORTANTE: Quando a numeração é controlada pelo License Server (antigo HARDLOCK), ao reiniciar o License Server "está se perdendo na numeração".
Conferência: Verifique na tabela em questão qual é a maior numeração já gerada na Tabela (ou qual a última numeração gerada na sequência que deseja dar contiuidade) - Exemplo: 000100 4.1. Ajuste SXE / SXF - Na tabela SXF - deixe o campo do código com o próximo número a ser gerado - Exemplo: 000101 - Na tabela SXE - deixe o campo do código com SXF+1 - Exemplo: 000102 - Deixe apenas uma linha para o ALIAS tanto na SXF quanto na SXE. Se houver outras linhas, delete. 4.2. Ajuste LICENSE SERVER a) Inclusão da rotina APCFG110 no MENU - Configurador SIGACFG > Ambiente > Ccadastro > Menu; - Selecionar somente o menu no configurador clicar em OK; - Adicionar o menu para a coluna "novo menu"; - Selecionar onde deverá ser salva a rotina - Clicar em novo item - Preencher o nome em port/ ingl e esp - Em "programa" APCFG110 selecionar o módulo de configurador clicar em ok - Gerar como sigacfg/ sair do configurador e entrar novamente para visualizar a nova rotina OBS: A rotina APCFG110 também pode ser consultada executando a fórmula: apcfg110() em campo macro executável como por exemplo campo CT5_VLR01 b) Linhas únicas por ALIAS / Filial - Verificar na rotina APCFG110 a sessão "Próximos números" e principalmente a sessão "EM USO". Deverá conter apenas uma linha para cada ALIAS (por Filial). Exemplo, ALIAS SC5, pode haver apenas uma linha de numeração para a SC5 para cada Filial. Caso esteja exibindo mais de uma linha para o mesmo ALIAS, reiniciar o License Server. c) Correção - Na sessão "Números em uso / números liberados" deixe o campo do código com o próximo número a ser gerado - Exemplo: 000101 - Na sessão "Próximos números" deixe o campo do código com +1 - Exemplo: 000102 5 - Nota complementar sobre Uso simultâneo O uso simultâneo da Tabela faz com que o sistema se comporte de forma a atender todas as chamadas de numeração. O resultado da ordem da numeração está sujeito à efetivação realizada pelo usuário que a reservou. A reserva de numeração compromete a ordem quando há mais de um usuário manipulando a tabela ao mesmo tempo, se determinado usuário já reservou a numeração e não efetivou o registro, após um segundo usuário ter reservado a numeração seguinte; podendo ocasionar em duplicidade de registros na SXF para garantir todas as reservas feitas. Desta forma, a não efetivação das reservas, compromete a numeração subsequente.
| |
Pode lhe interessar: | FAT0049 Controle de Numeração de Documento de saída no Protheus |