Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia! Estou com uma dúvida em relação a utilização do Thema.ini.

Caso meu cliente emite NFS-e de Lajeado e outro cliente emite de Passo Fundo. Como utilizar o Thema.ini neste caso?

Att.:

Daniel

Postado

Bom dia Volnei!

Entendi, então vou ter que utilizar o Thema.ini modificado para cada cliente..

É que no Trunk não era utilizado e fiquei na dúvida se agora iria ser utilizado um arquivo padrão para todos. 

Obrigado!

Att.:

Daniel

Postado

Bom dia Volnei!

Entendi, então vou ter que utilizar o Thema.ini modificado para cada cliente..

É que no Trunk não era utilizado e fiquei na dúvida se agora iria ser utilizado um arquivo padrão para todos. 

Obrigado!

Não, dentro do Thema.ini, na parte que você configura as url do WebService, lá você adiciona o citado pelo colega acima, não esqueça da linha RecepcaoLoteRPS=*******

Sem ela o ACBr não vai identificar pelo código do municipio.

Postado

Bom dia, consegui fazer funcionar a NFSe para o provedor Thema de Lajeado/RS, consulta de situação + consulta e remessa.

Porem agora precisaria de uma ajuda, reparei que está absurdamente lenta a consulta da situação, ele fica diversas vezes retornando que ainda está sendo processado o Lote, mas se eu emitir a mesma nota com os fontes do trunk ele emite rapidinho. Já verifiquei todas urls, estão igual ao trunk, o envelope de envio não tenho certeza se está igual, mas acredito que se tivesse problema nele daria um erro. Outra coisa, quando ele vai gravar o xml de consulta não estã removendo os caracteres #$A do retorno, tem alguma configuração, no .ini ou no componente para que salve com o retorno limpo?

Assim que terminar vou disponibilizar o .ini configurado para lajeado, dai é só adicionar as urls das outras cidades.

Obrigado.

Postado

Segue Arquivo Thema.ini configurado, mas com url só de Lajeado.

Fiz uma alteração na classe ACBrNFSeConfiguracoes para que leia as urls de homologação igual as de produção, quando na URL de Remessa tenha '*******'.

Na Classe pnfsCancNFSeResposta adicionei um if para o provedor Thema, pois ele não tem na resposta do Cancelamento a tag Sucesso, e isso gerava um erro pois o valor estava vazio e consecutivamente o erro também, mesmo que estivesse cancelado com sucesso, dai tratei para que quando for o Thema e a Data do Cancelamento estiver preenchida ele preenche a tag Sucesso com Sucesso.

 

 

Thema.ini

ACBrNFSeConfiguracoes.pas

pnfsCancNFSeResposta.pas

Postado

Bom dia Tailon!

Realizei um teste com o seu Thema.ini e arquivos, mas alterei os endereços para Passo Fundo. 

Mas mostrou o mesmo erro que acontecia anteriormente para mim (Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046).

Não consegui descobrir o que ocasiona este erro ainda.

Att.:

Daniel

Postado
Em 04/11/2015 11:22:31, Daniel Caus disse:

Bom dia Tailon!

Realizei um teste com o seu Thema.ini e arquivos, mas alterei os endereços para Passo Fundo. 

Mas mostrou o mesmo erro que acontecia anteriormente para mim (Erro ao ajustar INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046).

Não consegui descobrir o que ocasiona este erro ainda.

Boa tarde Daniel,

Você está fazendo um envio normal ou sincrono? Pois somente configurei o Recepcionar e não RecSincrono, pode ser isso, mas também vi que esse erro vem do SSL, e uso CAPICOM, e não cheguei a passar por esse erro dai não sei como ajudar nisso.

Postado

Bom dia Tailon!

Na configuração do componente estava utilizando no SSLLib := libCapicomDelphiSoap.

Caso eu utilize SSLLib := libCapicom ocorre o erro abaixo.

Erro Interno: 12045
Erro HTTP: 0
Erro: Requisição não enviada.
12045 - A autoridade de certificação não é válida ou está incorreta

Já atualizei cadeia de certificado e tentei reinstalar o certificado, mas ocorre sempre o mesmo erro.

Pelo site da prefeitura consigo emitir normalmente a NFS-e em homologação.

 

Att.:

Daniel

