NUMERACAO DE NFE
Bom dia galera.
Queria a ajuda de voces com relação a numeração de NFe.
Tenho um sistema que várias pessoas emitem nota simultaneamente, entao eventualmente tenho problemas de duplicidade de NFe.
Já tentei de algumas formas evitar o problema, mas o máximo que consegui foi diminuir a frequencia com que o problema ocorre.
Alguem tem alguma solução definitiva para isto e que possa compartilhar conosco ?
Queria a ajuda de voces com relação a numeração de NFe.
Tenho um sistema que várias pessoas emitem nota simultaneamente, entao eventualmente tenho problemas de duplicidade de NFe.
Já tentei de algumas formas evitar o problema, mas o máximo que consegui foi diminuir a frequencia com que o problema ocorre.
Alguem tem alguma solução definitiva para isto e que possa compartilhar conosco ?
QUAL BANCO DE DADOS ESTA USANDO ?
Utilizo MySQL
SELECT IFNULL(MAX(t.NUMERONFE) + 1, 1) FROM TABELANFE t
SELECT LAST_INSERT_ID()
DA UMA OLHADA
SELECT LAST_INSERT_ID()
DA UMA OLHADA
Assim nao funciona colega, pois minha coluna de número da nota não é autoincrement.
O jeito que fiz é assim
select campo from tabelanfe order by numerodesc
numeronovo = campo + 1
Porém se dois usuários clicam no exato mesmo momento ocorre o problema de gerar dois numeros iguais
O jeito que fiz é assim
select campo from tabelanfe order by numerodesc
numeronovo = campo + 1
Porém se dois usuários clicam no exato mesmo momento ocorre o problema de gerar dois numeros iguais
VC CRIA UM COLUNA AUTONUMERICA E VC VC UTILIZA ESTA INSTRUÇÃO PRA GRAVAR O NUMERO DA NFE
(SELECT IFNULL(MAX(t.NUMERONFE) + 1, 1) FROM TABELANFE t)
DEPOIS DA NFE CADASTRADA VC BUSCA O NUMERO DELA COM ESTA INSTRUÇÃO
ULTIMOID = SELECT LAST_INSERT_ID()
SELECT NUMERONFE FROM TABALENFE WHERE ULTIMOID = LAST_INSERT_ID()
(SELECT IFNULL(MAX(t.NUMERONFE) + 1, 1) FROM TABELANFE t)
DEPOIS DA NFE CADASTRADA VC BUSCA O NUMERO DELA COM ESTA INSTRUÇÃO
ULTIMOID = SELECT LAST_INSERT_ID()
SELECT NUMERONFE FROM TABALENFE WHERE ULTIMOID = LAST_INSERT_ID()
Cara, ainda não entendi como isso poderia me ajudar.
Outra coisa, o número da nfe não gera assim que o registro é salvo. Ele é salvo e depois atualizado com o número da NFe quando o usuário gera o XML.
Outra coisa, o número da nfe não gera assim que o registro é salvo. Ele é salvo e depois atualizado com o número da NFe quando o usuário gera o XML.
e como vc faz pra gerar sua chave de acesso ?
entao e so pegar o numero da nfe que faz parte da chave de acesso e gravar este numero
Colega, acredito que não ficou claro o porque estou tendo este problema.
Meu sistema tem uma balança que gera a nota fiscal através do peso de um caminhão e um pedido que tem os componentes que irao para os itens da nota.
Ok até ai, porém o sistema tambem tem uma função de emissao de notas fiscais sem esta automatização na balança, de forma manual totalmente.
Em ambos os casos eu gravo o cabeçalho, os itens(todos relacionados atraves de um ID autoincrement) e apenas ao usuário clicar em GERAR XML e depois > Emitir NFe que o sistema pesquisa todos os numeros de nfe anteriores e gera o numero deste registro que eu tenho o ID. A partir dai eu gero a chave de acesso, o xml etc.
Meu problema esta com esta questão das notas geradas no exato mesmo momento. Duas pessoas clicam em gerar Emitir NFe na mesma hora, ai o sistema por exemplo gera duas notas de número 100.
Meu sistema tem uma balança que gera a nota fiscal através do peso de um caminhão e um pedido que tem os componentes que irao para os itens da nota.
Ok até ai, porém o sistema tambem tem uma função de emissao de notas fiscais sem esta automatização na balança, de forma manual totalmente.
Em ambos os casos eu gravo o cabeçalho, os itens(todos relacionados atraves de um ID autoincrement) e apenas ao usuário clicar em GERAR XML e depois > Emitir NFe que o sistema pesquisa todos os numeros de nfe anteriores e gera o numero deste registro que eu tenho o ID. A partir dai eu gero a chave de acesso, o xml etc.
Meu problema esta com esta questão das notas geradas no exato mesmo momento. Duas pessoas clicam em gerar Emitir NFe na mesma hora, ai o sistema por exemplo gera duas notas de número 100.
EU FAÇO DE SEGUINTE MANEIRA, EU GRAVO OS DADOS DA NFE PRIMEIRO PRA DEPOIS GERAR O XML, POIS QUANDO GRAVO OS DADOS OUTRO USUÃRIO NÃO CONSEGUE PEGAR O MESMO NUMERO, VC APENAS GERA O XML MAS NÃO BLOQUEIA A NUMERAÇÃO, E SE O USUÃRIO DEMORAR EMITIR A NFE OUTRO USUÃRIO PODERà PEGAR O MESMO NUMERO E ISSO Né ?
Tópico encerrado , respostas não são mais permitidas