dDataBase
Data corrente do sistema Protheus. Variavel global Public, alteravel pelo usuario na barra superior. Quase nunca igual a Date() do sistema operacional.
Assinatura: dDataBase (variavel global Date)
Retorna: Date
dDataBase e a data "do Protheus" — uma variavel global Public que pode ser alterada pelo usuario pela barra superior do SmartClient. Em rotinas batch, e a referencia. Diferente da Date() nativa, que retorna data do SO.
Uso classico
// Data corrente do Protheus
ConOut(DToC(dDataBase)) // ex: 13/05/2026
// Diferenca pra Date() (sistema operacional)
nDif := Date() - dDataBase // se usuario voltou data, sera positivo
Quando usar dDataBase vs Date()
| Caso | Usar |
|---|---|
| Gravar em campo de tabela Protheus | dDataBase |
| Log/auditoria de quando o evento aconteceu | Date() |
| Comparacao com vencimentos do sistema | dDataBase |
| Calcular tempo decorrido real | Date() |
Pegadinhas
- Usuario pode voltar a data — em testes/correcoes os usuarios costumam voltar pra "ontem". Conte com isso.
- Em JOB, e a data do AppServer (Date()) quando o JOB foi iniciado.
- RPCSetType + dDataBase — algumas chamadas RPC precisam setar a data manualmente.
- Eh Public — User Function pode sobrescrever. Cuidado.