Ir para conteúdo
  • Cadastre-se

dev botao

Novos Fontes do ACBrNFSe


  • Este tópico foi criado há 3489 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa tarde Italo,

beleza, agora ficou padronizado a carga para todos os lugares necessários. Vou fazer alguns testes e qualquer

coisa lhe aviso.

Bom, como tenho trabalhado somente com o provedor Betha, hoje resolvi fazer um teste após as mudanças que fiz no

"envelopamento" e geração das mensagens para este provedor.

Atribuí "True" para a função TProvedorBetha.GetValidarLote, e para a minha surpresa, passou na validação que faz

na TWebServicesBase.DoNFSeEnviarLoteRPS.

Italo, você sugere deixar True mesmo? Creio que poderá dar problema caso os schemas da Betha forem alterados certo?

Mas aí cabe a nós observarmos e acertarmos no componente/envio o que for necessário. Estou certo?

Aguardo uma resposta. Caso for isso mesmo, se puder acertar o result da GetValidarLote da ACBrProvedorBetha, para True.

Abraço.

Rodrigo Cantelli

Link para o comentário
Compartilhar em outros sites

Italo, retorno dos testes das consultas.

Vi que você comentou uma parte na função "TACBrNFSe.ConsutarLoteRps", e

no demo adicionou a seleção do RPS no botão Consultar Lote. Acho que temos um problema aí.

A ConsultarLote estava correta, com aquela parte que faz a carga com base no número de Lote: " aPath+ANumLote+'-env-lot.xml' ".

Creio que da forma que ficou agora não está certo... não vejo porque selecionarmos um XML de RPS, uma vez que estamos consultando um lote, e já passamos o Número (para carga do arquivo e RPSs contidos no lote) e o protocolo (este para consulta).

Estou certo?

As outras cargas de arquivos.. para cancelamento e demais consultas, pelo que vi ficou perfeito agora.

Abraço.

Rodrigo Cantelli

Link para o comentário
Compartilhar em outros sites

  • Consultores

Rodrigo,

Você tem toda razão, já esta disponivel no branches.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Rodrigo,

Poste como anexo os schemas que você esta usando para validar os Lotes de RPS para o provedor Betha.

Acredito que os que tenho estão errados ou desatualizados.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Então Italo, no anexo, na pasta old são os schemas que estava usando até agora, acredito ser os mesmos que você tem.

Fora deste pasta, são os schemas que baixei agora no site da Betha.

Não encontrei os xsds de cada mensagem.

No manual da betha diz:

"O Schema XML (arquivo XSD) correspondente a cada uma das mensagens

XML de pedido e de retorno utilizadas pelo Web Service pode ser obtido na internet

acessando o Portal do Sistema de Notas Fiscais de Serviço Eletrônicas das Secretarias

Municipais de Fazenda."

Acessei o ambiente de teste, e não encontrei nada pra baixar referente aos XSDs.

Link do manual é https://e-gov.betha.com.br/e-nota/manuais/layout.pdf

Vou dar mais uma procurada nos schemas das mensagems.

Abraço.

Betha.rar

Rodrigo Cantelli

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Rafael,

Desde já muito obrigado pela colaboração.

Faça como o Rodrigo faz, compacta os arquivos usando o WinRar e poste como anexo.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Em anexo as units que mexi, comentei com o meu nome tentando explicar o porque.

na impressão da danfe e na unit de conversão tive que mudar, pois pra minha sorte o provedor do meu cliente adotou um método de validação próprio, parecido com o abrasf mas diferente no quesito da natureza de operação, então como não manjo tanto assim do componente copiei as units para o meu projeto e alterei elas com o que precisava, está funcionando, geração e envio de lote, consulta de situação de lote.

não esta funcionando a consulta de lote, e a consulta de RPS, porém entrei em contato com a prefeitura, e falaram que consultando a situação do lote, e obtendo exito o processo está concluído, isso o sistema está fazendo, então quem sou eu pra falar o contrário hehehe

estou passando pra minha aplicação, pois o cliente tem pressa em emitir a NFS-e

se mais alguém estiver desenvolvendo para o provedor Thema, gostaria de trocar experiências, pois foi bem complicado até sair do chão, acredito que posso tanto ajudar alguém como ser ajudado.

