Ir para conteúdo
  • Cadastre-se

dev botao

NFS-e Caxias do Sul


Ver Solução Respondido por Rodrigo Ramos dos Santos,
  • Este tópico foi criado há 3092 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado
2 horas atrás, Italo Jurisato Junior disse:

Boa noite Eraldo,

Você tem um XML de consulta para que eu possa analisar?

Se sim, favor anexar.

Boa noite Italo,

Não tenho agora pra te passar. 

Fiz mais um teste excluindo essa const cDTD e, como imaginava, não faz falta alguma, ao contrário.

Para confirmar, experimente setar essa const cDTD que esta na unit ACBrDFeOpenSSL, com vazio ( Const cDTD = ''; ) e observe que irá funcionar normalmente.

Como está atualmente a consulta não funciona e para o envio, não faz falta. 

 

Att. Eraldo

  

 

  • Consultores
Postado

Boa tarde Eraldo,

Não devemos alterar a unit ACBrDFeOpenSSL pois ela é utilizada por todos os componentes que geram DF-e - Documentos Fiscais Eletrônicos, tais como: NF-e, NFC-e, CT-e, MDF-e e NFS-e.

Temos que encontrar uma outra solução.

É por isso que pedi a você o arquivo de consulta para que eu possa ver o que esta faltando no ACBrNFSeWebServices a fim de resolver esse problema do DTD.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
20 horas atrás, Italo Jurisato Junior disse:

Boa noite Eraldo,

Você tem um XML de consulta para que eu possa analisar?

Se sim, favor anexar.

Boa noite Italo,

Não tenho agora pra te passar. 

Fiz mais um teste excluindo essa const cDTD e, como imaginava, não faz falta alguma, ao contrário.

Para confirmar, experimente setar essa const cDTD que esta na unit ACBrDFeOpenSSL, com vazio ( Const cDTD = ''; ) e observe que irá funcionar normalmente.

Como está atualmente a consulta não funciona e para o envio, não faz falta. 

 

Att. Eraldo

  

 

Desculpe-me, pela postagem anterior, me confundi.

 

Boa tarde Italo,

