× Linguagem de Programação ADVPL

Perguntas Ponto de entrada folha de funcionarios

Mais
10 anos 8 meses atrás #20975 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.

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #20976 por Ghandy
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

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21036 por digarrafa
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!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21037 por digarrafa
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!

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21042 por Ghandy
Para ganharmos tempo você pode me enviar o fonte que você alterou?

Por favor Acessar ou Registrar para participar da conversa.

Mais
10 anos 8 meses atrás #21044 por digarrafa
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.
Anexos:

Por favor Acessar ou Registrar para participar da conversa.

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