Desde já, agradeço a todos, sem a ajuda de vocês não seria possível nada disso.

ACBRProvedorThema.rar

nfse.rar

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a Todos,

Rafael, já fiz o merge das alterações realizadas por você e já esta disponivel no branches.

Notei que ainda falta finalizar algumas rotinas na unit ACBrProvedorThema.

Realizei uma alteração nos fontes, agora temos duas propriedades: Provedor e xProvedor.

A primeira contem o valor vindo do enumerador e a segunda é uma string que contem o nome do provedor, exemplo:

Provedor = proThema

xProvedor = 'Thema'

Obrigado a todos por colaborarem com testes e implementação de códigos.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Bom dia Senhores,

Estou utilizando o Provedor GovBR e Prefeitura de Contagem-MG. Depous desta ultima atualização, estou com o seguinte erro :

nfse.xsd#/schema

O espaço para nome 'http://www.abrasf.org.br/ABRASF/arquivos/nfse.xsd' fornecido difere do targetNamespace

'http://www.abrasf.org.br/nfse.xsd' do esquema.

O erro ocorre na seguinte condição do arquivo ACBrNFSeUtil.pas.

if RightStr(URL, 1) = '/'

then Schema.add( URL + Servico, schema_filename )

else Schema.add( URL, schema_filename );

Desde ja agradeço pela atenção.

Um abraço.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Rogério,

Esta disponivel no branches varios schemas por favor utilize no seu caso o que esta na pasta:

...\NFSe_Novos_Fontes\Exemplos\ACBrNFSe\Schemas\Abrasf_v01

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

Boa tarde Italo,

Primeiramente, obrigado por me responder.

O erro relacionado ao namespace foi resolvido com o novo schema, obrigado. Mas agora estou tendo o seguinte erro na validação do schema:

Falha na validação do Lote 12 O nó não é válido nem inválido, pois nenhuma declaração de DTD ou esquema foi encontrada.

Este erro ocorre no arquivo ACBrNFSeWebServices.pas

// Sugestão de Rodrigo Cantelli

if FProvedorClass.GetValidarLote

then begin

if not(NotaUtil.Valida(FDadosMsg, FMsg,

FConfiguracoes.Geral.PathSchemas,

FConfiguracoes.WebServices.URL,

FConfiguracoes.WebServices.ServicoEnviar,

FConfiguracoes.WebServices.Prefixo4))

then raise Exception.Create('Falha na validação do Lote ' +

IntToStr(TNFSeEnviarLoteRps(Self).NumeroLote) + sLineBreak + FMsg);

end;

Muito Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa noite Endrigo,

O que é que esta vindo trocado, a informação ou a sequencia das NFSe?

Desculpe não ficou claro para mim.

Desculpe a demora para responder Ítalo, estive ausente da empresa nesses dias. Bom, o problema que estou tendo é que quando mando gravar o número da NFS-e e o número do protocolo para o número de RPS enviado por mim está vindo de outra nota de outro RPS. Como mando um lote de 20 notas sempre, os retornos de número da NFSe e número de protocolo está vindo trocado entre as notas enviadas no mesmo lote.

Ficou claro?

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Belo Horizonte/MG

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Endrigo,

Pelo que entendi as NFSe retornadas não estão na mesma ordem dos RPS enviados.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia a todos,

Realizei algumas alterações nos fontes do componente ACBrNFSe.

Baixem as atualizações.

Quem utiliza o provedor Thema, favor testar todas as funcionalidades.

Favor reportar aqui no fórum os eventuais erros.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde Endrigo,

Pelo que entendi as NFSe retornadas não estão na mesma ordem dos RPS enviados.

Me parece pior um pouco Ítalo. Não vir na mesma ordem não seria problema algum, o problema que observei é que o número e o protocolo da NFSe está sendo gravado no registro de outro RPS.

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Belo Horizonte/MG

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Depois que atualizei passei a ter o seguinte erro:

Falha na validação do Lote 483

Element '{http://www.abrasf.org.br/nfse.xsd}Cidade' is unexpected according to content model of parent element '{http://www.abrasf.org.br/nfse.xsd}Endereco'.

