Module Menus : After you giving the current user all permissions you can fine new root menu with the name Reports Creator with has two submenus with name Create new report and Templates , as in the image bellow
Templates Menu : By going to reports Creator/Templates you will fine view with 20 templates in many models and you can create your new templates as you want
Create Template : From reports Creator/templates click on create and enter name: with will be the name of your template model : that is the model that you want to create the template for Apply to models : which is allows you create the current template for more than one template that you choose by duplicating the current template for each one of them Use as sample template : which is allows you to use the current template as sample that you can choose it to create another template just by editing it Sample image : the image that will descripting the template
Content : here we will design the report template body it self as we are writing text file , and we can read a value for one field for the model that we had choose just by writing S{object.field_name} , here you can check the20 examples
Paper format : this page gives you many options to define the page format such as , margins and orientations
Available fields : in this page you can fine all fields from the model you choose , and you can get the value of any one of them as we say above
Samples : here you can choose one of the sample template , then it’s content will be written in the current template content area , and the you can edit it as you want
Create Report :
To create and print new report go to reports creator/ create new report and then click on create button and add the fields
Date : the date of creating this report which is take the current date as default model : the model that you want to print report from it Template : select one template form all templates that’s designed for the model you choose
Record field : this field depends on the models you choose , for eg if you choose employee model this field will by employee so you have to choose one employee to print the report for him
Print button : to print the report after filling all fields just click on the print button on the top menu , you will get popup window , then revise the report and click on the print button on the bottom of the window which will create the pdf file
- model "object.a" has two form view with ids "object_a_form_view_1" and "object_a_form_view_2" and "object_a_form_view_1" id the default view and we want to show the other view from object_a_id field , so we can do it by add the field in the xml file as bellow
The error above happen when the postgres database service can not start , so to fix it we have to restart the postgres by opening the terminal and write the command bellow
Second we have "object.b" model , which we have user_id field that contain the current user , and object_a_id which is Many2one field from object "A" , as bellow
and we need to make domain over object_a_id field to show only the records from object A that the current user is involved in the user_ids field
....
To make the domain we have to add function as bellow
@api.onchange('some_field_in_B_object') def _get_object_b_ids(self): """ function to get the A records for the current user """ object_a_ids = self.env['object.a'].search([]) ids_lis = [] domain = [('id','=', -1)]
for rec in object_a_ids: for line in rec.user_ids: if self.user_id == line: ids_lis.append(rec.id) res = {} res['domain'] = {'object_a_id': [('id', 'in', ids_lis)]} return res