Postado
3 horas atrás, Daniel Caus disse:

 

Bom dia Tailon!

Na configuração do componente estava utilizando no SSLLib := libCapicomDelphiSoap.

Caso eu utilize SSLLib := libCapicom ocorre o erro abaixo.

Erro Interno: 12045
Erro HTTP: 0
Erro: Requisição não enviada.
12045 - A autoridade de certificação não é válida ou está incorreta

Já atualizei cadeia de certificado e tentei reinstalar o certificado, mas ocorre sempre o mesmo erro.

Pelo site da prefeitura consigo emitir normalmente a NFS-e em homologação.

 

Boa tarde! 

Daniel, eu utilizo também  SSLLib := libCapicomDelphiSoap e aqui está ok.

 

Você instalou certinho as DLLs, conforme tem o instalar.txt? 

Seu certificado está funcionando certinho? 

Caso sim, tente fazer o que vou dizer abaixo, não é para esse seu problema, maas eu utilizei ele para um problema de segurança na hora de emitir:

Vá no Painel de controle, opções de internet, vá na aba avançado, lá role até o fim e deixe marcado apenas:

Usar SSL 2.0 e USAR TLS 1.0

Desmarque as opções:

Usar SSL 3.0, Usar TLS 1.1 e 1.2, se estiver marcado.

Mas ainda acredito que seja um problema de certificado ou instalação apropriada das DLLs.

 

Postado

Boa tarde Tailon! Obrigado pela ajuda.

Fiz as alterações, e utilizando libCapicomDelphiSoap volta a ocorrer o erro  INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046) .

O certificado está OK. Pelo site emito a NFSe sem problemas.

Mas esta exceção de InternetSetOption (INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046)) no trunk para o Thema e outros provedores não era verificada, então comentei o código como sugerido no fórum.  

Mas aí outro problema é que após executar o comando dtmNFSe.ACBrNFSe.Enviar a tag dtmNFSe.ACBrNFSe.NotasFiscais.Items[0].NFSe.XML vem em branco.

No Trunk dessa forma funcionava corretamente.... Após o Enviar devo executar algum outro comando para pegar o XML?

Desde já agradeço!

 

Att.:

Daniel

Postado
Em 09/11/2015 17:14:49, Daniel Caus disse:

Boa tarde Tailon! Obrigado pela ajuda.

Fiz as alterações, e utilizando libCapicomDelphiSoap volta a ocorrer o erro  INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046) .

O certificado está OK. Pelo site emito a NFSe sem problemas.

Mas esta exceção de InternetSetOption (INTERNET_OPTION_CLIENT_CERT_CONTEXT: 12046)) no trunk para o Thema e outros provedores não era verificada, então comentei o código como sugerido no fórum.  

Mas aí outro problema é que após executar o comando dtmNFSe.ACBrNFSe.Enviar a tag dtmNFSe.ACBrNFSe.NotasFiscais.Items[0].NFSe.XML vem em branco.

No Trunk dessa forma funcionava corretamente.... Após o Enviar devo executar algum outro comando para pegar o XML?

Desde já agradeço!

 

Bom dia Daniel,

 

Desculpe a demora, mas não sei o que ta acontecendo aqui no forum ou o que aconteceu, a minha conta anterior foi deletada por algum motivo, pode ate ver que nas respostas anteriores meu nome foi trocado pra Visitante. 

Bom, seguindo o que você disse, eu não sei te dizer o que pode ser mas peço o seguinte, passe em anexo a classe onde você faz o envio no seu sistema, para mim poder analisar, ou o trecho de código onde é feito o envio.

Postado (editado)
7 horas atrás, Tailon Edson disse:

Bom dia Daniel,

 

Desculpe a demora, mas não sei o que ta acontecendo aqui no forum ou o que aconteceu, a minha conta anterior foi deletada por algum motivo, pode ate ver que nas respostas anteriores meu nome foi trocado pra Visitante. 

Bom, seguindo o que você disse, eu não sei te dizer o que pode ser mas peço o seguinte, passe em anexo a classe onde você faz o envio no seu sistema, para mim poder analisar, ou o trecho de código onde é feito o envio.

Boa tarde Tailon.

