Ir para conteúdo
  • Cadastre-se

dev botao

Loadfromstream Acbrnfse


Ver Solução Respondido por Antonio Gomes,
  • Este tópico foi criado há 3271 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

O trecho abaixo: Do nada ao passar para o  RAD Studio XE2, passou dar problema que o arquivo está sendo cortado.

 

O erro acontece ao repassar o valor para ArquivoXML.Text, nessa linha o texto já vem cortado.

A solução paliativa que fiz, foi usar o comando LoadFromString direto do meu campo onde está o RPS, na ocasião estou lendo meu xml direto de um camo BLOB do banco de dados, segue exemplo:

 

        if cdsNFS.FieldByName('XMLRPS_NFS_NOTA').AsString <> '' then
          dmComercial.ACBrNFSe1.NotasFiscais.LoadFromString(cdsNFS.FieldByName('XMLRPS_NFS_NOTA').AsString)
        else if cdsNFS.FieldByName('XMLNFSE_NFS_NOTA').AsString <> '' then
          dmComercial.ACBrNFSe1.NotasFiscais.LoadFromString(cdsNFS.FieldByName('XMLNFSE_NFS_NOTA').AsString)
        else
          raise Exception.Create('XML da NFS-e ou RPS não pode ser lido. Favor verificar a emissão da NFS-e.');
 
Tenho isso gravado no banco pelo fato de cliente perder xml, logo, fica tudo la registrado, e ao emitir é gravado o campo, e para transmitir passo para outra tela... (isso aqui não importa muito, estou dizendo a titulo de explicar...)
 
O estranho é a variavel LocNFSeR.Leitor.Arquivo ter o corte já logo no inicio.
 
Em anexo segue o rps que fiz o load. (note que troquei apenas os dados do emissor e cliente)

 

 

function TNotasFiscais.LoadFromStream(Stream: TStringStream): boolean;
var
 LocNFSeR : TNFSeR;
 ArquivoXML: TStringList;
 XML : AnsiString;
 Tipo: Integer;
{$IFDEF DELPHI2009_UP}
 Encoding : TEncoding;
{$ENDIF}
 CodigoMunicipio, Prestador, RazaoSocial,
 CNPJ, IM, NumeroRPS, SerieRPS, TipoRPS: String;
 ok: Boolean;
begin
  try
   Result     := True;
   LocNFSeR   := TNFSeR.Create(Self.Add.NFSe);
   ArquivoXML := TStringList.Create;
 
   LocNFSeR.Leitor.CarregarArquivo(Stream);
   ArquivoXML.Text := LocNFSeR.Leitor.Arquivo;
   ArquivoXML.Text := StringReplace(StringReplace( ArquivoXML.Text, '&lt;', '<', [rfReplaceAll]), '&gt;', '>', [rfReplaceAll]);
   ArquivoXML.Text := NotaUtil.RetirarPrefixos(ArquivoXML.Text);
 

2015000000161021-Rps.xml

2015000000161021-Rps.xml

Link para o comentário
Compartilhar em outros sites

  • 2 semanas depois ...
  • Consultores

Bom dia,

 

Será que ao ler através do LoadFromStream ele detecta um carácter do tipo fim de arquivo e para de ler, provocando o corte.

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

  • 3 semanas depois ...
  • Este tópico foi criado há 3271 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.