- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de entrada folha de funcionarios
×
Linguagem de Programação ADVPL
Perguntas Ponto de entrada folha de funcionarios
- digarrafa
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 31
- Obrigados Recebidos: 0
10 anos 9 meses atrás #20975
por digarrafa
Ponto de entrada folha de funcionarios foi criado por digarrafa
Prezados boa tarde.
Estou tentando fazer no relatório de folha de funcionário (GPER040), o mesmo colocar um ponto de entrada que apareça a situação do funcionário que fica vinculada na taela SRA->RA_SITFOLH, onde a validação é feita da seguinte forma:
Branco = Ativo
A = Afastado
D = Demitido
F = Férias
T = Transferido
fiz a seguinte situação porém sem sucesso:
Do Case
If SRA->RA_SITFOLH =="A"
aRet, "Afastado"
Else
Do Case
If SRA->RA_SITFOLH == "D"
aRet, "Demitido"
Else
Do Case
If SRA->RA_SITFOLH == "F"
aRet, "Férias"
Else
Do Case
If SRA->RA_SITFOLH == "T"
aRet, "Transferido"
Else
ENDCASE
Alguém pode me ajudar a resolver o problema em questão?
Grato.
Atenciosamente.
Diego Amaral
Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.
Estou tentando fazer no relatório de folha de funcionário (GPER040), o mesmo colocar um ponto de entrada que apareça a situação do funcionário que fica vinculada na taela SRA->RA_SITFOLH, onde a validação é feita da seguinte forma:
Branco = Ativo
A = Afastado
D = Demitido
F = Férias
T = Transferido
fiz a seguinte situação porém sem sucesso:
Do Case
If SRA->RA_SITFOLH =="A"
aRet, "Afastado"
Else
Do Case
If SRA->RA_SITFOLH == "D"
aRet, "Demitido"
Else
Do Case
If SRA->RA_SITFOLH == "F"
aRet, "Férias"
Else
Do Case
If SRA->RA_SITFOLH == "T"
aRet, "Transferido"
Else
ENDCASE
Alguém pode me ajudar a resolver o problema em questão?
Grato.
Atenciosamente.
Diego Amaral
Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.
Por favor Acessar ou Registrar para participar da conversa.
- Ghandy
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 22
- Obrigados Recebidos: 0
10 anos 9 meses atrás #20976
por Ghandy
Respondido por Ghandy no tópico Ponto de entrada folha de funcionarios
Diego, me desculpe a pergunta, mas você é programador, pois no seu exemplo o compilador iria gerar erros de compilação. Você não precisa usar "Do Case" e IF... Pode escolher entre um e outro. A diferença básica entre eles é que em um Do Caso, no momento da execução o processador lê todas as linhas/possibilidades, no IF não, por exemplo:
Do Case A = 1
x++
Case A = 2
x+=2
End Case
Neste caso, mesmo que o A seja igual a 1, o processador irá testar para ver se é igual a 2.
No IF, caso o A seja igual a 1, ele não testa mais... A não ser que vc faça um IF e EndIf para cada uma das opções.
Mas, vamos ao que te interessa:
If SRA->RA_SITFOLH =="A"
aRet:= "Afastado"
ElseIf SRA->RA_SITFOLH == "D"
aRet:= "Demitido"
ElseIf SRA->RA_SITFOLH == "F"
aRet:= "Férias"
ElseIf SRA->RA_SITFOLH == "T"
aRet:= "Transferido"
ElseIf Empty(SRA->RA_SITFOLH)
aRet:= "Ativo"
Else
aRet:="Nao Encontrada"
EndIf
Do Case A = 1
x++
Case A = 2
x+=2
End Case
Neste caso, mesmo que o A seja igual a 1, o processador irá testar para ver se é igual a 2.
No IF, caso o A seja igual a 1, ele não testa mais... A não ser que vc faça um IF e EndIf para cada uma das opções.
Mas, vamos ao que te interessa:
If SRA->RA_SITFOLH =="A"
aRet:= "Afastado"
ElseIf SRA->RA_SITFOLH == "D"
aRet:= "Demitido"
ElseIf SRA->RA_SITFOLH == "F"
aRet:= "Férias"
ElseIf SRA->RA_SITFOLH == "T"
aRet:= "Transferido"
ElseIf Empty(SRA->RA_SITFOLH)
aRet:= "Ativo"
Else
aRet:="Nao Encontrada"
EndIf
Por favor Acessar ou Registrar para participar da conversa.
- digarrafa
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 31
- Obrigados Recebidos: 0
10 anos 9 meses atrás #21036
por digarrafa
Respondido por digarrafa no tópico Ponto de entrada folha de funcionarios
Antonio bom dia!
Muuuuuuito obrigado pelo retorno!
Vou adicionar no rodapé da folha e testar, eu não sou um programador, sou mais fuçador!
Trabalho com suporte, com sistemas, servidores e banco de dados, programo só SQL mas adorei a explicação assim vou me interando e aprendendo!
Muito Obrigado novamente!
Muuuuuuito obrigado pelo retorno!
Vou adicionar no rodapé da folha e testar, eu não sou um programador, sou mais fuçador!
Trabalho com suporte, com sistemas, servidores e banco de dados, programo só SQL mas adorei a explicação assim vou me interando e aprendendo!
Muito Obrigado novamente!
Por favor Acessar ou Registrar para participar da conversa.
- digarrafa
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 31
- Obrigados Recebidos: 0
10 anos 9 meses atrás #21037
por digarrafa
Respondido por digarrafa no tópico Ponto de entrada folha de funcionarios
Antonio bom dia.
Mais uma pequena duvida!
Peguei o fonte GPER040.PRW editei no rodapé a informação que você me mandou e tentei compilar!
O problema que ele gerou esse erro abaixo:
Regular functions are not allowed in code. Use USER FUNCTION or STATIC FUNCTION.
Processo interrompido por erro FATAL de compilação.
Será que eu teria que adicionar em um arquivo prw novo e criar um ponto de chamada para o User Function e um nome novo para a rotina Ex:
#INCLUDE GPER040.CH
User Function situacao_func ()
?
Seria assim que ele iria adicionar no rodapé a informação?
Grato!
Mais uma pequena duvida!
Peguei o fonte GPER040.PRW editei no rodapé a informação que você me mandou e tentei compilar!
O problema que ele gerou esse erro abaixo:
Regular functions are not allowed in code. Use USER FUNCTION or STATIC FUNCTION.
Processo interrompido por erro FATAL de compilação.
Será que eu teria que adicionar em um arquivo prw novo e criar um ponto de chamada para o User Function e um nome novo para a rotina Ex:
#INCLUDE GPER040.CH
User Function situacao_func ()
?
Seria assim que ele iria adicionar no rodapé a informação?
Grato!
Por favor Acessar ou Registrar para participar da conversa.
- Ghandy
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 22
- Obrigados Recebidos: 0
- digarrafa
- Autor do Tópico
- Desconectado
- Membro Júnior
Menos
Mais
- Postagens: 31
- Obrigados Recebidos: 0
10 anos 9 meses atrás #21044
por digarrafa
Respondido por digarrafa no tópico Ponto de entrada folha de funcionarios
Antonio bom dia.
Esta em anexo o arquivo já com a inclusão das linhas que me mandou mas onde fica o:
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Termino do relatorio ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Abaixo desta informação adicionei as linhas que me mandou!
Grato.
Esta em anexo o arquivo já com a inclusão das linhas que me mandou mas onde fica o:
//ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ¿
//³ Termino do relatorio ³
//ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ
Abaixo desta informação adicionei as linhas que me mandou!
Grato.
Por favor Acessar ou Registrar para participar da conversa.
- Fórum
- Protheus/Microsiga/Totvs
- AdvPL (Advanced Protheus Language)
- Dúvidas Gerais
- Ponto de entrada folha de funcionarios
Tempo para a criação da página:0.117 segundos