Ir para conteúdo
  • Cadastre-se

Augusto Fontana

Membros
  • Total de ítens

    171
  • Registro em

  • Última visita

Posts postados por Augusto Fontana

  1. Boa tarde Régys,

     

    Não utilizo o Acbrnfemonitor, agora quando vou imprimir a NFC-e aparece a mensagem "Sistema não está de acordo com a versão do Fortes", antes da alteração não aparecia.

     

    Pelo que verifiquei no arquivo ACBrDANFCeFortesFr.pas, foi fixada a versão 72, sendo que tenho instalada a versão 71. Não seria mais correto definir a versão fora do arquivo, assim cada um poderia definir conforme a versão que tem instalada.

  2. Boa tarde,

     

    defini o parâmetro "Sincrono" para false, após o envio ser realizado com sucesso não está sendo feita a consulta do processamento do lote, como ocorre com a NF-e. Penso que o envio assíncrono da NFC-e deve funcionar igual a NF-e. Segue em anexo alteração para realizar a consulta após o envio.

     

    Fiz também uma alteração para verificar o status da NFC-e quando o envio for Síncrono, pois em alguns casos o lote está vindo com status 104, mas a NFC-e não foi autorizada em decorrência de algum erro. Nesse caso deveria ser gerada a exceção informando o erro em questão. Fiz o teste definindo um CFOP inválido para a NFC-e.

    ACBrNFeWebServices.pas

  3. Valeu Italo, funcionou corretamente as duas formas de envio.

     

    1) Ao tentar realizar a assinatura do XML de cancelamento está aparecendo a mensagem: "Erro não especificado". Pelo que verifiquei o Id do cancelamento está muito grande, "pedidoCancelamento_38523317000185301091201400000000035". Após setar o id para vazio o cancelamento funcionou corretamente. Alterado arquivo "ACBrNFSeWebServices".

     

    2) O provedor prevê a definição do motivo do cancelamento, campo não obrigatório. Mas como pretendo usar o código de cancelamento "C999", sou obrigado a preencher o motivo. Fiz alteração para incluir o motivo do cancelamento quando for Pública. Alterado arquivos "ACBrNFSeWebServices" e "pnfsNFSeG".

     

     

    Seguem alterações dos arquivos em anexo.

     

    Alteraçoes.rar

  4. Italo

     

    Estou usando os dois métodos. Quando tenho que enviar mais de um RPS, uso o envio de Lote, quando é apenas um RPS, uso o Gerar. Tive que fazer assim para esse provedor, pois ele demora muito para processar os lotes. Para outros provedores uso apenas o envio de lote.

     

    Com relação ao item 2 é exatamente isso. Sendo que na alteração que fiz, deixei a propriedade AssinarLote como true pois não interfere no "Gerar".

     

    Seguem XMLs

    134-ger-nfse.xml

    328-env-lot.xml

  5. Italo,

     

    1) Se não tiver a tag "GerarNfseEnvio" quando realizar a assinatura, ao enviar o arquivo o provedor acusa erro no hash. Após colocar novamente, o provedor passou a aceitar o arquivo. Pelo que entendi, se assinar apenas o que estiver dentro da Tag RPS, o provedor considera como inválido.

    2) No envio do lote a propriedade AssinaRPS deve estar desabilitada, se estiver habilitada o provedor vai acusar erro no hash. Ou seja, apenas o lote deve estar assinado. Sendo que no Gerar (somente um RPS) a propriedade precisa estar habilitada, caso contrário o provedor retorna problema no hash.

     

    Realizei vários testes com as alterações que fiz, e dessa forma está funcionando, tanto o lote com até 50 RPS ou o Gerar (Somente um RPS);

  6. Estou realizando os testes e tanto o envio de lote quanto o envio individual da NFS-e estão funcionando.

     

    Quanto ao envio do lote o servidor da prefeitura está demorando para fazer o processamento, entrei em contato com o suporte da Pública e me informaram que pode levar até 15 minutos, então se for necessário enviar poucas notas, é melhor usar o envio individual do que o lote.

  7. 1) Para que o envio de lote ("Gerar e Enviar Lote") funcione, o provedor precisa estar configurado da seguinte forma:

    ConfigCidade.AssinaRPS  := false;
    ConfigCidade.AssinaLote := true;

     

    2) Para que o envio da NFS-e ("Gerar e Enviar NFSe") funcione, é preciso realizar a assinatura com a tag "GerarNfseEnvio" presente no XML.

    Italo removi alguns comentários que vc colocou nos fontes relacionados ao provedor Publica, pois sem eles dava problema na validação do Hash.

    O provedor deverá estar configurado da seguinte forma para envio da NFS-e:

    ConfigCidade.AssinaRPS  := true;
    ConfigCidade.AssinaLote := true;

     

    Alguma sugestão de como alterar os fontes, para que quando for enviar o lote a propriedade "AssinaRPS" fique false ?

     

    Eu criei o write para a propriedade na classe TCertificadosConf e antes de chamar a rotina de envio do lote estou setando a propriedade para false,

    mas não me parece a forma ideal. De qualquer maneira seguem em anexo os arquivos alterados.

     

    As alterações não irão afetar quem já usa da forma atual, através da geração da NFS-e sem o lote.

     

    Italo tem como liberar essas alterações ?

    AlteraçoesPublica.rar

  8. Boa tarde Italo

     

    Fiz o teste colocando um CNPJ de outra empresa, foi apresentada a mensagem "CNPJ do pretador não autorizado a emitir NFSe". Ou seja, a validação do CNPJ é realizada antes da validação do Hash, por isso vc não conseguiu simular. Com o CNPJ do meu cliente aparece a mensagem do Hash inválido.

  9. Boa tarde Italo

     

    Fiz os testes, e usando o CAPICOM o servidor da prefeitura está retornando a mensagem de erro "Assinatura do hash não confere" tanto no Envio de lote quanto no Envio de NFSe. Com o OpenSSL está dando falha na assinatura: "Error: signature failed".

     

    Antes das alterações, a operação Envio de NFSe funcionava, pois não tinha o atributo id como mencionado pelo Akai.

     

    É possível realizar a assinatura do XML sendo que o id é com "i" minúsculo ? Eu nunca consegui fazer funcionar nesses casos.

  10. Pelo que verifiquei o Provedor pública aceita apenas o id com "i" minúsculo o que inviabiliza a assinatura com o CAPICOM. Tentei usar o OpenSSL mas sempre recebo a mensagem de erro: "Error: signature failed" ao assinar o lote. O InfRps está sendo assinado corretamente.

     

    Já entrei em contato com o pessoal da Pública cobrando sobre o Id, mas eles não tem previsão de quando será liberado a correção.

  11. Sim, os fontes estão atualizados,

     

    a rotina ACBrNFSe.Gerar está funcionando, mas o envio de lote apresenta os erros mencionados.

     

    Como o provedor prevê o envio de lotes penso que seria bom também ser implementado.

    Por isso comentei que se colocar o id nas tags "InfRps" e "LoteRps" talvez funcione o envio de lote, mas não sei como colocar o id nessas tags, para fazer os testes.

  12. Boa tarde, pelos testes que fiz encontrei as seguintes situações:

     

    No envio de lote RPS (ACBrNFSe.Enviar()):

     

    1) Integração com CAPICOM

    - Servidor retorna a mensagem de erro: "Assinatura do hash não confere". Fiz a validação do arquivo no site da receita federal e realmente ele está com erro na assinatura.

     

    2) Integração com OpenSSL

    - Aparece a mensagem: "Error: unable to parse". Está faltando declarar "proPublica" no método "AssinarLibXML" da unit "ACBrNFSeUtil". Segue correção no arquivo em anexo.

    - Após a correção acima, o servidor está retornando a mensagem: "Arquivo enviado fora da estrutura do arquivo XML"

     

    Acredito que o servidor da prefeitura esteja obrigando o preenchimento do atributo "id". Alguém sabe como faço para declarar o atributo "id" para as tags "InfRps" e "LoteRps" ?

     

    ACBrNFSeUtil.pas

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