167 lines
9.0 KiB
XML
167 lines
9.0 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<openerp>
|
|
<data>
|
|
|
|
<record id="hr_timesheet_line_tree" model="ir.ui.view">
|
|
<field name="name">hr.analytic.timesheet.tree</field>
|
|
<field name="model">hr.analytic.timesheet</field>
|
|
<field name="arch" type="xml">
|
|
<tree editable="top" string="Timesheet Activities">
|
|
<field name="date" on_change="on_change_date(date)"/>
|
|
<field name="user_id" on_change="on_change_user_id(user_id)" required="1" options='{"no_open": True}'/>
|
|
<field name="journal_id" invisible="1"/>
|
|
<field name="name"/>
|
|
<field domain="[('type','=','normal'),('use_timesheets','=',1)]" name="account_id" context="{'default_use_timesheets': 1, 'default_type': 'contract'}"/>
|
|
<field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" required="1" domain="[('type','=','service')]" invisible="1"/>
|
|
<field name="unit_amount" string="Duration" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" sum="Total time" widget="float_time"/>
|
|
<field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" invisible="1"/>
|
|
<field name="amount" sum="Total cost" invisible="1"/>
|
|
<field name="general_account_id" invisible="1"/>
|
|
</tree>
|
|
</field>
|
|
</record>
|
|
<record id="hr_timesheet_line_form" model="ir.ui.view">
|
|
<field name="name">hr.analytic.timesheet.form</field>
|
|
<field name="model">hr.analytic.timesheet</field>
|
|
<field name="arch" type="xml">
|
|
<form string="Timesheet Activities" version="7.0">
|
|
<sheet>
|
|
<group>
|
|
<group>
|
|
<field name="name"/>
|
|
<field name="user_id" on_change="on_change_user_id(user_id)" required="1"/>
|
|
</group>
|
|
<group>
|
|
<field name="date" on_change="on_change_date(date)"/>
|
|
</group>
|
|
</group>
|
|
<notebook>
|
|
<page string="Information">
|
|
<group>
|
|
<group string="Product">
|
|
<field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" required="1" domain="[('type','=','service')]"/>
|
|
<label string="Duration" for="unit_amount"/>
|
|
<div>
|
|
<field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" class="oe_inline"/>
|
|
<field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, False, product_uom_id,journal_id)" class="oe_inline"/>
|
|
</div>
|
|
</group>
|
|
<group string="Accounting">
|
|
<field domain="[('type','=','normal'),('state', '<>', 'close'),('parent_id','!=',False)]" name="account_id" select="1"/>
|
|
<field name="amount"/>
|
|
<field name="general_account_id"/>
|
|
<field name="journal_id"/>
|
|
</group>
|
|
</group>
|
|
</page>
|
|
</notebook>
|
|
</sheet>
|
|
</form>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="hr_timesheet_line_search" model="ir.ui.view">
|
|
<field name="name">hr.analytic.timesheet.search</field>
|
|
<field name="model">hr.analytic.timesheet</field>
|
|
<field name="arch" type="xml">
|
|
<search string="Timesheet">
|
|
<field name="date"/>
|
|
<field name="user_id"/>
|
|
<field name="account_id"/>
|
|
<group expand="0" string="Group By...">
|
|
<filter string="Users" icon="terp-personal" domain="[]" context="{'group_by':'user_id'}"/>
|
|
<filter string="Analytic account" icon="terp-folder-green" domain="[]" context="{'group_by':'account_id'}"/>
|
|
<filter string="Product" icon="terp-accessories-archiver" domain="[]" context="{'group_by':'product_id'}"/>
|
|
<filter string="Date" icon="terp-go-month" domain="[]" context="{'group_by':'date'}"/>
|
|
</group>
|
|
</search>
|
|
</field>
|
|
</record>
|
|
|
|
<record model="ir.actions.act_window" id="act_analytic_cost_revenue">
|
|
<field name="context">{'search_default_account_id': [active_id], 'default_account_id': active_id, 'search_default_group_date': 1, 'search_default_group_journal': 1}</field>
|
|
<field name="name">Costs & Revenues</field>
|
|
<field name="res_model">account.analytic.line</field>
|
|
<field name="src_model">account.analytic.account</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="view_type">form</field>
|
|
<field name="help" type="html">
|
|
<p>
|
|
No activity yet on this contract.
|
|
</p><p>
|
|
In OpenERP, contracts and projects are implemented using
|
|
analytic account. So, you can track costs and revenues to analyse
|
|
your margins easily.
|
|
</p><p>
|
|
Costs will be created automatically when you register supplier
|
|
invoices, expenses or timesheets.
|
|
</p><p>
|
|
Revenues will be created automatically when you create customer
|
|
invoices. Customer invoices can be created based on sale orders
|
|
(fixed price invoices), on timesheets (based on the work done) or
|
|
on expenses (e.g. reinvoicing of travel costs).
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
|
|
<record id="account_analytic_account_timesheet_form" model="ir.ui.view">
|
|
<field name="name">account.analytic.account.invoice.form</field>
|
|
<field name="model">account.analytic.account</field>
|
|
<field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr='//div[@name="project"]' position='inside'>
|
|
<field name="use_timesheets"/>
|
|
<label for="use_timesheets"/>
|
|
</xpath>
|
|
<xpath expr='//div[@name="buttons"]' position='inside'>
|
|
<button string="Costs and Revenues"
|
|
name="%(act_analytic_cost_revenue)d"
|
|
type="action"/>
|
|
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<record id="act_hr_timesheet_line_evry1_all_form" model="ir.actions.act_window">
|
|
<field name="name">Timesheet Activities</field>
|
|
<field name="type">ir.actions.act_window</field>
|
|
<field name="res_model">hr.analytic.timesheet</field>
|
|
<field name="view_type">form</field>
|
|
<field name="view_mode">tree,form</field>
|
|
<field name="context">{"search_default_today":1}</field>
|
|
<field name="search_view_id" ref="hr_timesheet_line_search"/>
|
|
<field name="help" type="html">
|
|
<p class="oe_view_nocontent_create">
|
|
Click to record activities.
|
|
</p><p>
|
|
You can register and track your workings hours by project every
|
|
day. Every time spent on a project will become a cost in the
|
|
analytic accounting/contract and can be re-invoiced to
|
|
customers if required.
|
|
</p>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_hr_working_hours" parent="hr_attendance.menu_hr_time_tracking" action="act_hr_timesheet_line_evry1_all_form"/>
|
|
|
|
<record id="hr_timesheet_employee_extd_form" model="ir.ui.view">
|
|
<field name="name">hr.timesheet.employee.extd_form</field>
|
|
<field name="model">hr.employee</field>
|
|
<field name="inherit_id" ref="hr.view_employee_form"/>
|
|
<field name="arch" type="xml">
|
|
<xpath expr="//group[@name='active_group']" position="before">
|
|
<group string="Timesheets">
|
|
<field name="product_id" domain="[('type','=','service')]"/>
|
|
<field name="journal_id"/>
|
|
</group>
|
|
</xpath>
|
|
</field>
|
|
</record>
|
|
|
|
<menuitem id="menu_hr_timesheet_reports" parent="hr.menu_hr_reporting" sequence="5" name="Timesheet"/>
|
|
|
|
|
|
</data>
|
|
</openerp>
|