Saltar al contenido principal
Versión: Tryton 8.0 (LTS)

timesheet

Tryton 8.0 · Referencia generada desde el código oficial

Esta página combina orientación editorial con evidencia extraída de la rama oficial indicada. Pruebe siempre el flujo con sus permisos y configuración.

Propósito

El módulo timesheet incorpora o amplía funciones relacionadas con timesheet. Su alcance real se determina por los modelos, acciones y dependencias documentados a continuación; no debe activarse únicamente por su nombre.

Descripción oficial de la rama (idioma original)

The Timesheet Module allows to track the time employees spend on various tasks.

El análisis encontró 8 archivos Python, 17 archivos XML, 13 vistas, 23 acciones, 10 menús y 0 informes.

Guía funcional para el usuario

A quién le sirve

Este módulo interesa a las personas responsables de los procesos relacionados con timesheet, a quienes configuran la compañía y a quienes revisan sus resultados. Los administradores deben participar cuando se activen dependencias, permisos o secuencias.

Qué podrá hacer

Al finalizar la configuración podrá reconocer los registros que aporta timesheet, ejecutar sus acciones con el estado correcto y comprender qué información termina compartiendo con otros módulos.

Requisitos y preparación

Antes de activarlo confirme la compañía, moneda, usuarios y grupos aplicables. Instale y configure primero sus dependencias obligatorias. Si existen datos reales, ensaye la activación y actualización sobre una copia restaurada.

Active primero las dependencias, revise la configuración de la compañía y ensaye el flujo completo antes de usarlo en producción.

Dependencias obligatorias

  • company — debe estar instalado y configurado antes de probar este módulo.
  • company_work_time — debe estar instalado y configurado antes de probar este módulo.
  • ir — debe estar instalado y configurado antes de probar este módulo.
  • res — debe estar instalado y configurado antes de probar este módulo.

Integraciones opcionales

Configuración inicial recomendada

  • Active el módulo y vuelva a iniciar la sesión para cargar menús y permisos.
  • Revise las nuevas opciones de configuración de compañía y los valores por defecto.
  • Asigne grupos a usuarios de prueba aplicando mínimo privilegio.
  • Cree datos maestros pequeños y verificables antes de importar información masiva.
  • Ejecute un caso completo desde borrador hasta su estado final y revise los registros relacionados.

Objetos y conceptos del módulo

  • ir.rule: agrupa 1 modelo(s), entre ellos ir.rule. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • res.user: agrupa 1 modelo(s), entre ellos res.user.application. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • timesheet.hours_employee: agrupa 2 modelo(s), entre ellos timesheet.hours_employee, timesheet.hours_employee.context. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • timesheet.hours_employee_monthly: agrupa 1 modelo(s), entre ellos timesheet.hours_employee_monthly. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • timesheet.hours_employee_weekly: agrupa 1 modelo(s), entre ellos timesheet.hours_employee_weekly. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • timesheet.line: agrupa 3 modelo(s), entre ellos timesheet.line, timesheet.line.enter, timesheet.line.enter.start. Estos registros forman la información que el usuario consulta o modifica durante el proceso.
  • timesheet.work: agrupa 2 modelo(s), entre ellos timesheet.work, timesheet.work.context. Estos registros forman la información que el usuario consulta o modifica durante el proceso.

Flujo de trabajo habitual

  1. Seleccione la compañía y fecha correctas antes de crear el documento.
  2. Complete primero los datos maestros y luego las líneas o detalles.
  3. Guarde y revise el registro antes de utilizarlo desde otro proceso.
  4. Revise advertencias, totales, documentos relacionados y trazabilidad.
  5. Compruebe el efecto en los módulos dependientes antes de cerrar el proceso.

Acciones, estados y asistentes

  • timesheet.line.enter — asistente que reúne datos y ejecuta timesheet › line › enter. Verifique permisos, estado actual y registros relacionados antes de ejecutarla.

Controles antes de producción

  • Defina quién crea, revisa, confirma, cancela y consulta.
  • Pruebe períodos cerrados, usuarios sin permisos y datos incompletos.
  • Verifique numeración, moneda, redondeo y zona horaria cuando correspondan.
  • Documente cómo corregir un error sin editar directamente la base de datos.
  • Incluya sus tablas y archivos en el procedimiento de copia y restauración.

