Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa tarde a todos.

Estou tendo dificuldades em migrar uma aplicação de geração e envio de Nfse para o trunk2. No trunk 1 tudo funciona corretamente. A aplicação é exatamente a mesma, só foram feitos os ajustes de propriedades do componente na migração para o trunk 2. Fiz várias tentativas ao longo desse ano e nada. Os componentes foram atualizados semana passada e acorrem os seguintes erros.

1 - Com a propriedade Acbrnfse.Configuracoes.Geral.SLLib = libCapicomDelphiSoap  ( a mesma que consta na aplicação trunk 1 )

2 - Com a propriedade Acbrnfse.Configuracoes.Geral.SLLib = libCapicom

Postado

Boa tarde Régys. Em primeiro lugar, obrigado pela atenção. Segue mais detalhes:

Provedor ISSNet

Cidade Jacareí-SP

Sistema Operacional: Windows 10

 

1 - Com a propriedade Acbrnfse.Configuracoes.Geral.SLLib = libCapicomDelphiSoap  ( a mesma que consta na aplicação trunk 1 )

  Erro: erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046

2 - Com a propriedade Acbrnfse.Configuracoes.Geral.SLLib = libCapicom

  Erro Interno: 12029

  Erro HTTP: 0

  Erro: Requisição não enviada. 12029 - A connection with the server could not be established.

  • Consultores
Postado

Boa tarde Luiz,

Para alguns provedores devemos fazer com que não seja executado uma configuração referente ao certificado para evitar esses erros.

Para isso no arquivo INI de cada provedor existe um campo chamado UseCertificado que devemos atribuir o valor zero.

Mas se fizer isso o componente gera uma exceção acusando que necessita do certificado para assinar.

Até tudo bem, mas existem provedores que não se assina nada, nem RPS e nem Lote, ai temos um impasse, que precisamos resolver.

Para os documentos fiscais NF-e, NFC-e, CT-e e MDF-e a presença do certificado é vital uma vez que o XML do documento é sempre assinado.

Por outro lado na NFS-e, como dito dependo do provedor devemos ou não assinar o RPS, devemos ou não assinar o Lote.

O dilema é remover a verificação do uso do certificado checando o valor da propriedade UseCertificate ou só realizar essa checagem se não for NFS-e ou criarmos uma outra propriedade para esse fim pois esta ocorrendo uma confusão, usando a mesma propriedade para duas finalidades.

  • Curtir 1
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

Bom dia Italo.

Obrigado pelo retorno.

Fiz um teste modificando manualmente a propriedade do UseCertificado e conforme vc mencionou foi gerado uma exceção "Impossível assinar. Componente configurado para não usar Certificado". Provavelmente porque o meu provedor exige a assinatura no XML.

No trunk 1 não tive nenhum problema durante a implantação do projeto e uso esse executável até hoje para gerar as notas a partir desse executável. O problema que que tenho que manter o acbr sempre atualizado e utilizando o trunk2 para atender aos demais sistemas que desenvolvo. Existe alguma previsão para a solução desse problema? Pois fico vulnerável, caso o provedor faça alguma atualização não conseguiria utilizar executável do trunk 1 e nem gerar um novo utilizando o trunk 2 e no caso essa aplicação é vital pra mim pois a utilizo para gerar o faturamento da minha empresa.

  • 2 semanas depois ...
  • Consultores
Postado

Bom dia a todos,

Ontem a noite foi enviado para o repositório, algumas alterações visando resolver o problema.

Favor atualizar todos os fontes de todas as pastas, compilar a aplicação com a opção Build e por fim realizar novos testes.

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

Consegui enviar usando libCapicom, alterei no arquivo tecnos.ini o campo Validar=0, e foi, consultando no site a nota foi registrada e esta como normal.

--------

Na opção consultar lote, esta retornando:

Codigo: E0802

Mensagem: O RPS informado já está cancelado.

Correcao: Verifique o número do RPS informado.