Basicamente configuro o componente passando certificado, caminhos, ambiente, etc...

  ACBrNFSe.Configuracoes.Certificados.NumeroSerie := gerConfig.fat_nfse_certificado_digital;
  ACBrNFSe.Configuracoes.Arquivos.PathSchemas := gerConfig.fat_nfse_caminho_schemas;
  ACBrNFSe.Configuracoes.Geral.Salvar         := true;
  ACBrNFSe.Configuracoes.Arquivos.Salvar := True;   
  ACBrNFSe.Configuracoes.Geral.Salvar    := False;  
  ACBrNFSe.Configuracoes.Arquivos.SepararPorMes    := False;
  ACBrNFSe.Configuracoes.Arquivos.SepararPorModelo := False;
  ACBrNFSe.Configuracoes.Arquivos.PathSalvar  := gerConfig.fat_nfse_caminho_salvar;
  ACBrNFSe.Configuracoes.Geral.CodigoMunicipio := StrToIntDef(gerEmpresa.est_numero+gerEmpresa.cid_numero, 0);

  case gerConfig.fat_nfse_ambiente of
    1 : ACBrNFSe.Configuracoes.WebServices.Ambiente := taProducao
  else
    ACBrNFSe.Configuracoes.WebServices.Ambiente := taHomologacao
  end;

  ACBrNFSe.Configuracoes.Geral.SetConfigMunicipio;

Carrego os dados da NFS-e utilizando with ACBRNFSe.NotasFiscais.Add.NFSe do

e envio com ACBrNFSe.Enviar(StrToInt(sLote),retornaBoolean(IntToStr(gerConfig.fat_nfse_imprimir_apos_envio)));

Após isso gravo o XML pegando a informação com ACBrNFSe.NotasFiscais.Items[0].NFSe.XML

Aí já dá o erro, pois vem em branco a tag .XML

O arquivo Thema.ini que utilizo está em anexo.

desde já agradeço pela ajuda!

Thema.ini

Editado por Daniel Caus

Att.:

Daniel

Postado
14 horas atrás, Daniel Caus disse:

Boa tarde Tailon.

Basicamente configuro o componente passando certificado, caminhos, ambiente, etc...


  ACBrNFSe.Configuracoes.Certificados.NumeroSerie := gerConfig.fat_nfse_certificado_digital;
  ACBrNFSe.Configuracoes.Arquivos.PathSchemas := gerConfig.fat_nfse_caminho_schemas;
  ACBrNFSe.Configuracoes.Geral.Salvar         := true;
  ACBrNFSe.Configuracoes.Arquivos.Salvar := True;   
  ACBrNFSe.Configuracoes.Geral.Salvar    := False;  
  ACBrNFSe.Configuracoes.Arquivos.SepararPorMes    := False;
  ACBrNFSe.Configuracoes.Arquivos.SepararPorModelo := False;
  ACBrNFSe.Configuracoes.Arquivos.PathSalvar  := gerConfig.fat_nfse_caminho_salvar;
  ACBrNFSe.Configuracoes.Geral.CodigoMunicipio := StrToIntDef(gerEmpresa.est_numero+gerEmpresa.cid_numero, 0);

  case gerConfig.fat_nfse_ambiente of
    1 : ACBrNFSe.Configuracoes.WebServices.Ambiente := taProducao
  else
    ACBrNFSe.Configuracoes.WebServices.Ambiente := taHomologacao
  end;

  ACBrNFSe.Configuracoes.Geral.SetConfigMunicipio;

Carrego os dados da NFS-e utilizando with ACBRNFSe.NotasFiscais.Add.NFSe do

e envio com ACBrNFSe.Enviar(StrToInt(sLote),retornaBoolean(IntToStr(gerConfig.fat_nfse_imprimir_apos_envio)));

Após isso gravo o XML pegando a informação com ACBrNFSe.NotasFiscais.Items[0].NFSe.XML

Aí já dá o erro, pois vem em branco a tag .XML

O arquivo Thema.ini que utilizo está em anexo.

desde já agradeço pela ajuda!

Thema.ini

Bom dia Daniel,

Tem algum motivo para você usar a TAG XML para gravar separadamente? Porque não deixa essa gravação por conta do ACBr? Pois para mim essa tag também está vazia depois do envio e não me afeta em nada isso.

