Ir para conteúdo
  • Cadastre-se

dev botao

Assinatura Nfse - Betha


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

Recommended Posts

Olá,

estou com alguns problemas/dúvidas quanto ao componente ACBr, e se for possível queria compartilhar com vocês meu problema para que possa chegar a uma solução da melhor forma possível, vou detalhar-lhes meu caso:

 

No momento levo uma estrutura separada de emissão de notas, por exemplo:
Geramos um script de Nota Fiscal XML, a mesma é interpretada e depois exportada... Neste meio caminho precisaria que a mesma fosse assinada para a importação no sistema da Prefeitura de meu cliente.

1. É possível utilizar a plataforma ACBr apenas para assinatura ?
2. Alguém teria um exemplo simples de assinatura de Nota, que seja somente assinatura, sem encargos de outros campos XMLs ?

 

Estou estudando o componente e verifiquei que existem vários casos onde o mesmo especifica XML e Certificado, Assina, Valida, e após isso Exporta. Fiz alguns procedimentos como:

 

- Passar o arquivo XML;

- Setar o Certificado/Senha;

- Exportar(exporta um arquivo XML sem nenhum campo, apenas com o "Header").

 

Talvez falte um pouco de conhecimento quanto ao componente, até porque pelo que verifiquei será necessário especificar a cidade e  o provedor para que possa ser validado...

 

Não será necessário utilização de WebService para o procedimento, pois no final das contas preciso apenas desse XML assinado.

 

Obrigado!

 

Eduardo Barbiero.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Bom dia Eduardo,

 

Pelo que entendi a sua aplicação já gera o XML do RPS, correto?

 

Pois bem, sem entrar no mérito do porque de tudo isso, em vez de utilizar o componente para fazer tudo, vamos ao que possa ser uma solução:

 

1. Configurar o componente para a cidade desejada;

2. Executar o LoadFromFile para ler o XML gerado pela sua aplicação;

3. Executar o Assinar;

4. Executar o SaveToFile para gravar o XML assinado;

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

Olá Italo, obrigado pela resposta,

 

utilizamos dessa forma pela pouca demanda e manutenção que temos quanto as Notas Fiscais de Serviço, mas enfim...

 

A cidade de Gramado "Cod IBGE. 4309100" não está sendo aceita pelo componente, preciso fazer alguma alteração quanto a isso ? testei com uma cidade de uma pessoa aqui do fórum do mesmo provedor(Betha) e o mesmo funciona corretamente.

 

Mais uma vez obrigado, vai ser mais simples do que eu imaginava, ACBr foi muito bem estruturado!

Editado por eduardoyoungarts
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Eduardo,

 

É preciso saber qual é o provedor que atende a cidade de Gramado, alem disso se o mesmo for um provedor ainda não implementado no componente, precisamos saber se o mesmo segue ou não o padrão ABRASF.

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 Eduardo,

 

Pelo que entendi a sua aplicação já gera o XML do RPS, correto?

 

Pois bem, sem entrar no mérito do porque de tudo isso, em vez de utilizar o componente para fazer tudo, vamos ao que possa ser uma solução:

 

1. Configurar o componente para a cidade desejada;

2. Executar o LoadFromFile para ler o XML gerado pela sua aplicação;

3. Executar o Assinar;

4. Executar o SaveToFile para gravar o XML assinado;

Italo, fiz os procedimentos que foram listados por você, e o que aconteceu foi o seguinte.

Fiz uma configuração de uma cidade qualquer que também seja provedor da Betha(encontrei em um dos tópicos já criado aqui), pelo fato de Gramado não estar disponível no componente. Até então tudo certo.

 

Porém, quando se é passado do XML via LoadFromFile, e após isso assinado, ele remove todos os valores do meu XML, retornando um XMLvazio.

  ACBrNFSe1.NotasFiscais.LoadFromFile(sArquivo);
  MemoProgresso.Lines.Add('Assinando Arquivo...');
  ACBrNFSe1.NotasFiscais.Assinar;
  ACBrNFSe1.NotasFiscais.Valida; 
  ACBrNFse1.NotasFiscais.SaveToFile;

Ele gera assinatura toda correta, validando no site da receita e tudo porém, quando é feita a validação o mesmo estoura em vários pontos, pelo fato do XML estar com os campos vazios.

 

Você já passou por algo parecido ? ou falta alguma etapa que estou esquecendo de efetuar ?

 

Obrigado pela atenção!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Eduardo,

 

Você gerando o XML do RPS ou da NFS-e?

 

O componente somente assina RPS e lote de RPS, a NFS-e é gerada pelo Web Service do Provedor e retornado para o Emitente do 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