Mais não entendi, já que eu ainda não pedi para cancelar

--------

Na opção Consultar NFSe por RPS da esta mensagem:

Could not convert variant of type (UnicodeString) into type (Date) 

----------

na opção Consultar NFSe por Período, não retorna nada, conforme tela em anexo

 

Consultar_NFSe_por_Período.PNG

Leandro Coelho

Imprime Informática

  • Consultores
Postado

Boa tarde Leandro,

Qual a mensagem de RPS já cancelado sendo que você acabou de enviar e agora esta apenas consultando, você concorda que isso é um absurdo sendo assim o Web Services do provedor esta com problemas.

É preciso entrar em contato com eles e expor o problema.

Com relação as outras consultas é interessante que você configure o componente para salvar os arquivos Soap.

Configuracoes.WebServices.Salvar := True;

Desta forma teremos o retorno sem nenhum tratamento feito pelo componente, desta forma é possível descobrir onde esta o problema.

No caso do erro de conversão é importante "debugar" para saber a linha exata que ocorre esse erro, pois datas, dependendo do provedor, podemos ter a data de emissão, data de competência, data de recebimento.

Precisamos saber em qual delas o problema esta ocorrendo.

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

Boa tarde Italo,

Esse retorno ai de cancelado é estranho mesmo, mais eu descobri, eu enviei o numero do protocolo no formato errado, tem que ser CNPJ+NumeroLote, ex.:  99999999000101000000001

Já tinha marcado par salvar os arquivos, agora estou olhando aqui e vendo o help do provedor Tecnos.

----

Na opção Consultar NFSe por RPS onde retorna esta mensagem Could not convert variant of type (UnicodeString) into type (Date) , debugando aqui, acontece no pcnGerador na linha 1153, quando esta passando pela TAG competência  que recebe o valor neste formato 2016-04-13T12:22:44 , ai não chega a gear os arquivo soap.

-----

Na opção Consultar NFSe por Período, olhando o help no site Tecnos http://help.nfse-tecnos.com.br/main_ws/contribuinte/consultas/consultanfseprestador.aspx , eles dizem:

O Web Service para consulta de NFS-e de serviços prestados recebe em sua mensagem XML a identificação do Prestador, do Número da Nota, do Tomador e opcionalmente do Intermediário. Importante: apesar de alguns dados serem opcionais, todas as tags devem constar na estrutura do documento XML.

Ai eu tentei passar os campos em branco quando string e zero onde é numérico 

ACBrNFSe1.ConsultarNFSe(StrToDate(DataInicial),
                          StrToDate(DataFinal),
                          '1',
                          000000,
                          '99999999000191',
                          '1733160024',
                          '  ',
                          '  ',
                          '  ',
                          'UNICA');

Anexei os arquivos.

----------

2016041320160413-con-nfse.xml

2016041320160413-con-nfse-soap.xml

Leandro Coelho

Imprime Informática

  • Consultores
Postado

Bom dia Leandro,

Pelo que entendi o ConsultarLote ficou resolvido, correto?

No ConsultarNFSe mesmo passando os demais dados o XML de consulta não foi gerado com as TAGs opcionais em "branco", correto?

E no ConsultarNFSePorRps o problema esta na TAG: Competência.

Nesta última consulta o XML do RPS esta sendo carregado para por ser realizado a consulta?

 

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

Italo, boa tarde!

ConsultarNFSePorRps - Deu certo.

---------

ConsultarNFSe - Esse não, Anexei o SOAP, editei um para fazer as comparações com o help do TECNOS.

-----------

Mais com o que esta funcionando já da para enviar e consultar.

Eu anexei o xml de treis notas, não consegui emitir o DANFE, da umas mensagens de erro, mais não analisei nada, no momento não estou precisando emitir, rsrs.

Outro detalhe que percebi é que o xml da nota, veio com o nome: 3-nfse.xml e depois outro veio: 3516049432877000010156000000003-nfse.xml , não entendi.

2016041320160413-con-nfse.xml

