Ir para conteúdo
  • Cadastre-se

Rômulo da Costa de Souza

Membros
  • Total de ítens

    139
  • Registro em

  • Última visita

Posts postados por Rômulo da Costa de Souza

  1. Boa tarde @EMBarbosa,

      Atualizei meus fontes, estou na revisão 21927, identifiquei a mudança do método LFill() pelo DFill(), nos métodos WriteRegistroC181() e WriteRegistroC185(), porém foi definido o parâmetro do decimal com o valor zero(0). Peço que ignore a linha 1246 do método WriteRegistroC100().

       Apenas para comentar essa troca do método LFill() pelo DFill(), pode ser que em alguns casos funcione. Porém a definição de gerar com o valor em branco ou zerado, para alguns campos depende do código do motivo da restituição, acredito que a melhor solução seria extrair essa definição do valor do campo para fora do componente. Quem sabe definir essas propriedades como Variant, conforme foi comentado  anteriormente.

    image.thumb.png.1d4d2509520d8ff7f7dc3f42fbe04c84.png

     

    Obrigado pela Atenção!

    ACBrEFDBloco_C_Class.pas

  2. Boa tarde pessoal,

       Implementei uma classe para carregar as informações da tabela de códigos de beneficio fiscal, gostaria de compartilhar com a comunidade. Quem sabe possamos no futuro estender essa implementação para um componente ACBrCBenef.

    Os passos para utilizar:

    1º) Baixar a tabela http://www.nfe.fazenda.gov.br/portal/exibirArquivo.aspx?conteudo=heuMWX0urg0=

    2º) Salvar cada UF em um arquivo CSV

    3º) Carregar 1 arquivo por vez

    Obs.: O funcionamento segue na mesma ideia do componente de IBPT, porém ainda não implementei o download da tabela.

    ACBrCBenef.pas

    • Curtir 1
  3. Em 15/02/2021 at 15:18, EMBarbosa disse:

    Muito obrigado pela contribuição. Realmente a validação dos registros C180 e C181 estavam incompletos.
    Fiz a implementação das validações baseada nela.

    Subi as alterações relacionadas a isso para o SVN na Revisão  21368. Mas não subi nenhuma das outras alterações.

    Sobre a questão de campos que podem tanto ficar vazios ou serem preenchidos com algum valor nulo (como zero ou espaço). O padrão dos componentes atualmente é usar como tipo de campo "Variant". Caso queira enviar correções nesse sentido, peço que por favor inicie um novo tópico. Pode ter uma ideia de implementar analisando o Registro C815.

    Queira por favor atualizar, testar e reportar qualquer problema.

    Mais uma vez obrigado.

    Bom dia,

      Certo, quando atualizarmos os fontes farei o teste, e logo em seguido devolvo o feedback!

    Obrigado!

  4. Bom dia Pessoal, 

      Apenas para explicar a situação, meu modulo de emissão de NFCe a cada nota instancio um objeto novo do ACBrNFe, dessa forma nunca obtive esse erro. Porém  em meu modulo NFe não estou fazendo isso. Ressalto que começou a ocorrer esse erro a partir de alguma versão do ACBr, trabalho com o mesmo já fazem muitos anos e não estou lembrado de obter esse erro. Entretanto tudo parte de uma instabilidade na Sefaz e acaba não executando a rotina para limpar a lista HeaderReq, por mais que a Sefaz normalize, se eu não fechar a minha aplicação acabo sempre obtendo o erro 183.

    Segue em anexo o arquivo ACBrWinReqRespClass.pas

    ACBrWinReqRespClass.pas

  5. Olá pessoal,

      Estava efetuando um teste na consulta do contribuinte, por obra do destino em modo debug, e o erro 183 ocorreu, resolvi efetuar uma analisa, acabei descobrindo que na unit ACBrWinReqRespClass, método Send(), quando ocorre um erro no método SendData() que é chamdo pelo método Send(), logo abaixo efetuamos um raise. Com isso acaba não efetuando o código que limpa a lista FHeaderReq. Cada vez que tentamos efetuar novos envios para a sefaz ao chamar o método CalculateHeaderReq(), dentro do métode SendData() da unit ACBrWinHTTPReqResp, acaba sempre inserindo os dados do host gerando a seguinte situação:

    'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Host: cad.sefazrs.rs.gov.br'#$D#$A'Host: cad.sefazrs.rs.gov.br'#$D#$A'Host: cad.sefazrs.rs.gov.br'#$D#$A'Host: hom.nfe.fazenda.gov.br'#$D#$A'Content-Type: application/soap+xml; charset=utf-8; charset=utf-8'#$D#$A'Accept-Charset: utf-8'#$D#$A'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF"'#$D#$A

    E o Correto seria:

    'Host: nfe-homologacao.sefazrs.rs.gov.br'#$D#$A'Content-Type: application/soap+xml; charset=utf-8; charset=utf-8'#$D#$A'Accept-Charset: utf-8'#$D#$A'SOAPAction: "http://www.portalfiscal.inf.br/nfe/wsdl/NFeStatusServico4/nfeStatusServicoNF"'#$D#$A

    fico a disposição para efetuar a correção, acredito que com um "try finally" resolvemos o problema, mas gostaria da opinião de todos.

     

    • Obrigado 1
  6. Boa tarde Juliomar,

      Concordo! Efetuei esses tratamentos pelos códigos "RS" nos métodos TBloco_C.WriteRegistroC181() e TBloco_C.WriteRegistroC185() por causa do Validador do SPED ICMS/IPI, em alguns casos dependendo do código não pode ser enviado o valor 0 (zero), e sim o caractere delimitador. Pelo fato de estar corrido acabei fazendo o tratamento diretamente nos métodos. Uma solução seria alterarmos essas propriedades para o tipo Variant, com isso possibilitamos efetuar o tratamento pela aplicação.

    Efetuei uma melhoria nesses métodos, segue em anexo o arquivo.

    ACBrEFDBloco_C_Class.pas

  7. Boa tarde Pessoal, 

      Analisando o manual EFD-ICMS/IPI – Versão 3.0.6, identifiquei na página 307 o seguinte:

    Para o Perfil A os registros C180 e C181, operações de entrada, até então pode ser informado no meu entendimento, porém no arquivo ACBrEFDBloco_C_Class, nos métodos "TBloco_C.WriteRegistroC180()" e "TBloco_C.WriteRegistroC181()", temos a seguinte validação:

    if FBloco_0.Registro0000.IND_PERFIL in [pfPerfilA] then
      Check(False, 'O RegistroC181, não deve ser gerado em movimentações de saída, no %s, conforme ATO COTEPE 09/08', ['PerfilA']);

    Gostaria de ver se alguém mais teve o mesmo entendimento. Se sim, poderíamos passar o objeto RegC100 para os métodos "TBloco_C.WriteRegistroC180()" e "TBloco_C.WriteRegistroC181()", e verificar se é uma operação de saída e for perfil A, levantamos a exceção!

  8. Em 30/10/2019 at 13:34, Italo Jurisato Junior disse:

    Boa tarde Rômulo,

    Já fiz as alterações tanto no arquivos Cidades.ini quanto no Pronimv2.ini, ainda hoje vou enviar para o repositório.

    Assim todos podem iniciar os testes.

    Boa tarde Italo,

      Atualizamos os fontes hoje, assim que possível vou efetuar alguns testes, obrigado!

    • Curtir 2
  9. Sobre a questão do ambiente de homologação, analisando as URL do arquivo Pronimv2.ini, segue um padrão, por exemplo:
    Produção: http://nfse.catanduva.sp.gov.br/NFSe.Portal.Integracao/Services.svc

    Homologação: http://nfse.catanduva.sp.gov.br/NFSe.Portal.Integracao.Teste/Services.svc

    Acredito que para Uruguaiana-RS vai ser assim:

    Produção: http://uruguaiana-portais.govcloud.com.br/nfse.portal.integracao/services.svc

    Homologação: http://uruguaiana-portais.govcloud.com.br/nfse.portal.integracao.teste/services.svc

    porem não esta funcionado ainda o ambiente de homologação.

    • Curtir 1
  10. 44 minutos atrás, Rômulo da Costa de Souza disse:

    Boa tarde Italo, 

      A prefeitura esta aceitando as notas emitidas  no layout da ABRASF versão 1, apenas fizemos o ajuste da URL de produção no arquivo Pronim.INI conforme o @douffreis mencionou acima. Vou ver se eu consigo a URL de homologação. Outro detalhe que percebemos é a questão do Código de Cancelamento, esta levantando uma rejeição CE96-Codigo de cancelamento invalido, hoje permitimos o usuário selecionar ao cancelar os seguintes códigos  1-Erro na Emissão,  2-Serviço Não Prestado e 4-Duplicidade da Nota. Analisando o manual da Pronim seriam esses os códigos permitidos, mas conhecendo o histórico das nfse's, acredito que o manual ainda não foi atualizado.

        Uma alternativa seria alterar no arquivo de Cidades.INI o Provedor para Pronimv2 e efetuar os devidos testes, dessa forma iremos emitir no layout 2.02 da ABRASF. No site da prefeitura já tem um aviso que vai entrar em vigor a partir de 02/12/2019 a versão 2.03 do layout da ABRASF.

    segue o link do site da prefeitura: https://www.uruguaiana.rs.gov.br/servico/view/17/nota-fiscal-eletronica

    segue o link do site da abrasf: www.abrasf.org.br/paginas_multiplas_detalhes.php?cod_pagina=1&titulo=TEMAS%20T%C9CNICOS&data=nao

     

  11. Boa tarde Italo, 

      A prefeitura esta aceitando as notas emitidas  no layout da ABRASF versão 1, apenas fizemos o ajuste da URL de produção no arquivo Pronim.INI conforme o @douffreis mencionou acima. Vou ver se eu consigo a URL de homologação. Outro detalhe que percebemos é a questão do Código de Cancelamento, esta levantando uma rejeição CE96-Codigo de cancelamento invalido, hoje permitimos o usuário selecionar ao cancelar os seguintes códigos  1-Erro na Emissão,  2-Serviço Não Prestado e 4-Duplicidade da Nota. Analisando o manual da Pronim seriam esses os códigos permitidos, mas conhecendo o histórico das nfse's, acredito que o manual ainda não foi atualizado.

  12. Bom dia Italo,

        Estou te enviando uma pequena correção que tive que fazer no arquivo pnfsNFSeR.pas para o Provedor ABase. Segue também em anexo, o envio dos RPS e o Retorno da NFSe para esse provedor. Basicamente o problema esta em relação a uma tag que se chama Rps, que acaba ocasionando um problema ao capturar o valor da tag Status, IdentificacaoRps e RpsSubstituido.

    Obrigado pela Atenção!

        

    NFSe.zip pnfsNFSeR.pas

    • Curtir 1
  13. Boa tarde Rafael, 

        Essa alteração que você fez na linha 220 de aDoc para SignNode, esta retornando erro de compilação "Incompatible types: 'xmlDocPtr' and 'xmlNodePtr'", só me confirma se foi só isso a alteração que você fez, desde já obrigado pela atenção!

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