Outra coisa, a nota chega a fazer a emissão para prefeitura? Digo, ela mesmo com esse erro consta no servidor da prefeitura? 

A Propriedade do componente ACBrNFSe - Configuracoes - Geral - ConsultaLoteAposEnvio está marcada como True?

Outra coisa interessante que acontece aqui pra mim, é que essa Consulta de Situação do Lote demora muito, estourando o limite de tentativas padrão do ACBr, dai eu aumentai esse limite pra 5000 tentativas, pra ficar tentando ate dar, sem essa consulta de situação ele não Imprime o DANFSe e porque não consegue fazer a consulta de rps enquanto a situação da NFSe não estiver processada no provedor da prefeitura.

Para o ACBr efetuar a gravação dos arquivos é só marcar como true essas configurações:

Configuracoes.Arquivos .Salvar:= True;

Configuracoes.Geral.Salvar:= True;

e eu ainda marco:

Configuracoes.Arquivos .EmissaoPathNFSe:= True;

Configuracoes.Arquivos .SepararPorMes:= True;

E não esqueça de preencher todos os path do ACBr.

Postado (editado)

Bom dia Tailon.. 

Eu uso a tag XML para pegar a informação e gravar o XML no banco de dados.

Realizei mais testes, e também com as informações que você me passou, mas o XML não chega a ser gerado na minha máquina pelo ACBr.

Utilizando as configurações que você me passou, foram gerados somente os seguintes arquivos (em anexo).

Consultei no site da Prefeitura e não é gerado nenhum registro da nota lá no servidor também.

Desde já agradeço!

 

117-env-lot.xml

117-rec.xml

224645-con-sit.xml

224645-sit.xml

161-rps.xml

Editado por Daniel Caus

Att.:

Daniel

Postado (editado)
4 horas atrás, Daniel Caus disse:

Bom dia Tailon.. 

Eu uso a tag XML para pegar a informação e gravar o XML no banco de dados.

Realizei mais testes, e também com as informações que você me passou, mas o XML não chega a ser gerado na minha máquina pelo ACBr.

Utilizando as configurações que você me passou, foram gerados somente os seguintes arquivos (em anexo).

Consultei no site da Prefeitura e não é gerado nenhum registro da nota lá no servidor também.

Desde já agradeço!

 

117-env-lot.xml

117-rec.xml

224645-con-sit.xml

224645-sit.xml

161-rps.xml

Boa tarde,

Pelo que me diz eu deduzo que está ocorrendo algum erro mas não estoura exception.
Faça o seguinte: 
Debugando, entre no metodo enviar da nfse, vá entrando até chegar na parte onde tem a assinatura do XML de envio, passe e entre no metodo Envia, em seguida entre no metodo Executar.

Lá dentro do executar ele monta todo XML de envio, nele entre no metodo EnviarDados.

Dentro desse metodo é enviado via SOAP o envelope com o xml de envio, dentro daquele while quando fizer o envio vai ter um retorno de nome FPRetornoWS, veja qual retorno você obtêm e mande aqui. Eu tive problema com isso, que esse retorno ele passa por um tratamento e quando passa pelo tratamento acontecia de retornar vazio, assim não dando erro nem um mas também não funcionava.

 

Editado por Tailon Edson
Postado
Em 17/11/2015 10:34:02, Daniel Caus disse:

Bom dia Tailon.. 

Eu uso a tag XML para pegar a informação e gravar o XML no banco de dados.

Realizei mais testes, e também com as informações que você me passou, mas o XML não chega a ser gerado na minha máquina pelo ACBr.

Utilizando as configurações que você me passou, foram gerados somente os seguintes arquivos (em anexo).

Consultei no site da Prefeitura e não é gerado nenhum registro da nota lá no servidor também.

Desde já agradeço!

 

117-env-lot.xml

117-rec.xml

224645-con-sit.xml

224645-sit.xml

161-rps.xml

Bom dia Daniel,

Para complementar, consegui gerar o mesmo erro que está ocorrendo para vocês e mais alguns usuarios do ACBr, ele não ocorria para mim pois utilizo o Delphi em uma VM com windows XP e ele só está ocorrendo em Windows 7 ou superior. 
 

Eu comentei a parte que deu erro aqui e funcionou, consegui emitir a nota tranquilamente, mas agora estou enfrentando outro problema, uma LENTIDÃO muito grande.

