- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Geração Automática do código de fornecedor utilizando arquivo SXE e SXF
×
Linguagem de Programação ADVPL
Perguntas Geração Automática do código de fornecedor utilizando arquivo SXE e SXF
- lucas.freitas73
- Autor do Tópico
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 1
- Obrigados Recebidos: 0
10 anos 5 meses atrás #23562
por lucas.freitas73
Geração Automática do código de fornecedor utilizando arquivo SXE e SXF foi criado por lucas.freitas73
Bom dia !!
No sistema onde trabalho, na rotina de cadastro de fornecedores MA020, no ato da inclusão do fornecedor, o código é gerado automaticamente.. O que está acontecendo , é que as vezes o código pula, ex: ultimo fornecedor cadastrado tem o código = "0001", o próximo vem com o "0004",e algumas vezes o sistema recupera os números que foram saltados e o sequencial volta ao normal.
Essa implementação da geração do código automático foi feita por uma equipe já se desligou, então estou tentando entender como funciona ela para tentar solucionar esse problema do código estar "pulando".
Percebi que o código do fornecedor que é gerado, vem dos arquivos "SXE" e "SXF" , e quando o sequencial pula, acessando o arquivo SXF e vejo que os próximos códigos, e consigo perceber se o sistema vai recuperar os códigos ou não.
Acessando o inicializador padrão do campo A2_COD(Código do fornecedor), percebi que tem uma função : GetSXENum("SA2","A2_COD").
Apenas colocando essa função no inicializador padrão eu já automatizo o código do fornecedor? Os Arquivos SXE e SXF já geram essa numeração automaticamente? ou teria alguma forma de eu acessar como esse código é gerado e fazer uma tratativa para ver se realmente ele está respeitando o sequencial?
** Lembrando que o problema acontece aparentemente quando duas pessoas incluem um fornecedor "ao mesmo tempo" , e que também usamos a numeração automatica pelo Hardlock!
** Entendi que os arquivos SXE e SXF gerão a numeração automatica, mas gostaria de saber se isso é feito automaticamente pelo sistema, ou se no ato de inclusão da função GETSXENUM para o código do fornecedor, além de editar o inicializador padrão do código do fornecedor, teria uma função por tráz disso, exemplo:
" a função verifica o ultimo registro no banco de dados , pega o código dele e incrementa de 1 e o código que será gerado pelo novo fornecedor será esse", ou o controle e esses cálculos já são feitos pelos arquivos SXE e SXF automaticamente?
No sistema onde trabalho, na rotina de cadastro de fornecedores MA020, no ato da inclusão do fornecedor, o código é gerado automaticamente.. O que está acontecendo , é que as vezes o código pula, ex: ultimo fornecedor cadastrado tem o código = "0001", o próximo vem com o "0004",e algumas vezes o sistema recupera os números que foram saltados e o sequencial volta ao normal.
Essa implementação da geração do código automático foi feita por uma equipe já se desligou, então estou tentando entender como funciona ela para tentar solucionar esse problema do código estar "pulando".
Percebi que o código do fornecedor que é gerado, vem dos arquivos "SXE" e "SXF" , e quando o sequencial pula, acessando o arquivo SXF e vejo que os próximos códigos, e consigo perceber se o sistema vai recuperar os códigos ou não.
Acessando o inicializador padrão do campo A2_COD(Código do fornecedor), percebi que tem uma função : GetSXENum("SA2","A2_COD").
Apenas colocando essa função no inicializador padrão eu já automatizo o código do fornecedor? Os Arquivos SXE e SXF já geram essa numeração automaticamente? ou teria alguma forma de eu acessar como esse código é gerado e fazer uma tratativa para ver se realmente ele está respeitando o sequencial?
** Lembrando que o problema acontece aparentemente quando duas pessoas incluem um fornecedor "ao mesmo tempo" , e que também usamos a numeração automatica pelo Hardlock!
** Entendi que os arquivos SXE e SXF gerão a numeração automatica, mas gostaria de saber se isso é feito automaticamente pelo sistema, ou se no ato de inclusão da função GETSXENUM para o código do fornecedor, além de editar o inicializador padrão do código do fornecedor, teria uma função por tráz disso, exemplo:
" a função verifica o ultimo registro no banco de dados , pega o código dele e incrementa de 1 e o código que será gerado pelo novo fornecedor será esse", ou o controle e esses cálculos já são feitos pelos arquivos SXE e SXF automaticamente?
Por favor Acessar ou Registrar para participar da conversa.
- msilverio
- Desconectado
- Membro Iniciado
Menos
Mais
- Postagens: 4
- Obrigados Recebidos: 0
10 anos 5 meses atrás #23564
por msilverio
Respondido por msilverio no tópico Geração Automática do código de fornecedor utilizando arquivo SXE e SXF
Saudações Lucas,
Uma sugestão, que talvez resolveria seus problemas.
Aqui como em outra implantações, o Código do Fornecedor ou Código do Cliente deixando como sendo as primeiras posições do CNPJ assim você nunca terá problema para inclusão de fornecedores, já que mesmo que um fornecedor tenha vários CNPJ o sistema entenderá a raiz do CNPJ como código e a loja o final do número como Loja.
Exemplo:
99.999.999/0001-99 = código = 99999999 e loja 0001 se tivesse outro CNPJ seria
99.999.999/0065-01 = código = 99999999 e loja 0065
E assim sucessivamente!...
Uma sugestão, que talvez resolveria seus problemas.
Aqui como em outra implantações, o Código do Fornecedor ou Código do Cliente deixando como sendo as primeiras posições do CNPJ assim você nunca terá problema para inclusão de fornecedores, já que mesmo que um fornecedor tenha vários CNPJ o sistema entenderá a raiz do CNPJ como código e a loja o final do número como Loja.
Exemplo:
99.999.999/0001-99 = código = 99999999 e loja 0001 se tivesse outro CNPJ seria
99.999.999/0065-01 = código = 99999999 e loja 0065
E assim sucessivamente!...
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Geração Automática do código de fornecedor utilizando arquivo SXE e SXF
Tempo para a criação da página:0.106 segundos