Ir para conteúdo
  • Cadastre-se

dev botao

Recommended Posts

Postado

Olá pessoal,

Temos no nosso sistema a emissão de notas fiscais de serviços NFS-e para alguns provedores e esta funcionando normalmente. O problema é que quando usávamos o componente antigo 'TACBrNFSe' a gente tinha um tratamento la na emissão da NFS-e que fazia com que caso a nota fiscal já estivesse constando no provedor, o sistema já puxasse os dados da nota automaticamente sem dar aqueles tipos de mensagens de erro dizendo que a nota ja foi transmitida (explicando... logicamente ao emitir a nota fiscal, o próximo passo é gravar a informação na base de dados do nosso sistema de forma que o sistema não tente transmitir 2 ou mais vezes a mesma nota, mas imagina que por algum motivo como uma queda de energia faça com que a nota seja emitida/transmitida porém antes de gravar as informações na base de dados tenha ocorrido a queda de energia). Aí vai gerar essa situação onde a nota consta no provedor mas não consta na nossa base de dados por isso existe esse tratamento para quando dá esse tipo de erro o sistema, após carregar os dados da nota fiscal no componente vá para uma procedure que com base nesses dados, grave a nota na nossa base de dados. No arquivo em anexo tem o exemplo. Porém agora que estamos utilizando o componente 'TACBrNFSeX' não estou conseguindo utilizar o mesmo raciocínio para implementar isso pois no componente novo não me retorna o 'NumeroLote' e nem o 'Protocolo'. Alguma idéia de como implementar isso no componente 'TACBrNFSeX'? No exemplo do arquivo em anexo (rotina antiga) estamos implementando isso para o provedor 'proAssessorPublico' porém no caso aqui o cliente pediu para fazer no provedor 'proRLZ' mas creio que a lógica deve ser a mesma. 

DocumentoFiscalServicosENVIAR.txt

Postado

Sim, mas no método 'AcbrNFSEX.ConsultarLoteRps' é exigido passar por parametro o 'Protocolo' e o 'Lote' e ai de onde eu vou pegar essa informação? Lembra que se trata de um caso onde não deu tempo de gravar a informação na base de dados pois caiu a energia do computador ou ocorreu um travamento do computador, por exemplo.

  • Moderadores
Postado
16 horas atrás, André Melim disse:

to la na emissão da NFS-e que fazia com que caso a nota fiscal já estivesse constando no provedor, o sistema já puxasse os dados da nota automaticamente sem dar aqueles tipos de mensagens de erro dizendo que a nota ja foi transmitida (explic

poste trecho do seu código antigo pra entender

a não ser que umas das outras consultas consiga fazer isso , buscando por faixa de numeração

image.png

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Postado

No arquivo txt em anexo tem o trecho de código onde quando da erro na transmissão da nfs-e o sistema verifica no trecho da mensagem de erro e se for ref. a 'nota ja consta no provedor' então o sistema usa o comando 'ConsultarLoteRps' para consultar a nota la no provedor pelo 'NumeroLote' e 'Protocolo' que retornou no componente para que os dados da nota sejam carregados para o componente e com isso se consiga gravar os dados da nota na base de dados do sistema, foi o que pude entender desse código fonte. Basicamente seria essa a ideia, ou seja, se a nota de serviço que estou tentando enviar ja existe la no provedor eu preciso trazer as informações dessa nota de serviço pra gravar na base de dados para contornar a situação onde por exemplo caiu a energia entre o tempo de enviar a nota e gravar nas tabelas do sistema (coisa que o sistema ja faz normalmente). Note que como houve a queda de energia apos o envio eu nao tenho nenhuma informação pra enviar para o comando de consulta, teria que ser algo que o componente devolve no resultado da tentativa de transmissao.

DocumentoFiscalServicosENVIAR.txt

Postado

Resumindo... ao emitir a nfs-e, caso a nota ja exista la no provedor (ja tenha sido transmitida anteriormente) o componente AcbrNFSEX teria que retornar alguma informação (Numero de Protocolo, Numero da Nota, etc) através da qual eu possa utiliza-la para consultar essa nota de forma a preencher o componente com as informações dessa nota para que eu possa salvar ela no meu banco de dados.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.