Soma1

Incrementa em 1 o ultimo caractere numerico de uma string mantendo o tamanho. Padrao classico de geracao de proximo codigo (000123 -> 000124).

Assinatura: Soma1(cString) -> cStringIncrementada

Retorna: Character

Soma1 e a forma idiomatica AdvPL de "pegar o proximo codigo". Pega uma string com numero a direita, incrementa em 1, e retorna mantendo o tamanho original (com padding de zero a esquerda).

Sintaxe

cNovoCod := Soma1("000123")  // "000124"
cNovoCod := Soma1("PROD009") // "PROD010"
cNovoCod := Soma1("000999")  // "001000"

Padrao classico de proximo codigo

User Function ProxCod()
    Local cUltimo := ""

    SA1->(DBSetOrder(1))
    SA1->(DBGoBottom())
    cUltimo := SA1->A1_COD

    Return Soma1(cUltimo)
EndFunction

Quando usar

Quando NAO usar

Pegadinhas

Parâmetros

NomeTipoObrigatórioDescrição
cStringCharactersimString numerica ou alfanumerica terminada em digito.

Veja também