×
Linguagem de Programação ADVPL
Perguntas Função Soma1()
- RonaldoLopes
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
11 anos 9 meses atrás #10445
por RonaldoLopes
Função Soma1() foi criado 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
#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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás - 11 anos 9 meses atrás #10446
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
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.
- RonaldoLopes
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
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,, 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...
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.
- lalberto
- Desconectado
- Administrador
Menos
Mais
- Postagens: 3676
- Obrigados Recebidos: 6
11 anos 9 meses atrás #10450
por lalberto
Luiz Alberto Vieira Alves
Proprietário
55 (12) 9 8256-5905 (Vivo)
www.3lsystems.com.br
www.masteradvpl.com.br
Respondido por lalberto no tópico Função Soma1()
Faz Assim:
cCodB11 := 'PA'+StrZero( Val( SubStr( _cCodB1 , 3 , 6 ) ) + 1 , 6 )
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.
- RonaldoLopes
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
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.
- RonaldoLopes
- Autor do Tópico
- Desconectado
- Membro Platina
Menos
Mais
- Postagens: 478
- Obrigados Recebidos: 2
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