Olá pessoal…
Hoje vou mostrar para vocês uma função simples de conversão de valor numérico para valor de Soma1 em AdvPL.
O valor de Soma1, é aquele que ao atingir por exemplo “99” ele vira “A0”, depois vai para “A1” até chegar em “ZZ”.
Pensando nisso, criei uma função que converte com você passando já o Soma1 para ela (saiba mais em https://terminaldeinformacao.com/2016/10/25/funcao-converte-valor-soma1-em-advpl/). Porém se você quiser passar um valor numérico, não era possível, criei então uma nova função.
Segue abaixo a função desenvolvida, onde você só precisa informar o valor numérico, e ela retorna o valor de soma1.
//Bibliotecas #Include "Protheus.ch" /*/{Protheus.doc} zValToSoma1 Função criada para converter um valor numérico em valor caracter do Soma1 @author Atilio @since 16/06/2017 @version 1.0 @type function @param nValor, numeric, Número que deseja converter @param nQtdPos, numeric, Quantidade de casas a considerar @return cValor, Valor já convertido @example u_zValToSoma1(100, 2) --> Retorna "A0" u_zValToSoma1(500, 2) --> Retorna "L4" u_zValToSoma1(500, 3) --> Retorna "500" /*/ User Function zValToSoma1(nValor, nQtdPos) Local aArea := GetArea() Local cValor := StrTran(Space(nQtdPos), ' ', '0') Local nAtual := 0 //Percorrendo o valor For nAtual := 1 To nValor cValor := Soma1(cValor) Next RestArea(aArea) Return cValor
Bom pessoal, por hoje é só.
Abraços e até a próxima.
Salvou minha vida hoje!
Opa, obrigado pelo comentário Rafael.
Grande abraço.