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

When we create a sales order, a delivery order is created automatically which reference to the sales order line. However, when we create a delivery order, there is no option to reference it back to the sales order line. How can this be done manually?

아바타
취소

Hello, Did you manage to solve this issue? I have the same problem - in v7 I could refer to the SO Item, but in v8 this seems to be missing. Somehow I can't find a way to refer from stock.pack.operation to sale.order.line and I need that to generate proper delivery order report... In odoo-8.0/openerp/addons/sale/sale.py -> "def _prepare_order_line_procurement(self, cr, uid, order, line, group_id=False, context=None):" I see "'sale_line_id': line.id ", but there is no such field in the stock.pack.operation model. Why is that? I really don't understand why it worked in v7 and now the field is missing. Looking forward to your feedback! Regards, Pavel

베스트 답변

Hello, 

After two about 20h struggle I could not find a nice way do to that.Still I have at least a temporary solution, that solves this problem.
I would really love to get feedback from you on this. Especially how to rewrite it, so that I don't use cr and manual trims. I know this is wrong, but I could get the result in other way.

Regards,
Pavel

class stock_pack_operation(osv.osv):
    _inherit = "stock.pack.operation"
    _columns = {
                'x_sale_line_id': fields.many2one('sale.order.line', 'Custom Field: Reference to the  sale.order.line', required=True)
                }   
    def create(self, cr, uid, vals, context=None):
        tmp = [vals['picking_id']]
        cr.execute('SELECT origin FROM stock_picking WHERE stock_picking.id = %s', tmp)
        origin = cr.fetchone()
        origin = origin[0] 
        origin = int(origin[2:])
        cr.execute('SELECT id FROM sale_order_line WHERE order_id = %s AND product_id=%s', (origin, vals['product_id']))                
        zsli = cr.fetchone()    
        zsli = zsli[0]    
        vals['x_sale_line_id'] = zsli 
        res_id = super(stock_pack_operation, self).create(cr, uid, vals, context=context)
        return res_id

아바타
취소
관련 게시물 답글 화면 활동
1
9월 16
6770
1
3월 15
9306
4
4월 20
10684
1
11월 24
1792
1
5월 23
6235