[FIX] Drop shipping invoice correction
When invoicing from dropshipping picking, choose the correct partner. Also, change the partner on the picking to be the partner of the purchase. Change the picking report to include the destination partner or the warehouse address on the right. [IMP] Only put partner_id on move from purchase when really necessary [FIX] Default value of partner on stock move should be False
This commit is contained in:
parent
ba37ae3cf3
commit
6ea0cc41b9
|
@ -725,7 +725,7 @@ class purchase_order(osv.osv):
|
||||||
'location_id': order.partner_id.property_stock_supplier.id,
|
'location_id': order.partner_id.property_stock_supplier.id,
|
||||||
'location_dest_id': order.location_id.id,
|
'location_dest_id': order.location_id.id,
|
||||||
'picking_id': picking_id,
|
'picking_id': picking_id,
|
||||||
'partner_id': order.dest_address_id.id or order.partner_id.id,
|
'partner_id': order.dest_address_id.id,
|
||||||
'move_dest_id': False,
|
'move_dest_id': False,
|
||||||
'state': 'draft',
|
'state': 'draft',
|
||||||
'purchase_line_id': order_line.id,
|
'purchase_line_id': order_line.id,
|
||||||
|
@ -831,7 +831,7 @@ class purchase_order(osv.osv):
|
||||||
for order in self.browse(cr, uid, ids):
|
for order in self.browse(cr, uid, ids):
|
||||||
picking_vals = {
|
picking_vals = {
|
||||||
'picking_type_id': order.picking_type_id.id,
|
'picking_type_id': order.picking_type_id.id,
|
||||||
'partner_id': order.dest_address_id.id or order.partner_id.id,
|
'partner_id': order.partner_id.id,
|
||||||
'date': max([l.date_planned for l in order.order_line]),
|
'date': max([l.date_planned for l in order.order_line]),
|
||||||
'origin': order.name
|
'origin': order.name
|
||||||
}
|
}
|
||||||
|
|
|
@ -371,7 +371,7 @@ class stock_move(osv.osv):
|
||||||
return invoice_line_id
|
return invoice_line_id
|
||||||
|
|
||||||
def _get_master_data(self, cr, uid, move, company, context=None):
|
def _get_master_data(self, cr, uid, move, company, context=None):
|
||||||
if move.procurement_id and move.procurement_id.sale_line_id:
|
if move.procurement_id and move.procurement_id.sale_line_id and move.procurement_id.sale_line_id.order_id.order_policy == 'picking':
|
||||||
sale_order = move.procurement_id.sale_line_id.order_id
|
sale_order = move.procurement_id.sale_line_id.order_id
|
||||||
return sale_order.partner_invoice_id, sale_order.user_id.id, sale_order.pricelist_id.currency_id.id
|
return sale_order.partner_invoice_id, sale_order.user_id.id, sale_order.pricelist_id.currency_id.id
|
||||||
return super(stock_move, self)._get_master_data(cr, uid, move, company, context=context)
|
return super(stock_move, self)._get_master_data(cr, uid, move, company, context=context)
|
||||||
|
@ -411,7 +411,7 @@ class stock_picking(osv.osv):
|
||||||
"""
|
"""
|
||||||
saleorder_ids = self.pool['sale.order'].search(cr, uid, [('procurement_group_id' ,'=', picking.group_id.id)], context=context)
|
saleorder_ids = self.pool['sale.order'].search(cr, uid, [('procurement_group_id' ,'=', picking.group_id.id)], context=context)
|
||||||
saleorders = self.pool['sale.order'].browse(cr, uid, saleorder_ids, context=context)
|
saleorders = self.pool['sale.order'].browse(cr, uid, saleorder_ids, context=context)
|
||||||
if saleorders and saleorders[0]:
|
if saleorders and saleorders[0] and saleorders[0].order_policy == 'picking':
|
||||||
saleorder = saleorders[0]
|
saleorder = saleorders[0]
|
||||||
return saleorder.partner_invoice_id.id
|
return saleorder.partner_invoice_id.id
|
||||||
return super(stock_picking, self)._get_partner_to_invoice(cr, uid, picking, context=context)
|
return super(stock_picking, self)._get_partner_to_invoice(cr, uid, picking, context=context)
|
||||||
|
|
|
@ -1789,8 +1789,7 @@ class stock_move(osv.osv):
|
||||||
return False
|
return False
|
||||||
|
|
||||||
def _default_destination_address(self, cr, uid, context=None):
|
def _default_destination_address(self, cr, uid, context=None):
|
||||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
return False
|
||||||
return user.company_id.partner_id.id
|
|
||||||
|
|
||||||
_defaults = {
|
_defaults = {
|
||||||
'location_id': _default_location_source,
|
'location_id': _default_location_source,
|
||||||
|
|
|
@ -9,6 +9,8 @@
|
||||||
<div class="row"><div class="col-xs-4 pull-right">
|
<div class="row"><div class="col-xs-4 pull-right">
|
||||||
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s' % ('Code128', o.name, 600, 100)" style="width:300px;height:50px;"/>
|
<img t-att-src="'/report/barcode/?type=%s&value=%s&width=%s&height=%s' % ('Code128', o.name, 600, 100)" style="width:300px;height:50px;"/>
|
||||||
</div></div>
|
</div></div>
|
||||||
|
<div class="row">
|
||||||
|
<div class="col-xs-6">
|
||||||
<div t-if="o.picking_type_id.code=='incoming' and o.partner_id">
|
<div t-if="o.picking_type_id.code=='incoming' and o.partner_id">
|
||||||
<span><strong>Supplier Address:</strong></span>
|
<span><strong>Supplier Address:</strong></span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -23,7 +25,20 @@
|
||||||
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true}'/>
|
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true}'/>
|
||||||
<p t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat"/></p>
|
<p t-if="o.partner_id.vat">VAT: <span t-field="o.partner_id.vat"/></p>
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="col-xs-5 col-xs-offset-1">
|
||||||
|
<div t-if="o.move_lines[0].partner_id and o.move_lines[0].partner_id.id != o.partner_id.id">
|
||||||
|
<span><strong>Delivery Address:</strong></span>
|
||||||
|
<div t-field="o.move_lines[0].partner_id"
|
||||||
|
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true}'/>
|
||||||
|
</div>
|
||||||
|
<div t-if="o.picking_type_id.code != 'internal' and (not o.move_lines[0].partner_id) and o.picking_type_id.warehouse_id.partner_id">
|
||||||
|
<span><strong>Warehouse Address:</strong></span>
|
||||||
|
<div t-field="o.picking_type_id.warehouse_id.partner_id"
|
||||||
|
t-field-options='{"widget": "contact", "fields": ["address", "name", "phone", "fax"], "no_marker": true}'/>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
<h2>
|
<h2>
|
||||||
<span t-field="o.picking_type_id"/>:
|
<span t-field="o.picking_type_id"/>:
|
||||||
<span t-field="o.name"/>
|
<span t-field="o.name"/>
|
||||||
|
|
Loading…
Reference in New Issue