Expecting: {http://www.abrasf.org.br/nfse.xsd}CodigoMunicipio, {http://www.abrasf.org.br/nfse.xsd}Uf, {http://www.abrasf.org.br/nfse.xs....

Meu município é Belo Horizonte/MG.

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Belo Horizonte/MG

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Endrigo,

Fiz a correção, favor atualizar e testar.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bom dia Endrigo,

Fiz a correção, favor atualizar e testar.

Deu certo Ítalo. Mas estou tendo problemas na função ConsutarNFSeporRps(), se estou passando o RPS como parâmetro para que você está verificando NotasFiscais.Count? Não tenho a Nota Fiscal, estou consultando o RPS.

Para a consulta Ítalo, vejo que deveria ter NotasFiscais.Clear e NotasFiscais.Add automaticamente no código. Pois não tem como eu abrir uma NFSe sendo que não possuo a mesma.

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Belo Horizonte/MG

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde Endrigo,

Pelo que entendi as NFSe retornadas não estão na mesma ordem dos RPS enviados.

Me parece pior um pouco Ítalo. Não vir na mesma ordem não seria problema algum, o problema que observei é que o número e o protocolo da NFSe está sendo gravado no registro de outro RPS.

Ítalo, veja bem. O meu sistema só possui o número do RPS antes de enviar o lote de NFSe, portanto, para atualizar o lote de notas enviadas preciso de procurar o RPS no meu banco de dados para atualizar as outras informações (número da NFSe, código de verificação, protocolo e o XML). Porém quando mando procurar o RPS que está em NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero, não condiz com as outras informações.

Um exemplo que acabei de fazer agora, enviei um lote com 3 notas (RPS 25907, 25908 e 25909).

Os retornos no componente foram trocados, veja abaixo:

Para o NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero = 25907 obtive NotasFiscais.Items[x].NFSe.Numero = 201200000004214, sendo que o correto deveria ser 201200000004216.

Para o NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero = 25908 obtive NotasFiscais.Items[x].NFSe.Numero = 201200000004216, sendo que o correto deveria ser 201200000004214.

Para o NotasFiscais.Items[x].NFSe.IdentificacaoRps.Numero = 25909 obtive NotasFiscais.Items[x].NFSe.Numero = 201200000004215, está correto.

Mas já fiz um teste onde as três vieram trocadas. Espero que tenha ficado claro agora.

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Belo Horizonte/MG

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Endrigo,

Neste caso você deve carregar para o componente o XML do RPS, conforme programa exemplo.

De uma olhada no código que é executado ao clicar no botão [Consultar NFSe por RPS].

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / e-mail: [email protected] / Fone: (16) 9-9701-5030 / Araraquara-SP

Araraquara - A era dos Trólebus

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde Endrigo,

Neste caso você deve carregar para o componente o XML do RPS, conforme programa exemplo.

De uma olhada no código que é executado ao clicar no botão [Consultar NFSe por RPS].

Em qual caso Ítalo?

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Belo Horizonte/MG

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Boa tarde Endrigo,

Neste caso você deve carregar para o componente o XML do RPS, conforme programa exemplo.

De uma olhada no código que é executado ao clicar no botão [Consultar NFSe por RPS].

Em qual caso Ítalo?

Se você estiver falando da questão que citei da função ConsutarNFSeporRps() vejo como redundante carregar o XML sendo que no caso em que utilizo, é exatamente quando não possuo o XML, como no caso de conseguir enviar o lote e não ter conseguido concluir a gravação no meu banco de dados por algum problema específico. Eu não abro telas para o usuário procurar NFSe ou RPS, tento fazer tudo automaticamente, e no caso da função ConsutarNFSeporRps() não é necessário ler o XML, veja que no exemplo a leitura do XML foi feita somente para pegar os dados do RPS para passar no parâmetro, o XML da NFSe será retornada pelo WebService.

945757316_FantastsoftLogotipo100px.png.20c116e19bad4f7436640307ee0fa01a.png   Endrigo Rodrigues
Fantastsoft Sistemas

Node / Delphi 11.2
Belo Horizonte/MG

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3489 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.

The popup will be closed in 10 segundos...