× Linguagem de Programação ADVPL

Perguntas Validação de Campo tipo Data

Mais
11 anos 1 mês atrás #17510 por cintra_daniel
Pessoal Bom dia!

Me deparei com uma dúvida, que na verdade é uma coisa bem simples...

Nos campos do tipo data, quando o usuário informa somente dia e mês o sistema completa com o 2000, que nada mais é decorrente do fato do quadrante do ano estar zerado. Como o sistema pega os 2 numeros digitados no quadrante do ano e soma com 2000 para exibir o ano, não preenchendo, ele naturalmente exibe 2000.
Porém fui questionado se existe a possibilidade do sistema completar o ano com o ano corrente (Ex: 2013) ao invés dessa validação que faz a soma com 2000....

Alguém sabe se existe parâmetro para isso? Ou alguma forma de alterar essa validação?

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17514 por kanaamlrr
Respondido por kanaamlrr no tópico Validação de Campo tipo Data
Cara, que eu saiba não existe forma de mudar isso não, só se você colocar uma função no valid desse campo tratando o valor que tem lá em alterando.

Por exemplo:
User Function SuaFunc()
Local cData := DTOS(M->SEU_CAMPO)

If Substring(cData,1,4)=='2000'
   cData := '2013'+Substring(cData,5,4)
EndIf

M->SEU_CAMPO := STOD(cData)

Return .T.

Acho que deve funcionar, faz um teste ai!

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17517 por cintra_daniel
Respondido por cintra_daniel no tópico Validação de Campo tipo Data
Cara, funcionou a função que você deu de exemplo... eu cheguei a pensar em algo parecido pra fazer, porém quis checar primeiro se não tinha algo padrão do sistema pra tratar isso..

eu usei a sua função só alterei um coisa pra ficar ainda mais genérico...

User Function xValidaDt()

Local cData := DTOS(M->XLM_DATA)

If Substring(cData,1,4)=='2000'
cData := Str(Year(Date()))+Substring(cData,5,4)
EndIf

M->XLM_DATA := STOD(cData)

Return .T.


No trecho marcado de vermelho ai, você pode ver que eu setei pro sistema pegar o ano da data atual ao invés de chumbar 2013, porque ai serve para qualquer ano ^^

Muito obrigado!

Por favor Acessar ou Registrar para participar da conversa.

Mais
11 anos 1 mês atrás #17518 por kanaamlrr
Respondido por kanaamlrr no tópico Validação de Campo tipo Data
Opa, maravilha!
Precisando posta ai!

Por favor Acessar ou Registrar para participar da conversa.

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