Isso geramos o XML o RPS.

 

Eu faço o seguinte, eu emito XML do RPS pelo nosso sistema, com base nisso, criei uma outra aplicação só para receber esse XML e assinar com o componente, isso é possível correto ?

Porém acontece isso que lhe detalhei acima... o mesmo não somente assina, ele gera um XML novo só que com os campos novos...

 

Será que pode ser configuração de Cidade ?

 

Antes de Assinar eu faço o seguinte.

  ACBrNFSe1.Configuracoes.Certificados.SelecionarCertificado;
  ACBrNFSe1.Configuracoes.Geral.PathSchemas := IncludeTrailingBackslash(ExtractFilePath(Application.ExeName)) + 'Schemas\Betha';
  ACBrNFSe1.Configuracoes.WebServices.SetConfigMunicipio(ACBrNFSe1.Configuracoes.Geral.PathSchemas); //estou utilizando para testes a cidade de Laguna - 4209409

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Eduardo,

 

Se a cidade não consta no componente vinculada a um provedor, acredito que não vai funcionar a contento.

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

Conforme específicado neste tópico,  a cidade de Laguna já foi inserida... a que estou precisando é para Gramado, mais até que não seja feita a inserção, estou testando com essa cidade...

Eu estava verificando que quando a cidade não existia ele dava um alerta que a mesma não estava cadastrada... porém agora com Laguna não acontece, então não deve ser isso...

 

Esse problema na cidade que falei pra você, pode ser alguma configuração do componente que eu esteja colocando errado... alguma especifica para RPS...

Link para o comentário
Compartilhar em outros sites

  • Consultores

Eduardo,

 

Atualize os fontes, inclui a cidade de Gramado no provedor Betha.

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

Italo, efetuei vários testes e até mesmo fiz algumas modificações(apenas chamadas, nada que afetasse no funcionamento) no componente, adequando a minha necessidade, porém estou com alguns problemas. Podem não ser problemas, apenas falta de conhecimento no componente/procedimentos.

 

Utilizava a função Assinar de Notas Fiscais porém o mesmo gerava um novo RPS seguindo do modelo disponível, fazendo com que as informações passadas pelo meu XML não fossem mais encontradas, e há um detalhe, essa assinatura gerada no novo RPS criado, é aceita pelo site da receita, enfim. 

 

Criei uma função que passa os valores diretamente para dentro da Alimentadora da Assinatura(AssinarMSXML), com os parâmetros necessários para essa assinatura, e por fim, retornando o mesmo assinado. Porém o mesmo não é validado no site da receita, e não é validado pela Betha, tras as informações de Certificado Inválido.

 

Tenho alguns pontos que podem ajudar talvez na resolução do problema:

 

- Pesquisei quanto ao campo "DigestValue" e o mesmo muda conforme o XML gerado;

- Campo "SignatureValue", não consegui identificar, porém ele também altera conforme assino meu XML;

- Campo "X509Certificate" não altera entre os mesmos.

 

Ou seja, utilizando conforme proposto, a função Assinar, gera o um novo RPS. Utilizando a função AssinarMSXL diretamente, ela assina meu XML porém não é validado.

 

Tens algo em mente do que pode ser ?

 

Obrigado!

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa tarde Eduardo,

 

No caso da NFS-e não podemos montar uma rotina semelhante a da NF-e.

 

Você deve alimentar o componente com os dados do RPS e em seguida executar o Enviar.

 

Deixe que o componente se encarregue de fazer o resto.

 

Só para você ter uma ideia, no caso da NF-e efetuamos a validação de cada nota que vai fazer parte do lote, por outro lado na NFS-e, realizamos a validação do lote de RPS e não de cada 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

Italo o que procede no momento, quando efetuo uma Assinatura de Lote, o mesmo em certo ponto remove o valor do meu XML deixando apenas a assinatura.

 

Vou te detalhar em qual momento ocorre isso.

 AXML := copy(AXML, 1, pos('</'+ APrefixo3 + EnviarLoteRps + '>', AXML) - 1); //Neste momento o copy retorna '' -> vazio

Após isso o passo de assinatura e feito, porém o XML é perdido neste ponto... vou tentar resolver e caso consiga, volto a falar aqui... ou se for possível, poderias testar para mim ?

 

Posso lhe passar o XML da Betha para testar...

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • 3 anos depois...
  • 6 meses depois ...
  • Administradores

Boa tarde.

Este tópico está inativo a algum tempo e por isso será fechado, caso necessário favor criar um novo tópico.

Att.

Consultora SAC ACBr

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.  Discord

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

Link para o comentário
Compartilhar em outros sites

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