A "timesheet hour" represents the work done by an employee at a certain project. Actually, timesheet hours are not a real ]project-open[ objects because they does not reference the acs_objects table and don't support services such as permissions.
Structure of the im_hours database table:
create table im_hours (
user_id integer
constraint im_hours_user_id_nn
not null
constraint im_hours_user_id_fk
references users,
project_id integer
constraint im_hours_project_id_nn
not null
constraint im_hours_project_id_fk
references im_projects,
day timestamptz,
hours numeric(5,2) not null,
cost_id integer
constraint im_hours_cost_fk
references im_costs,
conf_object_id integer
constraint im_hours_conf_object_fk
references im_timesheet_conf_objects
invoice_id integer
constraint im_hours_invoice_fk
references im_costs,
material_id integer
constraint im_hours_material_fk
references im_materials,
-- ArsDigita/ACS billing system - log prices with hours
billing_rate numeric(7,2),
billing_currency char(3)
constraint im_hours_billing_currency_fk
references currency_codes(iso),
note text,
internal_note text
);
Calle Aprestadora 19, 12o-2a
08902 Hospitalet de Llobregat (Barcelona)
Spain
Tel Europe: +34 609 953 751
Tel US: +1 415 200 2465
Mail: info@project-open.com