2016041320160413-con-nfse-soap.xml

Editado_para_comprar_2016041320160413-con-nfse.xml

1-nfse.xml

2-nfse.xml

3516049432877000010156000000003-nfse.xml

3-nfse.xml

Leandro Coelho

Imprime Informática

  • Consultores
Postado

Bom dia Leandro,

Com relação ao nome se da o fato que a propriedade NomeLongoNFSe esta com o valor True.

É preciso saber agora se em algum momento a configuração na sua aplicação muda ou se mesmo deixando essa propriedade com o valor False, hora emite com o nome curto e hora emite com o nome longo.

No caso do ConsultarNFSe favor atualizar os fontes e testar novamente.

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

Italo boa noite !

Alterei ACBrDFe.pas:
Quando envia e não retorna mensagem nenhuma, estava caindo no raise, então fiz essa alteração abaixo.
procedure TACBrDFe.GerarException(const Msg: String; E: Exception);
var
  Tratado: Boolean;
  MsgErro: String;
begin
  MsgErro := Msg;
  if Assigned(E) then
    MsgErro := MsgErro + sLineBreak + E.Message;

  Tratado := False;
  FazerLog('ERRO: ' + MsgErro, Tratado);


  //if not Tratado then  // era
  if (not Tratado) and (MsgErro <> '') then // ficou - alterado - leandro 19/04/2016
    raise EACBrDFeException.CreateDef(MsgErro);
end;

--------------

fazendo um if ACBrNFSe.EnviarSincrono(vNumLote) then , 
não retorna True e o lote foi enviado, isso nem é um problema,
ou a logica seria retorna True quando não foi enviado ???

----------------

Na emissao do DANFE, o campo competência esta fora do formato, veja arquivo anexo.

---------------

ConsultarNFSe - Continua igual, pelo arquivo gerado esta igual antes da atualização, segue arquivos anexo.
Pelo que entendi no help do provedor, essa consulta é unica por numero da nota
e o arquivo gerado para consulta esta por período

-------------

NFS-e 6.pdf

3516049432877000010156000000006-nfse.xml

2016041920160419-con-nfse.xml

2016041920160419-con-nfse-soap.xml

2016041920160419-lista-nfse.xml

2016041920160419-lista-nfse-soap.xml

Leandro Coelho

Imprime Informática

  • Consultores
Postado

Bom dia Leandro,

Acredito ter encontrado o problema.

O componente estava usando a URL para realizar a consulta as NFS-e de serviços prestados mas estava montando a consulta de NFS-e por faixa.

Alterei a URL tanto de homologação quanto de produção.

Favor atualizar os fontes e use o novo INI do provedor Tecnos.

Faça novos testes.

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

Italo, boa tarde !

Atualizei os fontes, mais continua com erro no  ConsultarNFSe , os arquivos ainda ficaram iguais, ou seja, montando a consulta por faixa. 

Eu renomeie o Tecnos.ini e atualizei novamente para pegar um arquivo novo, e comprando os dois, não encontrei mudanças.

---------

Outro detalhe que encontrei no DANFE foi o campo: Opção Simples Nacional que esta SIM e eu alterei este para NÃO, para enviar esta nota.

A empresa é ME EPP mais não optante pelo simples, ai olhando aqui o xml do RPS eu identifiquei que a TAG  OptanteSimplesNacional

esta indo com 2 e no xml da NOTA a TAG esta OptanteSimplesNacional  esta voltando 1 ,

isso é um problema vindo do retorno do provedor Tecnos ?

segue arquivos

-----------

32A-comp-nfse.xml

32A-comp-nfse-soap.xml

32A-con-nfse-rps.xml

32A-con-nfse-rps-soap.xml

32A-rps.xml

32-nfse.xml

Danfe_Emitido_Pelo_Provedor.pdf

NFS-e 30.pdf

Leandro Coelho

Imprime Informática

  • Consultores
Postado

Boa tarde Leandro,

