Ao preparar o Documento de saída o sistema gera erro
Produto: | Protheus® |
Módulo: | SIGAFAT - Faturamento |
Ocorrência: | Ao preparar o Documento de saída o sistema gera erro Primary Key violation in SE1, please contact your administrator on CHKE1NOTA(MATXFUNA.PRX) |
Ambiente | Todos |
Índice
Conceito
Ao preparar o Documento de saída o sistema gera erro Primary Key violation in SE1, please contact your administrator on CHKE1NOTA(MATXFUNA.PRX)
- Observação: Ocorre inclusive ao utilizar um TES que não gera duplicata visto que as verificações da numeração da nota e série são feitas no início do processamento da geração da nota fiscal, onde são verificados os registros dos livros ficais (SF3), notas canceladas (SF3), notas fiscais de saída (SF2), títulos a receber (SE1) e notas fiscais de entrada (SF1) para verificar se não existem registros com o mesmo número e série. O controle da validação neste momento não pode ser baseado no TES do item, pois no momento da geração da nota fiscal é possível marcar / desmarcar vários itens de pedidos diferentes e com TES diferentes.
Primary Key violation in SE1, please contact your administrator on CHKE1NOTA(MATXFUNA.PRX)
Erro exibido quando utiliza o Financeiro Compartilhado entre filiais; porém, com movimentos de Saída (contas a receber) Exclusivos
Ou seja, possui "apenas uma SE1" para receber os títulos gerados por "n" Filiais. Chega um momento em que há duplicidade no número dos títulos (pois são gerados cada um de uma Filial).
Considerações
O compartilhamento Nativo do Protheus não causa este problema.
Ocorre apenas se o modo de compartilhamento das tabelas é modificado (geralmente na implantação para atender à gestão de negócios) sem considerar a criação das chaves primárias.
Há duas opções para que o problema não ocorra:
- Alterar o compartilhamento das Tabelas de forma que o Financeiro e o Faturamento estejam compatíveis (ou ambos compartilhados, ou ambos exclusivos).
Se for uma base antiga, já com muitos dados é provável que não seja uma opção viável para sua base. Avalie a opção seguinte.
- Customizar a geração do Prefixo do titulo, de forma que cada Filial gere um prefixo. Assim os títulos são gerados com numeração diferente:
Para utilizar o Financeiro Compartilhado entre filiais, com movimentos de Saída (contas a receber) Exclusivos, é necessário tratar o parâmetro MV_1DUPREF por filial para formação da chave primária com prefixo diferente para que não ocorra erro de chave duplicada na SE1
Para esta alternativa, o tratamento é realizado por uma expressão ADVPL chamada por ExecBlock conforme exemplificado no link: https://interno.totvs.com/mktfiles/tdiportais/helponlineprotheus/p12/portuguese/sigafin_integracao_modulos_materiais.htm
OBSERVAÇÃO 1:
OBSERVAÇÃO 2:
Este parâmetro é macro executável logo, para customizar a geração do Prefixo do titulo, de forma que cada Filial gere um prefixo diferente, deve informar um rdmake customizado chamado por U_FUNCAO() (Ao invés de receber a expressão ADVPL SF2->SERIE) no qual contenha a regra em ADVPL para geração de prefixo.
Obs: Havendo dificuldade neste sentido, contate nosso Suporte a Equipe Protheus ADVPL.
O link da página acima também pode ser acessado via arquivo anexo: Sigafin_integracao_modulos_materiais.htm.docx
OBSERVAÇÃO 3:
Caso seja alterado o comportamento padrão do sistema na gravação do E1_PREFIXO alterando o conteúdo do parâmetro MV_1DUPREF é necessário também tratar a Exclusão do Documento de Saída MATA521 a qual usa como referência na busca dos títulos a numeração e serie da nota, para esse tratamento sugerimos avaliar os seguintes Pontos de Entrada:
Sugestões
Gostaria de sugerir uma implementação diferente ou uma melhoria nessa documentação? Abra um ticket para nós, a Equipe Faturamento (SIGAFAT)!
Assuntos e materiais relacionados:
Sigafin_integracao_modulos_materiais.htm.docx