daily_timesheet
Folha de horas diária
Folha de horas diária (compatibilidade: o tipo foi absorvido pelo timesheet unificado, que cobre as cadências por modes).
- Kind:
view - Key:
daily_timesheet - Categoria:
tempo - Envelope: lista de um só elemento (a config vive em
config[0])
Envelope de um só elemento
View.config é uma lista com um único elemento: a configuração vive em
config[0], não em config. Uma config escrita como mapa cru é lida de qualquer
maneira, mas entra nos relatórios como desvio de envelope.
Campos
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
modes | list de enumeration | não | ["daily","weekly","monthly","stats"] | Separadores visíveis, por ordem. Um só = sem barra de separadores. Valores fora do conjunto são ignorados na leitura. | - |
source | enumeration | não | "auto" | De onde vêm os registos: a tabela Timer, as linhas da feature, ou auto (Timer quando a feature é a do temporizador). | - |
columnMap | map | não | {} | Que coluna desta feature transporta cada parte do registo. Só sai no JSON quando tem alguma parte preenchida, e só conta quando a fonte são as linhas da feature. | - |
filterSourceFeatureId | uuid | não | - | Restringe os registos aos que vêm desta feature de origem (compara com TimerEntry.sourceFeatureId na fonte Timer). | feature (uuid) |
categoryFilter | string | não | - | Restringe os registos a uma categoria: valor, não referência. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
filterUserId | uuid | não | - | Restringe os registos a um utilizador. Opaco: transporta dados do utilizador e nenhum resolvedor entra aqui. | - |
filterProfileId | uuid | não | - | Perfil de temporizador pré-escolhido na entrada manual, e filtro dos registos desse perfil. | perfil de timer (uuid) |
hoursPerDayTarget | number | não | - | Horas-alvo por dia, usadas nas barras de progresso. | - |
allowManualEntry | boolean | não | true | Deixa lançar registos à mão. | - |
showCategoryBreakdown | boolean | não | true | No modo diário: mostra o detalhe por categoria. | - |
groupByCategory | boolean | não | false | No modo semanal: uma linha por categoria. | - |
weekStartsOn | integer | não | 1 | No modo semanal: dia em que a semana começa, de 1 a 7. | - |
firstDayOfWeek | integer | não | 1 | No modo mensal: dia em que a grelha começa, de 1 a 7. | - |
showWeekTotals | boolean | não | true | No modo mensal: mostra os totais por semana. | - |
columnMap
| Chave | Tipo | Obrigatório | Omissão | Descrição | Referência |
|---|---|---|---|---|---|
date | string | não | - | Coluna da data do registo, POR NOME. | coluna (nome) |
duration | string | não | - | Coluna da duração em segundos, POR NOME. Ganha ao par início/fim quando está preenchida. | coluna (nome) |
startedAt | string | não | - | Coluna do início, POR NOME. | coluna (nome) |
endedAt | string | não | - | Coluna do fim, POR NOME. | coluna (nome) |
label | string | não | - | Coluna da descrição do registo, POR NOME. | coluna (nome) |
category | string | não | - | Coluna da categoria, POR NOME. | coluna (nome) |
userId | string | não | - | Coluna do utilizador a quem o registo pertence, POR NOME. | coluna (nome) |
notes | string | não | - | Coluna das notas, POR NOME. | coluna (nome) |
Exemplo JSON
[
{
"modes": [
"daily",
"weekly",
"monthly",
"stats"
],
"source": "auto",
"columnMap": {},
"allowManualEntry": true,
"showCategoryBreakdown": true,
"groupByCategory": false,
"weekStartsOn": 1,
"firstDayOfWeek": 1,
"showWeekTotals": true
}
]
Gerado de definitions.json versão 17f3e0bc59d9. Esta página nasce no build: não se edita à mão.