Ir para conteúdo
  • Cadastre-se

dev botao

Não reconheçe arquivo de lote RPS ao importar


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

Recommended Posts

  • Membros Pro

Boa tarde, atualizei hoje os fontes acbr e começou a não importar todas as notas do arquivo de lote, somente a primeira. Sei que existia alguma rotina onde era feito um reconheçimento se o arquivo era de lote ou não mas como alterou os fontes não achei mais. O código abaixo achei estranho pois nem sempre um arquivo rps terá em seu nome "-rps.xml", estaria ali o erro?

 

function TNotasFiscais.LoadFromFile(CaminhoArquivo: String;
  AGerarNFSe: Boolean = True): Boolean;
var
  XMLStr: String;
  XMLUTF8: AnsiString;
  i, l: integer;
  MS: TMemoryStream;
begin
  MS := TMemoryStream.Create;
  try
    MS.LoadFromFile(CaminhoArquivo);
    XMLUTF8 := ReadStrFromStream(MS, MS.Size);
  finally
    MS.Free;
  end;

  l := Self.Count; // Indice da última nota já existente

  // Converte de UTF8 para a String nativa da IDE //
  XMLStr := DecodeToString(XMLUTF8, True);
  Result := LoadFromString(XMLStr, AGerarNFSe);

  if Result then
  begin
    // Atribui Nome do arquivo a novas notas inseridas //
    for i := l to Self.Count - 1 do
    begin
      if Pos('-rps.xml', CaminhoArquivo) > 0 then
        Self.Items.NomeArqRps := CaminhoArquivo
      else
        Self.Items.NomeArq := CaminhoArquivo;

    end;
  end;
end;

Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

O nome do arquivo não tem nada haver com a sua leitura.

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

  • Membros Pro

Estive pesquisando o porque de importar somente a primeira nota do rps, comparando os fontes do acbr. Na unit pnfsConversao, na função

Citar

 

function RetirarPrefixos(const AXML: String; AProvedor: TnfseProvedor): String;
var
 XML: String;
begin
......L := StringReplace( XML, ']]>', '', [rfReplaceAll] );
 XML := StringReplace( XML, 'R$', '', [rfReplaceAll] );
 }
 // Provedor Governa, os prefixos não tem ":"
 if AProvedor = proGoverna then <<<<<<<<<<<<<<<<<<<<<<
 begin
   XML := StringReplace( XML, 'tc', '', [rfReplaceAll] );
   XML := StringReplace( XML, 'ts', '', [rfReplaceAll] );
 end;

 result := XML;
end;

 

Comentando o " if AProvedor = proGoverna then " para ficar igual as versões anteriores a importação do RPS volta a funcionar. Não entrei nos detalhes para saber exatamente o motivo mas creio que pra quem conheçe bem o acbr fique fácil

Abaixo parte de um arquivo rps, note que tem uma tag contendo "tc"

<?xml version="1.0" encoding="utf-8"?>
<ConsultarLoteRpsResponse xmlns="http://www.e-governeapps2.com.br/">
    <ConsultarLoteRpsResult>
        <ListaNfse>
            <CompNfse>
                <tcCompNfse>
                    <Nfse>
                        <InfNfse>
                            <Numero>4765</Numero>
                            <CodigoVerificacao>1EJJW10F</CodigoVerificacao>
                            <DataEmissao>2016-10-03T00:00:00</DataEmissao>
                            <IdentificacaoRps>
                                <Numero>5898</Numero>
                                <Serie>F</Serie>
                                <Tipo>1</Tipo>
                            </IdentificacaoRps>
                            <DataEmissaoRps>2016-10-03T00:00:00</DataEmissaoRps>
                            <NaturezaOperacao>1</NaturezaOperacao>
                            <RegimeEspecialTributacao>0</RegimeEspecialTributacao>
                            <OptanteSimplesNacional>1</OptanteSimplesNacional>
                            <IncentivadorCultural>2</IncentivadorCultural>
                            <Competencia>0001-01-01T00:00:00</Competencia>
                            <NfseSubstituida>0</NfseSubstituida>
                            <Servico>
                                <Valores>

 

 

Editado por Digibyte
Acréscimo de informação
Link para o comentário
Compartilhar em outros sites

  • Consultores

Boa noite,

Favor anexar o arquivo completo para que possamos realizar testes.

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

  • 2 semanas depois ...
  • 2 semanas depois ...
  • Consultores

Boa noite,

O problema esta na existência de dois grupos CompNfse só que um tem um prefixo tc sem os dois pontos.

Ainda estou estudando como resolver esse problema.

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

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