콘텐츠로 건너뛰기
메뉴
커뮤니티에 참여하려면 회원 가입을 하시기 바랍니다.
신고된 질문입니다

Hello,


I have multiple sale order line and sale order line have one field called order id.

When I print sale order line, qweb create a new page for every line that is i want.


But now, when the order id is same for multiple sale order line, it append in one report.


How to do this ??

Thanks,

아바타
취소
작성자

It's Done.

작성자 베스트 답변

Hello,


I have taken one field in sale order line which is many2one to sale order line.

Now search the record where reference id are same and in that record written the first sale order line id.


For report,

Create a parser class and take method render_html.


Then search the record in the sale order line that line_id is the sale_order_line.id so i get same reference_id record in list and append in the main list.


Because there are many records which have multiple sale order line.

class PackingListReport(models.AbstractModel):

    _name = 'report.work_order.report_packing_list'

    @api.multi

    def render_html(self, data=None):

        family = []

        report_obj = self.env['report']

        work_order_id = self.env['work.order'].browse(self.id)

        for line in work_order_id.work_order_line:

            search_id = work_order_id.work_order_line.search([('order_work_id', '=', self.id), ('reference_id', '=', line.reference_id), ('line_id', '=', line.id)])

            if search_id:

                family.append(search_id)

        report = report_obj._get_report_from_name('work_order.report_packing_list')

        docargs = {

            'doc_ids': self._ids,

            'doc_model': report.model,

            'docs': work_order_id,

            'family': family,

        }

        return report_obj.render('work_order.report_packing_list', docargs)



and this family list append in the dictionary and pass through render method.

So I can easily fetch it into my report template.


Thanks,


아바타
취소
관련 게시물 답글 화면 활동
0
12월 19
70
0
2월 18
4987
0
4월 19
4624
0
12월 18
4081
1
4월 25
1448