Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado (editado)

Boa Tarde!

Estou querendo implementar a NFSe para Holambra/SP e após descobrir o provedor eu alterei os arquivos Cidades.ini e Fiorilli.ini conforme arquivos anexados nesta pergunta. (busquem pelo código do município 3519055)

Minha pergunta é se somente esta alteração é suficiente?

Não consegui testar no ambiente homologação, após incluir os dados requeridos pelo provedor conforme abaixo:

//este não é o codigo completo, eu apenas quis mostrar como está sendo feito para homologação no provedor Fiorilli segundo as exigências do provedor
ACbrNFSe1.Configuracoes.Geral.Emitente.CNPJ := '01001001000113';
ACbrNFSe1.Configuracoes.Geral.Emitente.InscMun := '100010';
ACbrNFSe1.Configuracoes.Geral.Emitente.RazSocial := 'PRESTADOR TESTE';
ACbrNFSe1.Configuracoes.WebServices.Ambiente := taHomologacao;
ACbrNFSe1.Configuracoes.Geral.UserWeb := '01001001000113';
ACbrNFSe1.Configuracoes.Geral.SenhaWeb := '123456';
ACbrNFSe1.NotasFiscais.Add;
ACbrNFSe1.NotasFiscais.Items[0].RegimeEspecialTributacao := retNenhum;
ACbrNFSe1.NotasFiscais.Items[0].Producao := snNao;
ACbrNFSe1.NotasFiscais.Items[0].OptanteSimplesNacional := snNao;
ACbrNFSe1.NotasFiscais.Items[0].Servico.Valores.Aliquota := 2.00;
ACbrNFSe1.NotasFiscais.Items[0].Servico.ItemListaServico := '0105';
ACbrNFSe1.NotasFiscais.Items[0].PrestadorServico.Endereco.CodigoMunicipio := '3504800';

Ao chamar o método Enviar(), recebo a seguinte mensagem de erro:

"Arquivo enviado com erro na assinatura.
Acerte a assinatura do arquivo."

Já tentei alterar a lib para assinatura, mas não acho que seja esse o problema. Um fato curioso é que só obtenho esse retorno se antes não chamar o método NotasFiscas.GerarLote(). Chamando o método, ocorre o seguinte erro, já debuguei e ocorre no momento da assinatura:

"Erro não especificado."

A linha onde ocorre o erro usando a SLLLib = libWinCrypt:

unit ACBrDFeXsMsXml;

function TDFeSSLXmlSignMsXml.Assinar(const ConteudoXML, docElement,
  infElement: String; SignatureNode: String; SelectionNamespaces: String;
  IdSignature: String): String;
var
//...
begin
//..

      // Assinando com MSXML e CryptoLib //
      signedKey := xmldsig.sign(dsigKey, CERTIFICATES); //O erro ocorre nesta linha: linha 184
      if (signedKey = nil) then
        raise EACBrDFeException.Create('Assinatura Falhou.');
//..
end;

No ambiente de produção parece estar funcionando, mas como estou usando um CNPJ diferente do Emitente, retorna o erro:

"O CNPJ do Documento é diferente do CNPJ do Certificado Digital"

Então não verifiquei se foi consumido o Webservice ou se isso é um tratamento interno do componente.

Enfim, repetindo a pergunta: Basta eu alterar os arquivos .ini conforme eu fiz nos anexos?

EDIT: Esqueci de informar o ambiente, Windows Server 2012 R2 Standard e Delphi 2010. Atualizamos os fontes do ACBr hoje antes de testar novamente, está na revisão 13709.

Se precisarem de mais alguma informação, por favor comentem.

Grato pela atenção,

João Marcos
 

Cidades.ini

Fiorilli.ini

Editado por JoaoMJ
  • 1 mês depois ...
Postado

Boa tarde!

 

Ainda não consegui identificar o problema ocorrido acima, ao enviar o lote no ambiente de produção, recebo a mensagem: 

"Arquivo enviado com erro na assinatura.
Acerte a assinatura do arquivo."

Em anexo, o arquivo de lote assinado. Estou usando o WinCrypt para assinatura.

0210280854-env-lot.xml

0210280854-rec.xml

Postado

Boa tarde, Ítalo!

Com o programa exemplo não deu o erro e descobri o problema, era o número de lote que eu estava passando (esqueci completamente no exemplo que eu passei). Acredito que a causa era o número do lote conter zeros a esquerda. Estava assim o número do lote antes: '0210280854' (esse número de lote era para ser de Campinas, meu cliente havia emitido algumas notas por Campinas antes da alteração para Holambra)

Enviando o número do lote a partir do '1', sem zeros a esquerda, o problema foi solucionado e os envios estão ocorrendo normalmente.

Descobri depois de ir substituindo os valores passados no exemplo com os valores da minha query, consegui ver isso ontem mas acabei não respondendo aqui no fórum.

 

Ainda falta testar a rotina de cancelamento, a rotina de consulta de lote (parece que o provedor Fiorilli não disponibiliza consulta de situação de lote) também está OK.

Minha primeira vez usando o componente e primeira vez também com esse provedor, sou mais um migrando do flexdocs.

Obrigado pela atenção,

João

 

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