Ir para conteúdo
  • Cadastre-se

FlávioDelesposte

Membros
  • Total de ítens

    6
  • Registro em

  • Última visita

Posts postados por FlávioDelesposte

  1. Boa tarde, amigos.

    Estou tendo problema com a consulta cadastro. Alguém pode ajudar? Os detalhes seguem abaixo.

    Utilizo Delphi 2007, ACBr e Schemas atualizados dia 10/08/2015.

    Obrigado.

     

    Erro: Could not find a part of the path '\\s3a699\S3A71018P0_DotNet\dotnet\Internet\ConsultaCadastroService\App_Data\consCad_v2.00.xsd'.

     

    Retorno do WebService: 

    - <retConsCad versao="2.00" xmlns="http://www.portalfiscal.inf.br/nfe">
    - <infCons>
      <cStat>99</cStat> 
      <xMotivo>Could not find a part of the path '\\s3a699\S3A71018P0_DotNet\dotnet\Internet\ConsultaCadastroService\App_Data\consCad_v2.00.xsd'.</xMotivo> 
      </infCons>
      </retConsCad>

     

  2. Estou tentando realizar o download de uma NF-e da Sefaz, tudo funciona perfeitamente até executar a função ACBrUtil.ParseText, mais precisamente na chamada a função Utf8Decode que retorna vazio.

    A função Utf8Decode faz chamada a função Utf8ToUnicode que devolve -1. Ou seja, ocorreu algum erro na conversão. Debugando... consegui encontrar que o problema ocorre quando a função Utf8ToUnicode passa pelo caractere BELL. Já tentei criar uma outra função para remover o BELL antes de chamar a função Utf8Decode, mas não deu certo.

    Como “alternativa” fui na função ACBrUtil.ParseText e realizei algumas mudanças conforme abaixo, está resolvendo por enquanto, mas creio que não é uma boa opção, rs.

    Segue em anexo o XML da NF-e que consegui após realizar a modificação na função ACBrUtil.ParseText.

    Estou usando Delphi 2007. 

    Agradeço a quem puder ajudar.

    function ParseText( Texto : AnsiString; Decode : Boolean = True;
       IsUTF8: Boolean = True ) : AnsiString;
    var
      {Adicionado para resolver o problema de conversão}
      TextoTemp: AnsiString;
    begin
      if Decode then begin
        Texto := AnsiString(StringReplace(String(Texto), '&amp;', '&', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&lt;', '<', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&gt;', '>', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&quot;', '"', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&#39;', #39, [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&aacute;', 'á', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Aacute;', 'Á', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&acirc;' , 'â', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Acirc;' , 'Â', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&atilde;', 'ã', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Atilde;', 'Ã', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&agrave;', 'à', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Agrave;', 'À', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&eacute;', 'é', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Eacute;', 'É', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&ecirc;' , 'ê', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Ecirc;' , 'Ê', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&iacute;', 'í', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Iacute;', 'Í', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&oacute;', 'ó', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Oacute;', 'Ó', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&otilde;', 'õ', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Otilde;', 'Õ', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&ocirc;' , 'ô', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Ocirc;' , 'Ô', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&uacute;', 'ú', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Uacute;', 'Ú', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&uuml;'  , 'ü', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Uuml;'  , 'Ü', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&ccedil;', 'ç', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&Ccedil;', 'Ç', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '&apos;', '''', [rfReplaceAll]));
        
        {Adicionado para resolver o problema de conversão}
        TextoTemp := Texto;
        
        if IsUTF8 then
        begin
          {$IFDEF DELPHI12_UP}  // delphi 2009 em diante
           Texto := AnsiString(UTF8ToString(Texto));
          {$ELSE}
           Texto := Utf8ToAnsi(Texto);
          {$ENDIF}
        end;
      end
      else begin
        Texto := AnsiString(StringReplace(String(Texto), '&', '&amp;', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '<', '&lt;', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '>', '&gt;', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), '"', '&quot;', [rfReplaceAll]));
        Texto := AnsiString(StringReplace(String(Texto), #39, '&#39;', [rfReplaceAll]));
        if IsUTF8 then
        begin
          {$IFDEF DELPHI12_UP}  // delphi 2009 em diante
           Texto := AnsiString(UTF8ToString(Texto));
          {$ELSE}
           Texto := AnsiString(UTF8Decode(Texto));
          {$ENDIF}
        end ;
      end;
    
      {Adicionado para resolver o problema de conversão}
      if Texto = '' then begin
        Result := TextoTemp;
      end
      else begin
        Result := Texto;
      end;
    end;
    

    32150627124023000164550000000151741000043990-nfe.xml

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