No arquivo: Tecnos.INI alterei as URLs do serviço: ConsultaNFSe.

[URL_P]
(...)
ConsultaNFSe=http://%NomeURL_P%.nfse-tecnos.com.br:9096/ConsultaNFSePorFaixa.asmx
(...)
[URL_H]
(...)
ConsultaNFSe=http://homologa%NomeURL_H%.nfse-tecnos.com.br:9096/ConsultaNFSePorFaixa.asmx
(...)

Não esta desta forma?

Quanto a impressão do DANFE não tenho lhe ajudar pois não trabalho com o Fortes e nem com o Fast, mas lembre-se que o componente não gera o XML da NFS-e apenas o extrai do retorno e salva em disco.

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

Olhando aqui, esta assim:

ConsultaNFSe=http://%NomeURL_P%.nfse-tecnos.com.br:9096/ConsultaNFSePorFaixa.asmx

ConsultaNFSe=http://homologa%NomeURL_H%.nfse-tecnos.com.br:9096/ConsultaNFSePorFaixa.asmx

------

Olhando a copia do arquivo ini que eu fiz antes de atualizar os fontes, esta assim:

ConsultaNFSe=http://%NomeURL_P%.nfse-tecnos.com.br:9096/ConsultaNFSePorFaixa.asmx

ConsultaNFSe=http://homologa%NomeURL_H%.nfse-tecnos.com.br:9096/ConsultaNFSePorFaixa.asmx


----------

Vejo que esta igual, mais eu nem estou usando esta consulta, então sem problemas.

--------------

No caso do xml da nota eu não entendi, vou fazer mais alguns testes, esta indo com 2-não opitante simples e volta 1-sim optante.

 

Leandro Coelho

Imprime Informática

Postado

Italo, bom dia !

Eu comentei mesmo sobre o erro na ConsultarNFSe, porém, como a consulta por lote e a consulta por rps está funcionando, então, eu não estou usando a ConsultarNFSe.

Mais acho que seria legal deixar funcionando já que estamos fazendo os testes. 

Quando fiz a primeira comparação que relacionei acima, eu estava comparando com a consulta nota por prestador do help do provedor, veja:

http://help.nfse-tecnos.com.br/main_ws/contribuinte/consultas/consultanfseprestador.aspx 

E o coreto é comprar com a consulta notas fiscais por faixa de numeração, veja:  

http://help.nfse-tecnos.com.br/main_ws/contribuinte/consultas/consultanfsefaixanumero.aspx

A URL esta apontando no arquivo ini está corretamente, mas o XML gerado para fazer a consulta não esta igual ao pedido no manual do provedor, veja tela do erro retornado.

Arquivo anexos.

tela-retorno.png

editado-para-compara-2016042020160420-con-nfse.xml

2016042020160420-lista-nfse.xml

2016042020160420-lista-nfse-soap.xml

2016042020160420-con-nfse.xml

2016042020160420-con-nfse-soap.xml

Leandro Coelho

Imprime Informática

Postado

Italo, boa tarde !

Veja só, sobre o campo optante pelo simples, eu descobri aqui vendo o help do provedor Tecnos funciona assim:

no Envio vai: http://help.nfse-tecnos.com.br/main_ws/contribuinte/notaeletronica.aspx (link de referencia)

<OptanteSimplesNacional>2</OptanteSimplesNacional>

<!--identificação de optante do simples nacional-->

<!--1-Sim-->

<!--2-Não-->

e no Retorno vem: http://help.nfse-tecnos.com.br/main_ws/contribuinte/consultas/consultaloterps.aspx (link de referencia)

<OptanteSimplesNacional>2</OptanteSimplesNacional>

<!--identificação de optante do simples nacional nas consultas/exportação das notas-->

<!--2-Sim-->

<!--1-Não-->

Então para sair certo no DANFE, essa alteração tenho que fazer direto no componente de na impressão do Danfe ?

 

Leandro Coelho

Imprime Informática

×
×
  • 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.