Não sei o que é mas se eu uso o ACBr do Trunk funciona normal e rapido, mas com o Trunk2 o servidor da prefeitura demora demais para me retornar a resposta dizendo que a nota foi processada, demais mesmo (5 min +/-).

Bom, o que quero dizer é que aquele trecho no caso do provedor thema realmente não é necessário então pode comentar ou fazer algum tratamento sem estresse, mas se tiver lento ai também agradeceria se tiver algum resultado.

  • Curtir 1
Postado

Bom dia Tailon! 

Não realizei ainda o teste debugando conforme tu mencionou no outro post, mas nos próximos dias irei fazer.

Como aparentemente não estou nem conseguindo enviar, então nem cheguei a ter este problema da demora no retorno.

Mas em relação a exceção, realmente temos que comentar o código.

Logo darei o retorno sobre os testes!

Obrigado novamente!

Att.:

Daniel

  • 2 meses depois ...
Postado (editado)

Na versão anterior, eu pegava os retornos da NFS-e da seguinte forma:

- fazia o ACBRNFSe.Enviar( Lote );

- pegava o retorno do ACBrNFSe.NotasFiscais.Items[0].NFSe.Protocolo

- pegava o retorno do ACBrNFSe.NotasFiscais.Items[0].NFSe.CodigoVerificacao

- pegava o retorno do ACBrNFSe.NotasFiscais.Items[0].NFSe.Numero

 

Agora vem o protocolo, mas o código de verificação e o número vem em branco

Tentei então ACBrNFSe.ConsultarLoteRps( Lote, Protocolo );

Mas retorna sempre como lote não processado.

Testei com os provedores Thema (Passo Fundo/RS) e ISSNET (Novo Hamburo/RS)

Mudou alguma coisa em relação aos comandos de envio de NFS-e, quando trocou para Trunk2?

Editado por Cristiane - Afirmação
  • Consultores
Postado

Bom dia Cristiane,

O componente esta configurado para Consultar o lote após o envio?

Se ao Consultar o Lote passando o numero do mesmo bem como o numero do protocolo retornado após o se envio isso significa que o Web Service demora para processar o lote.

Existem provedores que passam o dia recepcionando os lotes, para processa-los durante a madrugada.

Sendo assim só no dia seguinte é possível realizar a consulta e ter o resultado do seu processamento.

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,

Obrigada pela imediata resposta.

Na versão anterior, do trunk, eu simplesmente enviava, já obtinha a resposta (tanto de uma prefeitura quanto da outra).

Aí eu já podia pegar o número da nota que vinha como resposta e efetivá-la.

Agora não consigo mais fazer isso, em nehuma das duas prefeituras.

Retorna que o RPS foi enviado mas ainda não foi processado. 

Não pode ter mudado a maneira de trabalho das prefeituras, tem que ser algo a mais para configurar.

Agora configurei para consultar lote após o envio, mas não tive sucesso.

  • Consultores
Postado

Cristiane,

Você utiliza o método Enviar, com o componente configurado para consultar o lote após o envio quais são as ações que o componente executa?

Vamos lista-las na ordem que são executadas:

1. Consultar a Situação do Lote - Esta consulta pode nos retornar 4 informações diferentes: 1 - Lote não recebido, 2 - Lote em processamento, 3 - Lote processado com erro e 4 - Lote processado com sucesso.

2. Consultar o Lote - Esta consulta só é realizada caso a situação seja 3 ou 4, se for 3 essa consulta nos retorna quais são os erros e se for 4 ela nos retorna o XML da NFS-e.

O componente possui várias propriedades de configuração para determinar o tempo que o componente deve aguardar para consultar a situação do lote, a quantidade de tentativas de consulta, o tempo entre uma consulta e outra.

A principio o tempo antes de consultar a situação é zero, ou seja assim que é retornado o protocolo acusando que o web service recebeu o lote, o componente já consulta a situação do mesmo.

Caso a situação seja 2 - Lote em processamento, o componente aguarda 1 segundo e tenta novamente, podendo repetir esse processo 5 vezes.

Com as configurações mencionadas você pode mudar esse comportamento do componente, fazendo com que a quantidade de tentativas sejam 10 por exemplo.

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

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

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.