× Linguagem de Programação ADVPL

Perguntas Função Soma1()

Mais
11 anos 9 meses atrás #10445 por RonaldoLopes
Boa tarde, tenho o seguinte gatilho:
#include 'protheus.ch'

User Function GetB1Cod()

Local _aArea := GetArea()
Local _cCodB1 := ""
Local cCodB11 := ""


dbSelectArea("SB1")

SB1->(dbSetOrder(1)) //B1_FILIAL+B1_COD
SB1->(dbGoTop())

If(!SB1->(dbSeek(xFilial("SB1") + "PA"))) //Seek em produtos 'PA'

RestArea(_aArea)

Return("PA000038") //VAI USAR APENAS NA 1o VEZ DO CODIGO

EndIf

While !SB1->(EOF()) .AND. SUBSTR(SB1->B1_COD,1,2) == "PA"

_cCodB1 := SB1->B1_COD

SB1->(dbSkip())

End

cCodB11 := Soma1(cValToChar(_cCodB1))


RestArea(_aArea)

Return(_cCodB1)
Porém ao executar a função soma1, ele deveria me retornar PA000038, só que ele me retorna PA00003800001.
O que poderia ser?
Grato

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás - 11 anos 9 meses atrás #10446 por lalberto
Respondido por lalberto no tópico Função Soma1()
cCodB11 := Soma1(_cCodB1 , 8 )

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Ultima edição: 11 anos 9 meses atrás por lalberto.

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #10449 por RonaldoLopes
Respondido por RonaldoLopes no tópico Função Soma1()
Opa, fiz como me passou cCodB11 := Soma1(_cCodB1,8), porém o resultado ainda está vindo errado
Valor inicial(PA000038)
Deveria vir(PA000039)
Está vindo(PA0000380000001)
O estranho é que se passo o valor direto(Soma1("PA000038") ele retorna certo...

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #10450 por lalberto
Respondido por lalberto no tópico Função Soma1()
Faz Assim:

cCodB11 := 'PA'+StrZero( Val( SubStr( _cCodB1 , 3 , 6 ) ) + 1 , 6 )

Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #10451 por RonaldoLopes
Respondido por RonaldoLopes no tópico Função Soma1()
Acertei aqui agora, vlw

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 9 meses atrás #10452 por RonaldoLopes
Respondido por RonaldoLopes no tópico Função Soma1()
Tava concatenando com espaço vazio, um alltrim na função resolveu.

Por favor Acessar ou Registrar para participar da conversa.

Tempo para a criação da página:0.125 segundos
Joomla templates by a4joomla