[IMP] project_issue, purchase, sale reports
bzr revid: nel@tinyerp.com-20100604175417-4u3jzricew1j7i96
This commit is contained in:
@@ -32,11 +32,12 @@ class mrp_production_order(osv.osv):
|
||||
('07','July'), ('08','August'), ('09','September'), ('10','October'), ('11','November'), ('12','December')],'Month',readonly=True),
|
||||
'day': fields.char('Day',size=64,readonly=True),
|
||||
'origin': fields.char('Source Document', size=64),
|
||||
'nbr': fields.integer('# of Orders', readonly=True),
|
||||
'nbr': fields.integer('# of Lines', readonly=True),
|
||||
'products_to_consume': fields.integer('Products to Consume', readonly=True),
|
||||
'consumed_products': fields.integer('Consumed Products', readonly=True),
|
||||
'date': fields.date('Date', readonly=True),
|
||||
'product_id': fields.many2one('product.product', 'Product', readonly=True),
|
||||
'product_id2': fields.many2one('product.product', 'Product Consumed', readonly=True),
|
||||
'product_qty': fields.float('Product Qty', readonly=True),
|
||||
'state': fields.selection([('draft','Draft'),
|
||||
('picking_except', 'Picking Exception'),
|
||||
@@ -74,11 +75,12 @@ class mrp_production_order(osv.osv):
|
||||
to_char(s.create_date, 'YYYY') as year,
|
||||
to_char(s.create_date, 'MM') as month,
|
||||
to_char(s.create_date, 'YYYY-MM-DD') as day,
|
||||
l.product_id as product_id,
|
||||
s.product_id as product_id,
|
||||
l.product_id as product_id2,
|
||||
l.product_uom,
|
||||
sum(l.product_qty * u.factor) as product_qty,
|
||||
s.company_id as company_id,
|
||||
count(*) as nbr,
|
||||
(select 1) as nbr,
|
||||
(select sum(sm.product_qty) from stock_move as sm
|
||||
left join mrp_production_move_ids as mv on (sm.id=mv.move_id)
|
||||
left join mrp_production_product_line as ll on (ll.production_id=mv.production_id)
|
||||
@@ -111,6 +113,7 @@ class mrp_production_order(osv.osv):
|
||||
to_char(s.create_date, 'YYYY-MM-DD'),
|
||||
to_date(to_char(s.create_date, 'MM-dd-YYYY'),'MM-dd-YYYY'),
|
||||
l.product_id,
|
||||
s.product_id,
|
||||
l.product_uom,
|
||||
s.id,
|
||||
l.id,
|
||||
|
||||
@@ -11,19 +11,20 @@
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Production">
|
||||
<field name="date_planned"/>
|
||||
<field name="bom_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="product_qty" sum='Product Qty'/>
|
||||
<field name="nbr" string="#Production Orders" sum='#Production Orders'/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="picking_id" invisible="1"/>
|
||||
<field name="priority" invisible="1"/>
|
||||
<field name="year" invisible="1" />
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="location_src_id" invisible="1"/>
|
||||
<field name="location_dest_id" invisible="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company" invisible="1"/>
|
||||
<field name="date_planned"/>
|
||||
<field name="bom_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="product_qty" sum='Product Qty'/>
|
||||
<field name="nbr" string="#Line Orders" sum='#Line Orders'/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="picking_id" invisible="1"/>
|
||||
<field name="priority" invisible="1"/>
|
||||
<field name="day" invisible="1" />
|
||||
<field name="month" invisible="1" />
|
||||
<field name="year" invisible="1" />
|
||||
<field name="location_src_id" invisible="1"/>
|
||||
<field name="location_dest_id" invisible="1"/>
|
||||
<field name="company_id" groups="base.group_multi_company" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -31,7 +31,6 @@ class report_project_task_user(osv.osv):
|
||||
'day': fields.char('Day', size=128, readonly=True),
|
||||
'year': fields.char('Year',size=64,required=False, readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'Assigned To', readonly=True),
|
||||
'done_by':fields.many2one('res.users', 'Done By', readonly=True),
|
||||
'date_start': fields.date('Starting Date',readonly=True),
|
||||
'no_of_days': fields.integer('# of Days', size=128, readonly=True),
|
||||
'description': fields.text('Description',readonly=True),
|
||||
@@ -48,7 +47,7 @@ class report_project_task_user(osv.osv):
|
||||
help="Number of Days to close the task"),
|
||||
'opening_days': fields.float('Days to Open', digits=(16,2), readonly=True, group_operator="avg",
|
||||
help="Number of Days to Open the task"),
|
||||
'delay_endings_days': fields.float('Overpass Delay', digits=(16,2), readonly=True, group_operator="avg"),
|
||||
'delay_endings_days': fields.float('Overpassed Deadline', digits=(16,2), readonly=True),
|
||||
'nbr': fields.integer('# of tasks', readonly=True),
|
||||
'priority' : fields.selection([('4','Very Low'),
|
||||
('3','Low'),
|
||||
@@ -74,53 +73,61 @@ class report_project_task_user(osv.osv):
|
||||
def init(self, cr):
|
||||
tools.sql.drop_view_if_exists(cr, 'report_project_task_user')
|
||||
cr.execute("""
|
||||
create or replace view report_project_task_user as (
|
||||
select
|
||||
min(t.id) as id,
|
||||
create view report_project_task_user as
|
||||
select
|
||||
(select 1 ) AS nbr,
|
||||
t.id as id,
|
||||
to_char(date_start, 'YYYY') as year,
|
||||
to_char(date_start, 'MM') as month,
|
||||
to_char(date_start, 'YYYY-MM-DD') as day,
|
||||
count(distinct t.id) as nbr,
|
||||
date_trunc('day',t.date_start) as date_start,
|
||||
date_trunc('day',t.date_end) as date_end,
|
||||
to_date(to_char(t.date_deadline, 'dd-MM-YYYY'),'dd-MM-YYYY') as date_deadline,
|
||||
sum(cast(to_char(date_trunc('day',t.date_end) - date_trunc('day',t.date_start),'DD') as int)) as no_of_days,
|
||||
-- sum(cast(to_char(date_trunc('day',t.date_end) - date_trunc('day',t.date_start),'DD') as int)) as no_of_days,
|
||||
(extract('epoch' from (t.date_end-t.date_start)))/(3600*24) as no_of_days,
|
||||
t.user_id,
|
||||
sum(progress) as progress,
|
||||
progress as progress,
|
||||
t.project_id,
|
||||
t.state,
|
||||
t.effective_hours as hours_effective,
|
||||
t.priority,
|
||||
t.name as name,
|
||||
t.company_id,
|
||||
t.partner_id,
|
||||
t.type,
|
||||
w.user_id as done_by,
|
||||
sum(remaining_hours) as remaining_hours,
|
||||
sum(total_hours) as total_hours,
|
||||
sum(planned_hours) as hours_planned,
|
||||
avg(extract('epoch' from (t.date_end-t.create_date)))/(3600*24) as closing_days,
|
||||
avg(extract('epoch' from (t.date_start-t.create_date)))/(3600*24) as opening_days,
|
||||
avg(extract('epoch' from (t.date_deadline-t.date_end)))/(3600*24) as delay_endings_days,
|
||||
sum(w.hours) as hours_effective,
|
||||
((sum(planned_hours)-sum(w.hours))/count(distinct t.id))::decimal(16,2) as hours_delay
|
||||
from project_task t
|
||||
left join project_task_work w on (t.id=w.task_id)
|
||||
group by
|
||||
to_char(date_start, 'YYYY'),
|
||||
to_char(date_start, 'MM'),
|
||||
t.priority,
|
||||
remaining_hours as remaining_hours,
|
||||
total_hours as total_hours,
|
||||
t.delay_hours as hours_delay,
|
||||
planned_hours as hours_planned,
|
||||
(extract('epoch' from (t.date_end-t.create_date)))/(3600*24) as closing_days,
|
||||
(extract('epoch' from (t.date_start-t.create_date)))/(3600*24) as opening_days,
|
||||
(extract('epoch' from (t.date_deadline-t.date_end)))/(3600*24) as delay_endings_days
|
||||
from project_task t
|
||||
|
||||
group by
|
||||
t.id,
|
||||
remaining_hours,
|
||||
t.effective_hours,
|
||||
progress,
|
||||
total_hours,
|
||||
planned_hours,
|
||||
hours_delay,
|
||||
year,
|
||||
month,
|
||||
day,
|
||||
create_date,
|
||||
date_start,
|
||||
date_end,
|
||||
date_deadline,
|
||||
t.user_id,
|
||||
w.user_id,
|
||||
t.project_id,
|
||||
t.state,
|
||||
date_trunc('day',t.date_end),
|
||||
to_date(to_char(t.date_deadline, 'dd-MM-YYYY'),'dd-MM-YYYY'),
|
||||
t.priority,
|
||||
name,
|
||||
t.company_id,
|
||||
t.partner_id,
|
||||
t.type,
|
||||
t.name,
|
||||
t.project_id,
|
||||
t.date_start
|
||||
)
|
||||
t.type
|
||||
|
||||
""")
|
||||
report_project_task_user()
|
||||
|
||||
|
||||
@@ -12,7 +12,6 @@
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="project_id" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="done_by" invisible="1"/>
|
||||
<field name="date_deadline" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="date_start" invisible="1"/>
|
||||
@@ -31,8 +30,8 @@
|
||||
<field name="hours_effective" sum='Effective Hours'/>
|
||||
<field name="hours_delay" sum='Avg. Plan.-Eff.'/>
|
||||
<field name="opening_days" sum='Days to Open'/>
|
||||
<field name="delay_endings_days" sum='OverPass delay'/>
|
||||
<field name="closing_days" sum='Days to Close'/>
|
||||
<field name="delay_endings_days" sum='OverPass delay'/>
|
||||
<field name="progress" sum='Progress' widget='progressbar'/>
|
||||
</tree>
|
||||
</field>
|
||||
@@ -87,9 +86,14 @@
|
||||
icon="terp-dialog-close"
|
||||
name="done"
|
||||
domain="[('state','=','done')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_id" />
|
||||
<field name="user_id" widget="selection">
|
||||
<separator orientation="vertical"/>
|
||||
<field name="project_id">
|
||||
<filter icon="terp-folder-blue"
|
||||
string="My Projects"
|
||||
help="My Projects"
|
||||
domain="[('project_id','=',context.get('project_id', False)]"/>
|
||||
</field>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-personal"
|
||||
string="My Task"
|
||||
help = "My tasks"
|
||||
@@ -98,22 +102,16 @@
|
||||
string="Non Assigned Tasks to users"
|
||||
help="Non Assigned Tasks to users"
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
<field name="project_id">
|
||||
<filter icon="terp-folder-blue"
|
||||
string="My Projects"
|
||||
help="My Projects"
|
||||
domain="[('project_id','=',context.get('project_id', False)]"/>
|
||||
</field>
|
||||
</field>
|
||||
<field name="partner_id" />
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="10" col="12">
|
||||
<filter string="User" name="User" icon="terp-personal" context="{'group_by':'user_id'}" />
|
||||
<filter string="Project" icon="terp-folder-blue" context="{'group_by':'project_id'}"/>
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Project" name="project" icon="terp-folder-blue" context="{'group_by':'project_id'}"/>
|
||||
<filter string="Assigned to" name="User" icon="terp-personal" context="{'group_by':'user_id'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Task" icon="terp-stock_align_left_24" context="{'group_by':'name'}" />
|
||||
<filter string="Done By" icon="terp-personal" context="{'group_by':'done_by'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
@@ -126,7 +124,6 @@
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
|
||||
<field name="type" widget="selection"/>
|
||||
<field name="done_by" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_start"/>
|
||||
<field name="date_deadline"/>
|
||||
@@ -145,7 +142,7 @@
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="search_view_id" ref="view_task_project_user_search"/>
|
||||
<field name="context">{'search_default_month':1,'search_default_User':1,'search_default_user_id':uid,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
<field name="context">{'search_default_month':1,'search_default_project':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
<menuitem action="action_project_task_user_tree" id="menu_project_task_user_tree" parent="base.menu_project_report"/>
|
||||
|
||||
|
||||
@@ -9,7 +9,6 @@ AVAILABLE_STATES = [
|
||||
('done', 'Closed'),
|
||||
('pending','Pending')
|
||||
]
|
||||
|
||||
class project_issue_report(osv.osv):
|
||||
_name = "project.issue.report"
|
||||
_auto = False
|
||||
@@ -51,9 +50,8 @@ class project_issue_report(osv.osv):
|
||||
|
||||
_columns = {
|
||||
'name': fields.char('Year', size=64, required=False, readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'User', readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
|
||||
'section_id':fields.many2one('crm.case.section', 'Section', readonly=True),
|
||||
'nbr': fields.integer('# of Cases', readonly=True),
|
||||
'state': fields.selection(AVAILABLE_STATES, 'State', size=16, readonly=True),
|
||||
'avg_answers': fields.function(_get_data, string='Avg. Answers', method=True, type="integer"),
|
||||
'perc_done': fields.function(_get_data, string='%Done', method=True, type="float"),
|
||||
@@ -65,23 +63,29 @@ class project_issue_report(osv.osv):
|
||||
('09', 'September'), ('10', 'October'),\
|
||||
('11', 'November'), ('12', 'December')], 'Month', readonly=True),
|
||||
'company_id': fields.many2one('res.company', 'Company', readonly=True),
|
||||
'create_date': fields.datetime('Create Date', readonly=True),
|
||||
'day': fields.char('Day', size=128, readonly=True),
|
||||
'opening_date': fields.date('Opening Date', readonly=True),
|
||||
'creation_date': fields.date('Creation Date', readonly=True),
|
||||
'categ_id': fields.many2one('crm.case.categ', 'Category', domain="[('section_id','=',section_id),('object_id.model', '=', 'project.issue')]"),
|
||||
'stage_id': fields.many2one ('crm.case.stage', 'Stage', domain="[('object_id.model', '=', 'project.issue')]"),
|
||||
'nbr': fields.integer('# of Issues', readonly=True),
|
||||
'working_hours_open': fields.float('# Working Open Hours', readonly=True),
|
||||
'working_hours_close': fields.float('# Working Closing Hours', readonly=True),
|
||||
'delay_open': fields.float('Avg opening Delay', digits=(16,2), readonly=True, group_operator="avg",
|
||||
help="Number of Days to close the project issue"),
|
||||
'delay_close': fields.float('Avg Closing Delay', digits=(16,2), readonly=True, group_operator="avg",
|
||||
help="Number of Days to close the project issue"),
|
||||
'company_id' : fields.many2one('res.company', 'Company'),
|
||||
'priority': fields.selection(crm.AVAILABLE_PRIORITIES, 'Priority'),
|
||||
'project_id':fields.many2one('project.project', 'Project',readonly=True),
|
||||
'type_id': fields.many2one('crm.case.resource.type', 'Type', domain="[('object_id.model', '=', 'project.issue')]"),
|
||||
'date_closed': fields.datetime('Close Date', readonly=True),
|
||||
'date_closed': fields.date('Close Date', readonly=True),
|
||||
'assigned_to' : fields.many2one('res.users', 'Assigned to',readonly=True),
|
||||
'partner_id': fields.many2one('res.partner','Partner',domain="[('object_id.model', '=', 'project.issue')]"),
|
||||
'canal_id': fields.many2one('res.partner.canal', 'Channel',readonly=True),
|
||||
'task_id': fields.many2one('project.task', 'Task',domain="[('object_id.model', '=', 'project.issue')]" )
|
||||
}
|
||||
|
||||
def init(self, cr):
|
||||
tools.drop_view_if_exists(cr, 'project_issue_report')
|
||||
cr.execute("""
|
||||
@@ -91,51 +95,60 @@ class project_issue_report(osv.osv):
|
||||
to_char(c.create_date, 'YYYY') as name,
|
||||
to_char(c.create_date, 'MM') as month,
|
||||
to_char(c.create_date, 'YYYY-MM-DD') as day,
|
||||
to_char(c.date_open, 'YYYY-MM-DD') as opening_date,
|
||||
to_char(c.create_date, 'YYYY-MM-DD') as creation_date,
|
||||
c.state,
|
||||
c.user_id,
|
||||
c.working_hours_open,
|
||||
c.working_hours_close,
|
||||
c.section_id,
|
||||
c.categ_id,
|
||||
c.stage_id,
|
||||
to_char(c.date_closed, 'YYYY/mm/dd') as date_closed,
|
||||
u.company_id as company_id,
|
||||
to_char(c.date_closed, 'YYYY-mm-dd') as date_closed,
|
||||
c.company_id as company_id,
|
||||
c.priority as priority,
|
||||
c.project_id as project_id,
|
||||
c.type_id as type_id,
|
||||
count(*) as nbr,
|
||||
(select 1) as nbr,
|
||||
c.assigned_to,
|
||||
c.partner_id,
|
||||
c.canal_id,
|
||||
c.task_id,
|
||||
date_trunc('day',c.create_date) as create_date,
|
||||
avg(extract('epoch' from (c.date_open-c.create_date)))/(3600*24) as delay_open,
|
||||
avg(extract('epoch' from (c.date_closed-c.create_date)))/(3600*24) as delay_close
|
||||
from
|
||||
project_issue c
|
||||
left join
|
||||
res_users u on (c.id = u.id)
|
||||
where c.categ_id in (select res_id from ir_model_data where name='bug_categ')
|
||||
group by
|
||||
to_char(c.create_date, 'YYYY'),
|
||||
to_char(c.create_date, 'MM'),
|
||||
to_char(c.create_date, 'YYYY-MM-DD'),
|
||||
c.state,
|
||||
to_char(c.date_open, 'YYYY-MM-DD'),
|
||||
to_char(c.date_closed, 'YYYY-mm-dd'),
|
||||
c.user_id,
|
||||
c.section_id,
|
||||
c.categ_id,
|
||||
c.stage_id,
|
||||
c.date_closed,
|
||||
u.company_id,
|
||||
c.company_id,
|
||||
c.priority,
|
||||
c.working_hours_open,
|
||||
c.working_hours_close,
|
||||
c.project_id,
|
||||
to_char(c.date_closed, 'YYYY-MM-DD'),
|
||||
c.type_id,
|
||||
c.working_hours_open,
|
||||
c.working_hours_close,
|
||||
date_trunc('day',c.create_date),
|
||||
c.assigned_to,
|
||||
c.partner_id,
|
||||
c.canal_id,
|
||||
c.task_id
|
||||
)""")
|
||||
|
||||
)""")
|
||||
|
||||
project_issue_report()
|
||||
|
||||
|
||||
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
|
||||
|
||||
@@ -15,7 +15,6 @@
|
||||
<field name="type_id" string="Type" invisible="1"/>
|
||||
<field name="priority" invisible="1"/>
|
||||
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
|
||||
<field name="delay_close" avg='Avg Closing Delay'/>
|
||||
<field name="section_id" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="categ_id" invisible="1"/>
|
||||
@@ -24,10 +23,13 @@
|
||||
<field name="task_id" invisible="1"/>
|
||||
<field name="assigned_to" invisible="1"/>
|
||||
<field name="date_closed" invisible="1"/>
|
||||
<field name="create_date" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="nbr" string="#Project Issue" sum='#Number of Project Issue'/>
|
||||
<field name="delay_open" avg='Avg Opening Delay'/>
|
||||
<field name="delay_close" avg='Avg Closing Delay'/>
|
||||
<field name="working_hours_open" sum='Open Working Hours'/>
|
||||
<field name="working_hours_close" sum='Close Working hours'/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
@@ -51,29 +53,25 @@
|
||||
<field name="arch" type="xml">
|
||||
<search string="Search">
|
||||
<group col="16" colspan="8">
|
||||
<!-- <filter string="This Year" name="This Year" icon="terp-hr"
|
||||
domain="[('name','=',time.localtime()[0])]"/>-->
|
||||
<filter string="This Year" icon="terp-go-year"
|
||||
<filter string="365 Days" icon="terp-go-year"
|
||||
domain="[('create_date','<=', time.strftime('%%Y-%%m-%%d')), ('create_date','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"/>
|
||||
|
||||
<!-- <filter string="This Month" name="This Year" icon="terp-hr"
|
||||
domain="[('month','=',time.strftime('%%m'))]" />-->
|
||||
<filter string="This Month" icon="terp-go-month" name="This Month"
|
||||
<filter string="30 Days" icon="terp-go-month" name="This Month"
|
||||
domain="[('create_date','<=', time.strftime('%%Y-%%m-%%d')), ('create_date','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
|
||||
|
||||
<filter icon="terp-go-week" string="7 Days" separator="1"
|
||||
domain="[('create_date','<=', time.strftime('%%Y-%%m-%%d')), ('create_date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter icon="terp-document-new"
|
||||
string="Draft"
|
||||
domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-camera_test"
|
||||
string="Open"
|
||||
domain="[('state','=','open')]"/>
|
||||
<filter icon="terp-gtk-media-pause"
|
||||
<filter icon="terp-camera_test"
|
||||
string="Current"
|
||||
domain="[('state','in',('draft','open'))]"/>
|
||||
<filter icon="terp-gtk-media-pause"
|
||||
string="Pending"
|
||||
domain="[('state','=','pending')]"/>
|
||||
<filter icon="terp-dialog-close"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<field name="section_id"
|
||||
@@ -87,45 +85,35 @@
|
||||
help="My section" />
|
||||
|
||||
</field>
|
||||
<field name="company_id" widget="selection">
|
||||
<filter icon="terp-go-home"
|
||||
context="{'invisible_section': False}"
|
||||
domain="[('section_id.user_id.company_id','=',uid)]"
|
||||
help="My company"/>
|
||||
</field>
|
||||
<field name="project_id"/>
|
||||
<field name="user_id" select="1" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="4" col="8">
|
||||
<filter string="User" name="User" icon="terp-personal"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
|
||||
<filter string="Company" icon="terp-go-home"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<group expand="1" string="Group By..." colspan="4" col="8">
|
||||
<filter string="Project" name="project_id" icon="terp-folder-blue" context="{'group_by':'project_id'}" />
|
||||
<filter string="User" name="User" icon="terp-personal"
|
||||
domain="[]" context="{'group_by':'user_id'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}" />
|
||||
<filter string="Task" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'task_id'}"/>
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Section" icon="terp-sale"
|
||||
domain="[]"
|
||||
context="{'group_by':'section_id'}" />
|
||||
|
||||
<filter string="Category" icon="terp-stock_symbol-selection"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
|
||||
<separator orientation="vertical" />
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize"
|
||||
domain="[]" context="{'group_by':'state'}" />
|
||||
|
||||
<filter string="Category" icon="terp-stock_symbol-selection"
|
||||
domain="[]" context="{'group_by':'categ_id'}" />
|
||||
|
||||
<filter string="Stage" icon="terp-stage" domain="[]" context="{'group_by':'stage_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Project" icon="terp-folder-blue" domain="[]" context="{'group_by':'project_id'}" />
|
||||
<filter string="Priority" icon="terp-rating-rated" domain="[]" context="{'group_by':'priority'}" />
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Type" icon="terp-stock_symbol-selection" domain="[]" context="{'group_by':'type_id'}"/>
|
||||
<filter string="Task" icon="terp-stock_align_left_24" domain="[]" context="{'group_by':'task_id'}"/>
|
||||
<newline/>
|
||||
<filter string="Assigned To" icon="terp-personal" domain="[]" context="{'group_by':'assigned_to'}"/>
|
||||
<filter string="Partner" icon="terp-personal" domain="[]" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Channel" icon="terp-call-start" domain="[]" context="{'group_by':'canal_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Company" icon="terp-go-home"
|
||||
domain="[]"
|
||||
context="{'group_by':'company_id'}" />
|
||||
|
||||
<separator orientation="vertical" />
|
||||
<filter string="Day" icon="terp-sale"
|
||||
@@ -140,36 +128,21 @@
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended options..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-dialog-close"
|
||||
string="Done"
|
||||
domain="[('state','=','done')]"/>
|
||||
|
||||
<filter icon="terp-gtk-stop"
|
||||
string="Cancel"
|
||||
domain="[('state','=','cancel')]"/>
|
||||
<group>
|
||||
<field name="partner_id" />
|
||||
<field name="assigned_to" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="project_id" widget="selection" />
|
||||
<field name="priority" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="type_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
|
||||
<field name="task_id"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="assigned_to" widget="selection">
|
||||
<filter icon="terp-personal" help = "Project Issue Assigned To Me" domain="[('assigned_to','=',uid)]" />
|
||||
<filter icon="terp-personal-" help="Non Assigned Project Issue" domain="[('assigned_to','=',False)]"/>
|
||||
</field>
|
||||
<newline/>
|
||||
<field name="categ_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]"/>
|
||||
<field name="stage_id" widget="selection" domain="[('object_id.model', '=', 'project.issue')]" />
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_id" />
|
||||
<field name="canal_id" widget="selection"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="company_id" widget="selection" groups="base.group_multi_company"/>
|
||||
<newline/>
|
||||
<field name="creation_date"/>
|
||||
<field name="opening_date"/>
|
||||
<field name="date_closed" string="Date Closed"/>
|
||||
</group>
|
||||
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
@@ -179,7 +152,7 @@
|
||||
<field name="res_model">project.issue.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
<field name="context">{"search_default_This Month":1,"search_default_User":1,"search_default_user_id":uid,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
<field name="context">{'search_default_This Month':1,'search_default_project_id':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
<field name="view_id" ref="view_project_issue_report_tree"/>
|
||||
<field name="search_view_id" ref="view_project_issue_report_filter"/>
|
||||
</record>
|
||||
|
||||
@@ -31,7 +31,7 @@ class purchase_report(osv.osv):
|
||||
_description = "Purchases Orders"
|
||||
_auto = False
|
||||
_columns = {
|
||||
'date': fields.date('Date', readonly=True),
|
||||
'date': fields.date('Date order', readonly=True),
|
||||
'name': fields.char('Year',size=64,required=False, readonly=True),
|
||||
'day': fields.char('Day', size=128, readonly=True),
|
||||
'state': fields.selection([
|
||||
@@ -61,7 +61,11 @@ class purchase_report(osv.osv):
|
||||
'expected_date':fields.date('Expected Date', readonly=True),
|
||||
'validator' : fields.many2one('res.users', 'Validated by', readonly=True),
|
||||
'company_id':fields.many2one('res.company', 'Company', readonly=True),
|
||||
'shipped_qty':fields.integer('Received Qty', readonly=True),
|
||||
'invoiced_qty':fields.integer('Invoiced Qty', readonly=True),
|
||||
'user_id':fields.many2one('res.users', 'Responsible', readonly=True),
|
||||
'delay':fields.float('Days to Close', digits=(16,2), readonly=True),
|
||||
'delay_pass':fields.float('Overpassed expected', digits=(16,2), readonly=True),
|
||||
'quantity': fields.float('# of Products', readonly=True),
|
||||
'price_total': fields.float('Total Price', readonly=True),
|
||||
'price_average': fields.float('Average Price', readonly=True),
|
||||
@@ -94,9 +98,13 @@ class purchase_report(osv.osv):
|
||||
s.create_uid as user_id,
|
||||
s.company_id as company_id,
|
||||
s.invoice_method,
|
||||
s.shipped::integer as shipped_qty,
|
||||
l.invoiced::integer as invoiced_qty,
|
||||
l.product_id,
|
||||
s.location_id as location_id,
|
||||
sum(l.product_qty*u.factor) as quantity,
|
||||
extract(epoch from age(s.date_approve,s.date_order))/(24*60*60)::decimal(16,2) as delay,
|
||||
extract(epoch from age(s.minimum_planned_date,s.date_order))/(24*60*60)::decimal(16,2) as delay_pass,
|
||||
count(*) as nbr,
|
||||
sum(l.product_qty*l.price_unit) as price_total,
|
||||
(sum(l.product_qty*l.price_unit)/sum(l.product_qty*u.factor))::decimal(16,2) as price_average
|
||||
@@ -107,9 +115,12 @@ class purchase_report(osv.osv):
|
||||
group by
|
||||
s.company_id,
|
||||
s.create_uid,
|
||||
s.shipped,
|
||||
l.invoiced,
|
||||
s.partner_id,
|
||||
s.location_id,
|
||||
s.date_approve,
|
||||
s.minimum_planned_date,
|
||||
date_trunc('day',s.minimum_planned_date),
|
||||
s.partner_address_id,
|
||||
s.pricelist_id,
|
||||
|
||||
@@ -1,220 +0,0 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<openerp>
|
||||
<data>
|
||||
<record model="ir.ui.view" id="view_purchase_order_report_graph">
|
||||
<field name="name">product.month.graph</field>
|
||||
<field name="model">purchase.report</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Purchase Orders Statistics" type="bar">
|
||||
<field name="product_id"/>
|
||||
<field name="quantity" operator="+"/>
|
||||
<field name="price_total" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_purchase_order_tree" model="ir.ui.view">
|
||||
<field name="name">purchase.order.tree</field>
|
||||
<field name="model">purchase.report</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Purchase Orders Statistics">
|
||||
<field name="date" invisible="1"/>
|
||||
<field name="date_approve" invisible="1"/>
|
||||
<field name="expected_date" invisible="1"/>
|
||||
<field name="user_id" invisible="1"/>
|
||||
<field name="partner_id" invisible="1"/>
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="quantity" invisible="1"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
<field name="price_average" avg="Average Price"/>
|
||||
<field name="price_total" sum="Total Price"/>
|
||||
<field name="day" invisible="1"/>
|
||||
<field name="name" invisible="1"/>
|
||||
<field name="month" invisible="1"/>
|
||||
<field name="warehouse_id" invisible="1"/>
|
||||
<field name="partner_address_id" invisible="1"/>
|
||||
<field name="dest_address_id" invisible="1"/>
|
||||
<field name="pricelist_id" invisible="1"/>
|
||||
<field name="validator" invisible="1"/>
|
||||
<field name="company_id" invisible="1"/>
|
||||
<field name="state" invisible="1"/>
|
||||
<field name="location_id" invisible="1"/>
|
||||
<field name="fiscal_position" invisible="1"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_purchase_order_search" model="ir.ui.view">
|
||||
<field name="name">report.purchase.order.search</field>
|
||||
<field name="model">purchase.report</field>
|
||||
<field name="type">search</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Purchase Orders">
|
||||
<group colspan="10" col="12">
|
||||
<filter icon="terp-go-year" string="This Year"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')),('date','>',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks performed in this year"/>
|
||||
<filter icon="terp-go-month" string="This Month"
|
||||
name="month"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks performed in this month"/>
|
||||
<filter icon="terp-go-week"
|
||||
string=" 7 Days "
|
||||
separator="1"
|
||||
domain="[('date','<=', time.strftime('%%Y-%%m-%%d')), ('date','>',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
|
||||
help="Tasks during last 7 days"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter icon="terp-document-new"
|
||||
string="Quotations"
|
||||
domain="[('state','=','draft')]"/>
|
||||
<filter icon="terp-gtk-media-pause"
|
||||
string="Waiting Schedule"
|
||||
domain="[('state','=','waiting_date')]"/>
|
||||
<filter icon="terp-camera_test"
|
||||
string="Manual in progress"
|
||||
domain="[('state','=','manual')]"/>
|
||||
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_id" string="Supplier"/>
|
||||
<field name="product_id"/>
|
||||
<field name="user_id" widget="selection">
|
||||
<filter icon="terp-personal-"
|
||||
string="Purchase Non User"
|
||||
help="Purchase Non User"
|
||||
domain="[('user_id','=',False)]"/>
|
||||
</field>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Company" icon="terp-go-home" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
|
||||
<filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}"/>
|
||||
<filter string="Location" icon="terp-go-home" context="{'group_by':'location_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Responsible" name="Responsible" icon="terp-personal" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Pricelist" icon="terp-dolar" context="{'group_by':'pricelist_id'}"/>
|
||||
<filter string="Validated by" icon="terp-personal" context="{'group_by':'validator'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Address Contact Name" icon="terp-personal" context="{'group_by':'partner_address_id'}"/>
|
||||
<filter string="Dest. Contact Name" icon="terp-gtk-jump-to-ltr" context="{'group_by':'dest_address_id'}"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Supplier" name="partner_id" icon="terp-personal" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<filter string="Fiscal Position" icon="terp-go-year" context="{'group_by':'fiscal_position'}"/>
|
||||
<newline/>
|
||||
<filter string="Day" icon="terp-go-month" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
|
||||
<filter string="Year" icon="terp-go-year" context="{'group_by':'name'}"/>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
|
||||
<filter icon="terp-emblem-important" string="Shipping Exception" domain="[('state','=','shipping_except')]"/>
|
||||
<filter icon="terp-dialog-close" string="Done" domain="[('state','=','done')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="date_approve"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="partner_address_id"/>
|
||||
<field name="invoice_method"/>
|
||||
<field name="warehouse_id" widget="selection"/>
|
||||
<field name="validator" widget="selection"/>
|
||||
|
||||
<newline/>
|
||||
<filter icon="terp-emblem-important" string="Invoice Exception " domain="[('state','=','invoice_except')]"/>
|
||||
<filter icon="terp-gtk-stop" string="Cancel" domain="[('state','=','cancel')]"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="expected_date"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="dest_address_id"/>
|
||||
<field name="fiscal_position" widget="selection"/>
|
||||
<field name="location_id" widget="selection"/>
|
||||
<field name="pricelist_id" widget="selection"/>
|
||||
|
||||
<newline/>
|
||||
<field name="date"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_purchase_order_report_all" model="ir.actions.act_window">
|
||||
<field name="name">Purchase Orders</field>
|
||||
<field name="res_model">purchase.report</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">tree,graph</field>
|
||||
<field name="search_view_id" ref="view_purchase_order_search"/>
|
||||
<field name="context">{'search_default_month':1,'search_default_Responsible':1,'group_by_no_leaf':1,'group_by':[]}</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="base.next_id_73" name="Reporting" parent="base.menu_purchase_root" sequence="8"/>
|
||||
<menuitem action="action_purchase_order_report_all" id="menu_action_purchase_order_report_all" parent="base.next_id_73" sequence="3"/>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_qty_amount_graph">
|
||||
<field name="name">purchase.order.qty.amount.graph</field>
|
||||
<field name="model">purchase.order.qty.amount</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Total Qty and Amount by month" type="bar">
|
||||
<field name="month"/>
|
||||
<field name="total_qty" operator="+"/>
|
||||
<field name="total_amount" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_qty_amount_tree">
|
||||
<field name="name">purchase.order.qty.amount.tree</field>
|
||||
<field name="model">purchase.order.qty.amount</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Total Qty and Amount by month" >
|
||||
<field name="month"/>
|
||||
<field name="total_qty" />
|
||||
<field name="total_amount"/>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_purchase_order_qty_amount_all" model="ir.actions.act_window">
|
||||
<field name="name">Total Qty and Amount by month</field>
|
||||
<field name="res_model">purchase.order.qty.amount</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_by_user_graph">
|
||||
<field name="name">purchase.order.by.user.graph</field>
|
||||
<field name="model">purchase.order.by.user</field>
|
||||
<field name="type">graph</field>
|
||||
<field name="arch" type="xml">
|
||||
<graph string="Total Orders by User per month" type="bar">
|
||||
<field name="name" />
|
||||
<field name="month" group="True" />
|
||||
<field name="nbr" operator="+"/>
|
||||
</graph>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_purchase_order_by_user_tree">
|
||||
<field name="name">purchase.order.by.user.tree</field>
|
||||
<field name="model">purchase.order.by.user</field>
|
||||
<field name="type">tree</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree string="Total Orders by User per month" >
|
||||
<field name="name"/>
|
||||
<field name="month"/>
|
||||
<field name="nbr" />
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="action_purchase_order_by_user_all" model="ir.actions.act_window">
|
||||
<field name="name">Total Orders by User per month</field>
|
||||
<field name="res_model">purchase.order.by.user</field>
|
||||
<field name="view_type">form</field>
|
||||
<field name="view_mode">graph,tree</field>
|
||||
</record>
|
||||
</data>
|
||||
</openerp>
|
||||
@@ -71,7 +71,8 @@ class sale_report(osv.osv):
|
||||
cr.execute("""
|
||||
create or replace view sale_report as (
|
||||
select el.*,
|
||||
(select count(1) from sale_order_line where order_id = s.id) as nbr,
|
||||
-- (select count(1) from sale_order_line where order_id = s.id) as nbr,
|
||||
(select 1) as nbr,
|
||||
s.date_order as date,
|
||||
s.date_confirm as date_confirm,
|
||||
to_char(s.date_order, 'YYYY') as year,
|
||||
@@ -101,7 +102,7 @@ class sale_report(osv.osv):
|
||||
sale_order_line l
|
||||
left join product_uom u on (u.id=l.product_uom)
|
||||
left join product_template pt on (pt.id=l.product_id)
|
||||
group by l.id, l.order_id, l.product_id, u.name, pt.categ_id) el
|
||||
group by l.id, l.order_id, l.product_id, u.name, pt.categ_id) el
|
||||
where s.id = el.order_id
|
||||
)
|
||||
""")
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
<field name="product_id" invisible="1"/>
|
||||
<field name="categ_id" invisible="1"/>
|
||||
<field name="nbr" sum="# of Lines"/>
|
||||
<field name="product_uom_qty" sum="# of Qty"/>
|
||||
<field name="product_uom_qty" avg="# of Qty"/>
|
||||
<field name="shipped_qty_1"/>
|
||||
<field name="uom_name" invisible="not context.get('set_visible',False)"/>
|
||||
<field name="price_average" avg="Average Price"/>
|
||||
@@ -85,19 +85,19 @@
|
||||
</field>
|
||||
</group>
|
||||
<newline/>
|
||||
<group expand="0" string="Group By..." colspan="10" col="12">
|
||||
<group expand="1" string="Group By..." colspan="10" col="12">
|
||||
<filter string="Salesman" icon="terp-personal" name="User" context="{'group_by':'user_id'}"/>
|
||||
<filter string="Shop" icon="terp-go-home" context="{'group_by':'shop_id'}"/>
|
||||
<filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
|
||||
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Product" icon="terp-accessories-archiver" context="{'group_by':'product_id','set_visible':True}"/>
|
||||
<filter string="Default UoM" icon="terp-mrp" context="{'group_by':'uom_name'}"/>
|
||||
<filter string="Partner" icon="terp-personal" context="{'group_by':'partner_id'}"/>
|
||||
<filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_account_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="State" icon="terp-stock_effects-object-colorize" context="{'group_by':'state'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Pricelist" icon="terp-dolar" context="{'group_by':'pricelist_id'}"/>
|
||||
<filter string="Analytic Account" icon="terp-folder-green" context="{'group_by':'analytic_account_id'}"/>
|
||||
<filter string="Category of Product" icon="terp-stock_symbol-selection" context="{'group_by':'categ_id'}"/>
|
||||
<filter string="Shop" icon="terp-go-home" context="{'group_by':'shop_id'}"/>
|
||||
<filter string="Company" icon="terp-go-home" groups="base.group_multi_company" context="{'group_by':'company_id'}"/>
|
||||
<separator orientation="vertical"/>
|
||||
<filter string="Day" icon="terp-go-month" context="{'group_by':'day'}"/>
|
||||
<filter string="Month" icon="terp-go-month" context="{'group_by':'month'}"/>
|
||||
@@ -109,7 +109,6 @@
|
||||
<field name="date_confirm"/>
|
||||
<separator orientation="vertical"/>
|
||||
<field name="shop_id" widget="selection"/>
|
||||
<field name="state"/>
|
||||
<field name="categ_id" widget="selection"/>
|
||||
<field name="company_id" groups="base.group_multi_company" widget="selection"/>
|
||||
</group>
|
||||
|
||||
Reference in New Issue
Block a user