Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
1 Trả lời
3238 Lượt xem

I am using following function to fetch records in my report.

def get_records(self):

    recsss = self.pool.get('overtime_oms_bcube.overtime_oms_bcube').search(self.cr,self.uid, [], context=self.context) resss = self.pool.get('overtime_oms_bcube.overtime_oms_bcube').browse(self.cr, self.uid, recsss) return resss

and calling the records by following way:

<t t-set="i" t-value="1"/>

<tr t-foreach="get_records()" t-as="data">

<td style="display:none"> <t t-esc="i"/> <t t-set="i" t-value="i+1"/> </td>

<td t-esc="data['employee_code']"></td>

<td t-esc="data['employee'].name"></td>

<td t-esc="data['employee'].job_id.name"></td>

<td t-esc="data['no_of_days']"></td>

<td t-esc="data['employee'].contract_id.wage"></td>

<td t-esc="data['employee'].contract_id.wage*0.64516129"></td>

</tr>

The problem is that the resulting report is showing all the records saved in the data base. I want it to show only those records which are selected in the tree view.

enter image description hereAnd even in if we are in the single record view and generate a report, it still shows all the record but according to the flow it need to generate a report of that record from where we are generating that report.

please suggest something that helps in such requirement. Thanks in advance.

Ảnh đại diện
Huỷ bỏ
Câu trả lời hay nhất

You can use context because it always contains active record ids in it.


def get_records(self):
    recsss = self.pool.get('overtime_oms_bcube.overtime_oms_bcube').search(self.cr,self.uid,context.get('active_ids'), context=self.context)

    resss = self.pool.get('overtime_oms_bcube.overtime_oms_bcube').browse(self.cr, self.uid, recsss) return resss

 

Ảnh đại diện
Huỷ bỏ
Bài viết liên quan Trả lời Lượt xem Hoạt động
1
thg 2 17
9169
2
thg 2 24
5381
2
thg 9 24
1918
2
thg 7 23
6308
1
thg 6 23
4324