Olá pessoal…
Hoje vou mostrar uma função que desenvolvi que tira os zeros a esquerda de uma variável caracter (string) em AdvPL.
Essa função basicamente percorre a string, até achar a primeira posição que não seja 0, então se vc tiver um texto por exemplo, “00008765”, ele vai retornar “8765”.
Mas ai você me pergunta, não é só utilizar um cValToChar(Val()) da variável texto? Sim e não, sim se fosse somente o conteúdo numérico, mas pode ser que tenha letras, como por exemplo, “00008765A”, ao passar pela função, vai retornar “8765A”.
Abaixo a função desenvolvida:
//Bibliotecas
#Include "Protheus.ch"
/*/{Protheus.doc} zTiraZeros
Função que tira zeros a esquerda de uma variável caracter
@author Atilio
@since 19/07/2017
@version undefined
@param cTexto, characters, Texto que terá zeros a esquerda retirados
@type function
@example Exemplos abaixo:
u_zTiraZeros("00000090") //Retorna "90"
u_zTiraZeros("00000909") //Retorna "909"
u_zTiraZeros("0000909A") //Retorna "909A"
u_zTiraZeros("000909AB") //Retorna "909AB"
/*/
User Function zTiraZeros(cTexto)
Local aArea := GetArea()
Local cRetorno := ""
Local lContinua := .T.
Default cTexto := ""
//Pegando o texto atual
cRetorno := Alltrim(cTexto)
//Enquanto existir zeros a esquerda
While lContinua
//Se a priemira posição for diferente de 0 ou não existir mais texto de retorno, encerra o laço
If SubStr(cRetorno, 1, 1) <> "0" .Or. Len(cRetorno) ==0
lContinua := .f.
EndIf
//Se for continuar o processo, pega da próxima posição até o fim
If lContinua
cRetorno := Substr(cRetorno, 2, Len(cRetorno))
EndIf
EndDo
RestArea(aArea)
Return cRetorno
Bom pessoal, por hoje é só.
Abraços e até a próxima.

Boa Tarde,
Gostaria de sugerir para ensinar a integração do excel com protheus através do suplemento APEXCEL80.
Uma vez eu vi alguem fazendo e achei interessante.
Boa noite Mauricio, tudo bem?
Opa, irei colocar aqui nas sugestões, pretendo fazer algumas aulas sobre o FWMSExcel.
Um grande abraço.