Diagnóstico y resolución de problemas

  • Si no aparece el menú, compruebe activación, actualización de la lista de módulos, grupos y nueva sesión.
  • Si un campo no acepta un valor, revise su dominio, compañía, estado y dependencias configuradas.
  • Si un botón está oculto o deshabilitado, revise permisos y transición válida; no modifique el estado con SQL.
  • Si los resultados no coinciden, reproduzca un caso mínimo y compare registros relacionados antes y después.
  • Conserve el traceback completo, versión, módulos activos y datos mínimos para diagnosticar un error.

Guía para desarrolladores

Arquitectura y puntos de extensión

El paquete contiene 13 clases Python y declara o extiende 11 modelos. Utiliza Char, Date, Function, Integer, Many2One, One2Many, Reference, TimeDelta. Los desarrolladores deben localizar primero si una clase crea un modelo nuevo o usa PoolMeta para extender uno existente, conservar las llamadas a super() y no duplicar reglas disponibles en las dependencias.

Modelos registrados o extendidos

  • ir.rule
  • res.user.application
  • timesheet.hours_employee
  • timesheet.hours_employee.context
  • timesheet.hours_employee_monthly
  • timesheet.hours_employee_weekly
  • timesheet.line
  • timesheet.line.enter
  • timesheet.line.enter.start
  • timesheet.work
  • timesheet.work.context

Tipos de campos utilizados

  • Char
  • Date
  • Function
  • Integer
  • Many2One
  • One2Many
  • Reference
  • TimeDelta

Clases y métodos públicos detectados

Clases: CompanyValidationError, DurationValidationError, EnterLines, EnterLinesStart, HoursEmployee, HoursEmployeeContext, HoursEmployeeMonthly, HoursEmployeeWeekly, Line, Rule, UserApplication, Work, WorkContext

Métodos: check_duration(), copy(), default_company(), default_date(), default_employee(), do_enter(), get_duration(), get_origin(), get_rec_name(), get_work(), hours(), search_global(), search_rec_name(), table_query(), to_json(), transition_enter(), validate(), validate_fields()

Mapa del código

Se detectaron 8 archivos Python, 17 XML y 0 archivos explícitos de acceso. Los XML conectan modelos con vistas, menús, acciones e informes; los CSV de acceso establecen permisos iniciales.

  • __init__.py
  • doc/conf.py
  • exceptions.py
  • ir.py
  • line.py
  • line.xml
  • message.xml
  • routes.py
  • timesheet.xml
  • user.py
  • view/hours_employee_context_form.xml
  • view/hours_employee_graph.xml
  • view/hours_employee_monthly_tree.xml
  • view/hours_employee_tree.xml
  • view/hours_employee_weekly_tree.xml
  • view/line_enter_start_form.xml
  • view/line_form.xml
  • view/line_tree.xml
  • view/work_context_form.xml
  • view/work_form.xml
  • view/work_graph.xml
  • view/work_list.xml
  • view/work_list_report.xml
  • work.py
  • work.xml

Plan de pruebas

  • Activación en una base vacía y actualización desde la revisión anterior.
  • Creación, modificación, copia y eliminación según estado y permisos.
  • Cada botón, transición y asistente con casos válidos e inválidos.
  • Reglas multicompañía, traducciones, zonas horarias y monedas aplicables.
  • Instalación conjunta con dependencias obligatorias e integraciones opcionales.
  • Copia y restauración de registros, adjuntos e informes producidos.

Compatibilidad y actualización

Mantenga servidor y módulos en la serie 8.0. Antes de actualizar compare tryton.cfg, migraciones de __register__, cambios de estados, XML IDs y permisos. Una compilación exitosa no reemplaza una migración ensayada ni la conciliación funcional de datos.

Evidencia documental oficial

Temas encontrados: Design · Timesheet Work · Timesheet Line · Wizards · Enter Timesheet Lines · Timesheet Module · Timesheet User Application

    • doc/design.rst: The Timesheet Module introduces or extends the following concepts:
    • doc/index.rst: The Timesheet Module allows to track the time employees spend on various tasks.

Ver código fuente