Thursday 19 April 2012

Creating analysis report in openERP

report_view.py : -



import tools
from osv import fields,osv

class report_lib_register(osv.osv):
    _name = "report.resource.register"  # View Name
    _description = "Report Registration Statistics" # Short Description
    _auto = False  # If false then does not create a table but create a view
    _columns = { # Define the columns
        'state': fields.selection([('draft','Draft'),('issue','Issue'),('exception','Exception'),('pay','Pay'),('close','Close'),('cancel','Cancel')],"State"),
        'regisertid': fields.one2many('lib.sub.resource', 'id', select=True),
        'eid': fields.many2one("hr.employee" , "Employee Id" , select=True),
        'panelty': fields.boolean("Panalty paid/unpaid"),
        'issue_date': fields.datetime("Issue Date"),
        'return_date': fields.datetime("Return Date"),
        'id': fields.datetime("Resource Id"),
        }
     
    def init(self, cr):  # Required this method when _auto = False
        tools.drop_view_if_exists(cr, 'report_resource_register')  # Drop the view if exist
     
        # Select query of view
        cr.execute("""
            create or replace view report_resource_register as (
               SELECT lib_sub_resource.id as id,
                   lib_register.resource_id as regisertid,
                   lib_register.state as state,
                   lib_register.return_date as return_date,
                   lib_register.employee_id as eid,
                   lib_register.issue_date as issue_date,
                   lib_register.is_paid_panelty as panelty
               FROM
                   lib_register, lib_sub_resource
               WHERE
                   lib_register.sub_res_id = lib_sub_resource.id
               )
            """)
report_lib_register()



report_view.xml : -


<?xml version="1.0" encoding="utf-8"?>
<openerp>
    <data>
 
        <!-- Form View of Report Resource Register -->
     
        <record id="view_report_lib_register_tree" model="ir.ui.view">
            <field name="name">report.library.tree</field>
            <field name="model">report.resource.register</field>
            <field name="type">tree</field>
            <field name="arch" type="xml">
                <tree string="Library Resource Register Analysis">
                    <field name="regisertid" string="Resource ID"/>
                    <field name="state"/>
                    <field name="eid"/>
                    <field name="panelty"/>
                    <field name="issue_date"/>
                    <field name="return_date"/>
                </tree>
            </field>
        </record>

        <!-- Search View of Report Resource Register -->

        <record id="view_report_lib_register_search" model="ir.ui.view">
            <field name="name">report.lib_register.search</field>
            <field name="model">report.resource.register</field>
            <field name="type">search</field>
            <field name="arch" type="xml">
                <search string="Library Resource Registe Analysis">
                    <group>
                 
                        <!-- Search Parameters -->
                        <filter icon="terp-camera_test"
                            string="Draft"
                            domain="[('state','=',('draft'))]"/>
                        <filter icon="terp-camera_test"
                            string="Issued"
                            domain="[('state','=',('issue'))]"/>
                        <filter icon="terp-camera_test"
                            string="Exception"
                            domain="[('state','=',('exception'))]"/>
                        <filter icon="terp-gtk-stop"
                            string="Close"
                            domain="[('state','=',('close'))]"/>
                        <separator orientation="vertical"/>
                    </group>
                    <newline/>
                    <group expand="1" string="Group By...">
                        <filter string="State" icon="terp-stock_effects-object-colorize" name="State" context="{'group_by':'state'}"/>
                    </group>
                </search>
            </field>
        </record>

        <!-- Action of Report Resource Register -->

        <record id="action_report_lib_register_all" model="ir.actions.act_window">
            <field name="name">Resource Register Analysis</field>
            <field name="res_model">report.resource.register</field>
            <field name="view_type">form</field>
            <field name="view_mode">tree,form</field>
            <field name="search_view_id" ref="view_report_lib_register_search"/>
        </record>

        <!-- Menuitem -->
     
        <menuitem action="action_report_lib_register_all" id="menu_report_lib_register_all" parent="menu_register" sequence="1"/>
    </data>
</openerp>

No comments:

Post a Comment