FAQs - Suporte técnico

MP - FRAME - FT_FREADLN() NÃO TRANSPORTA STRING MAIOR QUE 1 MB

OCORRÊNCIA
Ao utilizar a função FT_FReadLn() para realizar a leitura das linhas de um arquivo .CSV, caso o conteúdo tenha mais que 1 MB, o mesmo está sendo sendo cortado no caractere 1.024.

AMBIENTE
Protheus – ADVPL – A partir da versão 11.8

CAUSA
Devido a uma limitação de memória da função, o transporte de variáveis só ocorre até o 1.024º caractere.

SOLUÇÃO
Utilizar a classe FwFileReader() com o método GetAllLines().

EXEMPLO

// BIBLIOTECAS NESSÁRIAS
#Include "TOTVS.ch"

// BARRA DE SEPARAÇÃO DE DIRETÓRIOS

#Define BAR IIf(IsSrvUnix(), "/", "\")

//------------------------------------------------------

// ABRE UM ARQUIVO .CSV E ORGANIZA POR LINHA
//------------------------------------------------------
User Function T235CSV()
    Local cPath := BAR + "dirdoc" + BAR + "NFSE.csv"
    Local oFile := FwFileReader():New(cPath)
    Local aAux  := {}
    Local aLine := {}
    Local aHead := {}

     // SE FOR POSSÍVEL ABRIR O ARQUIVO, LEIA-O
    // SE NÃO, EXIBA O ERRO DE ABERTURA
    If (oFile:Open())
        aAux := oFile:GetAllLines() // ACESSA TODAS AS LINHAS

        // CRIA O CABEÇALHO E DELETA DO CONJUNTO DE LINHAS
        aHead := StrTokArr2(aAux[1], ";")
        ADel(aAux, 1)
        ASize(aAux, Len(aAux- 1)

        // SEPARA O VETOR EM NÍVEL CONFORME TOKEN
        AEval(aAux, {|xAAdd(aLine, StrTokArr2(x, ";", .T.))})
    Else
        Final("Couldn't find/open file: " + cPath)
    EndIf
Return (NIL)


SAIBA MAIS
FRAMEWORK - FWFILEREADER

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _