Bom dia Emerson,
Fiz testes com binários distintos, NG, Logo Guará etc, em nenhuma das versões o TAB foi removido.
Você pode encapsular o AllTrim do binário adicionando o seu comportamento, com uma função, método estático etc, veja um exemplo abaixo:
#include "protheus.ch"
//-------------------------------------------------------------------
/*{Protheus.doc} TStringUtils
Classe com métodos estáticos para tratamento de strings
@author Daniel Mendes
@since 28/01/2020
@version 1.0
*/
//-------------------------------------------------------------------
class TStringUtils from longnameclass
static method TabAllTrim()
endclass
//-------------------------------------------------------------------
/*{Protheus.doc} TabAllTrim
Efetua o alltrim da string recebida
Também remove o TAB (Tabulação horizontal) - ASCII - 9
@param cValue Valor que será removidos os espaços
@return String sem espaços e tabs no começo e no final
@author Daniel Mendes
@since 28/01/2020
@version 1.0
*/
//-------------------------------------------------------------------
method TabAllTrim(cValue) class TStringUtils
return StrTran(AllTrim(cValue), Chr(9), "")
//-------------------------------------------------------------------
/*{Protheus.doc} u_AllTrim
Função de teste do método estático TStringUtils():TabAllTrim()
@author Daniel Mendes
@since 28/01/2020
@version 1.0
*/
//-------------------------------------------------------------------
function u_AllTrim()
local cString as char
cString := Chr(9) + " Daniel"
cString := TStringUtils():TabAllTrim(cString)
ConOut(cString)
MsgInfo(cString)
return nil
Deparei com o mesmo problema na 12.1.33, usei a função FwCutOff. AllTrim( FwCutOff( " texto " ) ) . https://tdn.totvs.com/display/framework/FwCutOff
— John Lenon 19 de Jan de 2022