Na consulta o XML vai assim  <!DOCTYPE test [<!ATTLIST id ID #IMPLIED>]>' e isso da erro.

Porque  ele pega <!DOCTYPE test [<!ATTLIST &infElement& Id ID #IMPLIED>]>' e substitui a TagElemento por ''.

Se debuguar qualquer consulta pelo openssl, pegue o valor da variável ConteudoXML antes do  xmlParseDoc e observe o que disse.

 

Sustento que não precisa atribuir nada a constante  cDTD no caso do openssl pelo menos.

Gostaria de saber se tem algum colega que usa openssl e funciona.

Eu até agora, atribuindo  '' para a const cDTD, está funcionando que é uma maravilha.

 

Att. Eraldo

  • 2 semanas depois ...
Postado
Em 23/02/2016 at 17:27, Italo Jurisato Junior disse:

Favor atualizar os fontes e testar novamente.

 

Boa tarde.

 

O site https://nfsehomol.caxias.rs.gov.br/ me disponibiliza a possibilidade de importar os lotes, pois bem, tenho gerado lotes e verificando a integridade da estrutura, onde ocorre tudo certo.

Porém agora fazendo essa emissão pelo Software: Ocorre o seguinte ("Imagem em anexo 100.png").,  isso ocorre em:

TNotasFiscais.AssinarLote()...

XMLAss := SSL.Assinar(ArqXML, docElemento, infElemento, SignatureNode, SelectionNamespaces, IdSignature);

docElemento = 'envioLote'
infElemento = 'infNFSe'
SignatureNode = ''
SelectionNamespaces = ''
IdSignature = ''

 

ConteudoXML := Erro.xml

 XmlAss := FSSLClass.Assinar( ConteudoXML, docElement, infElement, SignatureNode, SelectionNamespaces, IdSignature);

 

Em anexo os XML que envio diretamente(Correto.xml) através do site sem erros.

E o arquivo que é passado(Erro.xml) na rotina descrita acima em: ConteudoXML 

 

Se perceberem o arquivo (Erro.xml) não abre nem no navegador.

Alguma dica, do que alterar ou o que fazer neste caso?

 

 

 

 

 

100.png

Erro.xml

Correto.xml

Postado

Boa tarde caros, hoje é meu primeiro dia aqui no fórum e quero me inteirar do projeto. 

Estou com um cliente precisando implementar a NFSe de Caxias e vi aqui que já estão bem evoluídos, como faço para baixar o componente com esse provedor? Ou os fontes atuais deste provedor em específico?

Atenciosamente,

Mateus B. Carvalho

Postado
17 horas atrás, mateusdrake disse:

Boa tarde caros, hoje é meu primeiro dia aqui no fórum e quero me inteirar do projeto. 

Estou com um cliente precisando implementar a NFSe de Caxias e vi aqui que já estão bem evoluídos, como faço para baixar o componente com esse provedor? Ou os fontes atuais deste provedor em específico?

Atenciosamente,

Mateus B. Carvalho

Bom dia amigo mateusdrake.

Da uma olhada nos link abaixo, eu com palavras para explicar seria péssimo.

http://acbr.sourceforge.net/drupal/?q=node/37

http://www.devmedia.com.br/instalacao-dos-componentes-acbr-delphi/24199

 

Talvez a melhor pessoa para lhe auxiliar nisso seria o Italo Jurisato Junior.

Postado
Em 07/03/2016 at 13:52, Otimizy disse:

 

Boa tarde.

 

O site https://nfsehomol.caxias.rs.gov.br/ me disponibiliza a possibilidade de importar os lotes, pois bem, tenho gerado lotes e verificando a integridade da estrutura, onde ocorre tudo certo.

Porém agora fazendo essa emissão pelo Software: Ocorre o seguinte ("Imagem em anexo 100.png").,  isso ocorre em:

TNotasFiscais.AssinarLote()...

XMLAss := SSL.Assinar(ArqXML, docElemento, infElemento, SignatureNode, SelectionNamespaces, IdSignature);

docElemento = 'envioLote'
infElemento = 'infNFSe'
SignatureNode = ''
SelectionNamespaces = ''
IdSignature = ''

 

ConteudoXML := Erro.xml

 XmlAss := FSSLClass.Assinar( ConteudoXML, docElement, infElement, SignatureNode, SelectionNamespaces, IdSignature);

 

Em anexo os XML que envio diretamente(Correto.xml) através do site sem erros.

E o arquivo que é passado(Erro.xml) na rotina descrita acima em: ConteudoXML 

 

Se perceberem o arquivo (Erro.xml) não abre nem no navegador.

Alguma dica, do que alterar ou o que fazer neste caso?

 

 

 

 

 

100.png

Erro.xml

Correto.xml

Otimizy,

Seu xml tem uma tag de envio a mais no inicio, por isso o erro!

Verifique a geração do mesmo...

Moro 

Postado

Respondendo a pergunta do Mateus:

Link para baixar e instalar: svn://svn.code.sf.net/p/acbr/code/trunk2

- Os fontes da NFSe encontra-se na pasta: Fontes\ACBrDFe\ACBrNFSe

- O programa exemplo encontra-se na pasta: Exemplos\ACBrDFe\ACBrNFSe\Delphi

- Para usar o provedor Infisc, crie uma pasta no seu projeto colocando dentro os arquivos Cidades.ini e Infisc.ini que estão na pasta Exemplos\ACBrDFe\ACBrNFSe\ArqINI

- Configure o componente e mãos a obra!!

Att.

Moro

 

Postado

Boa Tarde @Italo Jurisato Junior !

Consegui implementar em meu sistema a emissão de NFS-e para Caxias do Sul - RS, no ambiente de homologação. Consegui Enviar, Consultar e Cancelar 100%.
Agora mudei o parametro para o ambiente de produção e está ocorrendo o erro de "requisição não enviada","O tempo limite da operação foi atingido".
Pelo que observei chega a jogar a NFS-e para o site da prefeitura, mais com esse erro não consigo pegar o retorno e nem consular o lote.

Lembro utilizo a mesma rotina de homologação e produção, só mudei mesmo o parâmetro para Produção.

Sabes me dar alguma ideia do que pode ser isso ?


Obrigado.

Att.
Patrick

  • Consultores
Postado

Bom dia Patrick,

Lembre-se que a unica diferença entre os ambientes são as URLs dos serviços.

No caso do "O tempo limite da operação fo atingido" tente aumentar o TimeOut.

Um detalhe a maioria das empresas estão enviando para o ambiente de produção é de se esperar que este esteja com uma carga de requisição maior que a do ambiente de homologação.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado
52 minutos atrás, patrick.knopf disse:

Bom dia Italo !

Aumentei o timeout e consegui emitir, realmente o ambiente de produção está bem carregado.

Obrigado.

Att.
Patrick

Bom dia Patrick, você está a Emitir para Caxias com os Fontes do ACBR atualizados ou fez alguma alteração nos códigos ?

 

Postado

Olá Otimizy !

Estou com os fontes atualizados mais tive que remover uma linha errada na criação do XML, até vou marcar o @Italo Jurisato Junior para ele gerar a correção nos fontes.

hoje gera o cabeçalho gera assim:
  <?xml version="1.0" encoding="UTF-8" ?> 
  - <envioLote versao="1.0">
  <CNPJ>11509962000197</CNPJ> 
  <dhTrans>2016-03-07 13:47:25</dhTrans> 
  <?xml version="1.0" encoding="UTF-8" ?>  LINHA ERRADA.

Removi a linha em vermelho e consegui enviar o lote sem problemas, ficou assim o cabeçalho:
  <?xml version="1.0" encoding="UTF-8" ?> 
  - <envioLote versao="1.0">
  <CNPJ>11509962000197</CNPJ> 
  <dhTrans>2016-03-07 13:47:25</dhTrans> 

Valeu.

Att.
Patrick

Postado
44 minutos atrás, patrick.knopf disse:

Olá Otimizy !

Estou com os fontes atualizados mais tive que remover uma linha errada na criação do XML, até vou marcar o @Italo Jurisato Junior para ele gerar a correção nos fontes.

hoje gera o cabeçalho gera assim:
  <?xml version="1.0" encoding="UTF-8" ?> 
  - <envioLote versao="1.0">
  <CNPJ>11509962000197</CNPJ> 
  <dhTrans>2016-03-07 13:47:25</dhTrans> 
  <?xml version="1.0" encoding="UTF-8" ?>  LINHA ERRADA.

Removi a linha em vermelho e consegui enviar o lote sem problemas, ficou assim o cabeçalho:
  <?xml version="1.0" encoding="UTF-8" ?> 
  - <envioLote versao="1.0">
  <CNPJ>11509962000197</CNPJ> 
  <dhTrans>2016-03-07 13:47:25</dhTrans> 

Valeu.

Att.
Patrick

Exatamente: Alterei e funcionou porém deu outro erro:

    proInfisc: begin
                 Gerador.Prefixo := '';
                 Gerador.wGrupoNFSe('envioLote versao="1.0"');
                 Gerador.wCampoNFSe(tcStr, '', 'CNPJ'   , 01, 14, 1, Cnpj, '');
//               Gerador.wCampoNFSe(tcStr, '', 'dhTrans', 01, 19, 1, FormatDateTime('yyyy-mm-dd hh:mm:ss', Now), '');

                 Gerador.wCampoNFSe(tcDatHor, '', 'dhTrans', 01, 19, 1, Now, '');

 

Onde o correto seria usar o comentado.

 

Alterei-o e funcionou com os fontes atualizados.

Consulta e cancelamento para você estão 100% ?

 

Postado

Olá Otimizy !

Sim, eu consigo consultar e cancelar NFS-e.
Referente ao erro na data e hora agora lembrei que o ACBr gerar o T na formatação de data e hora, ex: "2016-03-15T09:00:00" eu removi este T da formatação de data e hora também ai deu certo, ficou assim: "2016-03-15 09:00:00".

Att.

Patrick

Postado
30 minutos atrás, patrick.knopf disse:

Olá Otimizy !

Sim, eu consigo consultar e cancelar NFS-e.
Referente ao erro na data e hora agora lembrei que o ACBr gerar o T na formatação de data e hora, ex: "2016-03-15T09:00:00" eu removi este T da formatação de data e hora também ai deu certo, ficou assim: "2016-03-15 09:00:00".

Att.

Patrick

Qual é a função de consulta que estás usando?

Eu estou usando: pNfse.ACBrNFSe.ConsultarNFSe(lDataIni, lDataFim, FSaida.DadosNUM_DUP.AsString, 1,'','','','','','S')

após ACBrNFSe.ConsultarSituacao(FSaida.DadosPROTOCOLO.AsString, FSaida.DadosLOTE.AsString).

 

Tu tens a linha em negrito ?, pois tive que adiciona-lá para alimentar a varivável de retorno.

            ((Provedor in [proISSDSF]) and (Leitor.rExtrai(Nivel, 'ConsultaNFSe', '', i + 1) <> '')) or     //ConsultaLote
            ((Provedor in [proISSDSF]) and (Leitor.rExtrai(Nivel, 'NotasConsultadas', '', i + 1) <> '')) or //ConsultaNFSePorRPS
            ((Provedor in [proInfisc]) and (Leitor.rExtrai(Nivel, 'resPedidoLoteNFSe', '', i + 1) <> '')) do

 

Após esse processo, o arquivo gerado em: NFSe\Notas tem as seguintes como anexo:

 

Alguma dica ?

 

52-nfse.xml

Postado
2 horas atrás, Otimizy disse:

Qual é a função de consulta que estás usando?

Eu estou usando: pNfse.ACBrNFSe.ConsultarNFSe(lDataIni, lDataFim, FSaida.DadosNUM_DUP.AsString, 1,'','','','','','S')

após ACBrNFSe.ConsultarSituacao(FSaida.DadosPROTOCOLO.AsString, FSaida.DadosLOTE.AsString).

 

Tu tens a linha em negrito ?, pois tive que adiciona-lá para alimentar a varivável de retorno.

            ((Provedor in [proISSDSF]) and (Leitor.rExtrai(Nivel, 'ConsultaNFSe', '', i + 1) <> '')) or     //ConsultaLote
            ((Provedor in [proISSDSF]) and (Leitor.rExtrai(Nivel, 'NotasConsultadas', '', i + 1) <> '')) or //ConsultaNFSePorRPS
            ((Provedor in [proInfisc]) and (Leitor.rExtrai(Nivel, 'resPedidoLoteNFSe', '', i + 1) <> '')) do

 

Após esse processo, o arquivo gerado em: NFSe\Notas tem as seguintes como anexo:

 

Alguma dica ?

 

52-nfse.xml

Bom tarde galera.

 

Após alguns ajustes: Enviando, consultando e cancelando NFS-e para Caxias Do Sul.

Tive que realizar algumas alterações, mas estou disponibilizando-as para que @Italo Jurisato Junior, verifique a integridade das alterações, e futuramente as disponibilize.

Se possível ler o arquivo Leia.txt. com especificações que foi alterado e também como realizei o Envio, consulta e cancelamento.

Qualquer dúvida, estou a disposição.

Att.

 

Alteradas.rar

  • Consultores
Postado

Boa tarde,

Muito obrigado pela colaboração, já esta disponível no repositório.

Favor atualizar os fontes e faça novos testes.

Estando tudo OK com todas as funcionalidades, me de um retorno para que eu possa incluir o provedor Infisc como mais um que esta funcionando tudo.

Consultor SAC ACBr

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

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Olá @Italo Jurisato Junior !

Atualizei os fontes do ACBr e ainda continua gerando a linha a mais no cabeçalho do XML conforme exemplo abaixo:

 <?xml version="1.0" encoding="UTF-8" ?> 
  - <envioLote versao="1.0">
  <CNPJ>11509962000197</CNPJ> 
  <dhTrans>2016-03-07 13:47:25</dhTrans> 
  <?xml version="1.0" encoding="UTF-8" ?>  LINHA ERRADA.

Referente ao erro de formatação de Data e Hora de Emissão está OK.
Pelo que testei o cancelamento e consulta também estão OK.

Att.

Patrick

Postado

Bom dia @Italo Jurisato Junior !

Vamos ver se consigo te explicar.
O XML gera corretamente se eu ver o mesmo na pasta onde determino para salvar, mais é no momento de enviar que ocorre o erro com um enconding a mais.

Pelo que vi parece ser na unit PnfsNFSeG na seguinte parte:

    proInfisc: begin
                 Gerador.Prefixo := '';
                 Gerador.wGrupoNFSe('envioLote versao="1.0"');
                 Gerador.wCampoNFSe(tcStr, '', 'CNPJ'   , 01, 14, 1, Cnpj, '');
                 Gerador.wCampoNFSe(tcStr, '', 'dhTrans', 01, 19, 1, FormatDateTime('yyyy-mm-dd hh:mm:ss', Now), '');  {@/\@}
                 Gerador.ArquivoFormatoXML := Gerador.ArquivoFormatoXML + Notas; //Aqui parece ser adicionado o enconding errado, onde pega o CNPJ+DhTrans+Notas e entre o CNPJ+DhTrans + (encoding errado) + Notas =  é gerado o enconding errado (depois o sistema gera o enconding do XML todo novamente.
                 Gerador.wGrupoNFSe('/envioLote');
               end;

Não sei se conseguir te explicar...

Att.

Patrick

Postado

Italo,

 

Pelo que eu vi, ao gerar a nota é adicionado a linha do cabeçalho, e quando vai enviar, é adicionado o cabeçalho completo onde se repete esta linha.

Pelo que eu vi, tem uma função ConverteXMLtoUTF8 que adiciona e depois quando envia, é adicionado novamente.

Segue minha nota em anexo

errado.xml

Postado

Bom,

Fiz uma "gambiarra" aqui para gerar o xml:

proInfisc: begin
                 Gerador.Prefixo := '';
                 Gerador.wGrupoNFSe('envioLote versao="1.0"');
                 Gerador.wCampoNFSe(tcStr, '', 'CNPJ'   , 01, 14, 1, Cnpj, '');
                 Gerador.wCampoNFSe(tcStr, '', 'dhTrans', 01, 19, 1, FormatDateTime('yyyy-mm-dd hh:mm:ss', Now), '');  {@/\@}
                 Notas := StringReplace(Notas,'<?xml version="1.0" encoding="UTF-8"?>','',[rfReplaceAll]);
                 Gerador.ArquivoFormatoXML := '<?xml version="1.0" encoding="UTF-8"?>'+Gerador.ArquivoFormatoXML + Notas;
                 Gerador.wGrupoNFSe('/envioLote');
               end;

 

Parou o erro, agora estou tendo problema com o Schema, setei a pasta do schema, mas ele pega o arquivo do 1.0, sendo que o de Caxias do Sul é o 1.1.

Como faço para pegar outro arquivo do schema?

  • Este tópico foi criado há 3092 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.