Temporizador
Referência de configuração: Temporizador
Visão geral
A coluna Temporizador mede o tempo gasto numa linha. Cada sessão terminada passa a ser uma linha da tabela Tempos do workspace, ligada a esta linha pela coluna de origem; o total e o histórico somam essas linhas. Os tempos ficam guardados mesmo que pare o temporizador sem rede ou que ele pare sozinho com a aplicação fechada.
Controlos em tempo de execução
Na vista de formulário
O painel do formulário mostra um ícone de temporizador, a etiqueta (ou o nome da coluna), e até três controlos:
- "Iniciar" / "Parar" — inicia ou para o cronómetro em execução. Enquanto está em execução, um contador de tempo decorrido avança em tempo real.
- "+" (adicionar manualmente) — abre o diálogo "Adicionar" para registar uma duração passada, associada à data de hoje. Só está disponível numa linha já guardada.
- "Histórico" — abre o diálogo de histórico desta linha. Só está disponível numa linha já guardada quando a opção Mostrar histórico no formulário está ativada na configuração da coluna.
Na vista de célula (tabela)
A célula apresenta um único botão de ícone: play_circle_outline quando parado ("Iniciar temporizador"), stop_circle quando em execução ("Parar temporizador"). A adição manual e o histórico não estão acessíveis a partir da célula.
Onde ficam os tempos
Cada workspace tem uma tabela Tempos, criada pelo sistema. Uma sessão parada é escrita lá pelo servidor, com:
| Coluna | O que guarda |
|---|---|
| Início, Fim | O intervalo real da sessão. |
| Duração | Em horas e minutos (guardada em segundos), já arredondada pela coluna (Arredondar ao parar (minutos)). |
| Data | O dia no fuso do workspace. |
| Utilizador, Operador | Quem contou o tempo (num Kiosk, o operador). |
| Perfil, Descrição, Categoria, Notas | O contexto da sessão. |
| Nome da tabela de origem | A linha onde o temporizador foi iniciado. |
Enquanto o servidor não escreve a linha (sem rede, por exemplo), a sessão aparece como por sincronizar no painel dos temporizadores e a cinzento nas folhas de horas, e já conta nos totais. Se a escrita falhar, o painel mostra a tentar de novo e o botão Tentar agora.
As colunas de sistema do Tempos não se apagam nem mudam de nome; pode escondê-las, acrescentar colunas e criar vistas. Por omissão cada pessoa vê só os seus tempos; um administrador muda isso nas definições da tabela (Cada pessoa vê só os seus tempos). Os administradores veem sempre tudo.
Configuração
| Definição | Descrição |
|---|---|
| Etiqueta | Texto opcional que substitui o nome da coluna no painel do formulário e no título do diálogo de histórico. |
| Pedir confirmação antes de iniciar | Quando ativado, abre um diálogo de início antes de o temporizador começar de facto. Utilize esta opção para capturar notas ou escolhas de linhas ligadas no momento de início. |
| Mostrar histórico no formulário | Mostra o botão "Histórico" no painel do formulário. Desative para um layout mais limpo quando os utilizadores não precisam de rever entradas anteriores. |
| Arredondar ao parar (minutos) | Arredonda a duração de cada sessão ao múltiplo mais próximo destes minutos quando o temporizador para (por exemplo, 15). Vazio = sem arredondamento. |
| Categoria a partir da coluna | Coluna cujo valor atual vai para a coluna Categoria do Tempos quando o temporizador é iniciado. Útil para etiquetar entradas automaticamente (por exemplo, uma coluna de lista "Projeto"). |
| Campos de contexto a capturar | Lista legada de colunas da feature anfitriã cujos valores são capturados para metadata.fields no início. Ainda é lida para compatibilidade com versões anteriores; novas configurações devem utilizar antes featureColumnMap.host. |
| Feature destino | Tabela de onde se escolhe uma linha ao iniciar (modo escolher linha). Os tempos não são escritos nesta tabela: ficam no Tempos. |
| Mapa de colunas da feature | Dicionário que liga o temporizador à feature destino. Chaves reconhecidas: host (mapeia colunas da feature ligada para colunas da linha atual, lidas no início), ask_at_start (lista de colunas da feature ligada apresentadas no diálogo de início para o utilizador preencher), history_label_field (controla o título de cada entrada na lista de histórico — auto:label|category|notes|duration ou auto:custom_1|custom_2|custom_3 para ler um campo do tempo, ou field:<name> para ler outra coluna). |
Perfis ("Perfis")
Os perfis são atalhos com nome, geridos por workspace. Cada perfil pode predefinir uma etiqueta, ícone, cor, categoria por defeito, notas por defeito, uma feature de ligação, um mapa de colunas da feature, regras opcionais de paragem automática (parar a uma hora fixa do dia, parar após uma duração máxima, com uma janela de aviso opcional) e a Grelha horária do modo Horário da Timesheet: Começa às, Acaba às e Intervalo (15, 30 ou 60 minutos). Vazio é a omissão, das 08:00 às 18:00 em fatias de 30 minutos. Quando o utilizador abre o diálogo "Adicionar" (a partir do painel do formulário ou de uma vista de timesheet), pode escolher um perfil — os valores por defeito desse perfil pré-preenchem o formulário, e quaisquer colunas ask_at_start são apresentadas para preenchimento.
Automações
O workflow ao parar corre sempre, também quando o temporizador para sozinho com a aplicação fechada; o workflow ao arrancar corre na aplicação. Um workflow ao parar precisa de um plano com workflows manuais; quando o temporizador para sozinho precisa também de um plano com automações.
Diálogo de histórico ("Histórico")
Lista os seus tempos nesta linha, o mais recente primeiro, com o total. Todos se editam e apagam; editar um tempo mantém a hora de início. Controlos:
- Botão "Adicionar" — abre o diálogo de entrada para registar um tempo manual.
- Tocar num tempo — abre o diálogo de edição.
- "Editar" e "Eliminar" — botões em cada tempo. A eliminação pede confirmação.
O total da célula soma os tempos que pode ver nesta linha (de toda a equipa quando a tabela mostra os tempos de todos, ou para administradores); a meta diária conta só os seus.
Os teus registos
Ver registos…, no painel dos temporizadores, abre a folha de horas com os seus tempos. O chip do perfil, no título, oferece Todos os perfis e os perfis ativos do workspace, e começa em Todos os perfis: mostra todos os tempos, e o Horário usa a grelha do perfil da sessão a contar mais recente (sem nenhuma, a da última por sincronizar; sem nenhuma das duas, a omissão). Escolher um perfil fica só com os tempos dele e usa a grelha dele; um registo novo pré-escolhe esse perfil (em «Todos os perfis», o da sessão, se estiver ativo).
Filtrar
Ainda não é possível filtrar por temporizador.
Vistas de timesheet
Os modos Diário, Semanal, Horário, Blocos e Mensal da vista Timesheet disponibilizam o mesmo diálogo "Adicionar" e o mesmo seletor de perfis. O diálogo mostra o tempo em Duração (horas e minutos) ou em Início e fim (duas horas no mesmo dia), sempre com a duração ao lado; abre em Início e fim no Horário (numa fatia ou no Adicionar) e ao editar um tempo do cronómetro que começa e acaba nesse dia, e a ligação Introduzir só a duração / Introduzir início e fim troca de modo. Os botões +15 min, +30 min e +1 h somam à duração; em Início e fim mexem no fim, até às 24:00. As entradas criadas aí são idênticas às criadas a partir do componente; só aparecem no histórico de uma linha as que têm origem (uma linha escolhida, ou a tabela de origem da vista, filterSourceFeatureId).