'max_date': fields.function(get_min_max_date, fnct_inv=_set_maximum_date, multi="min_max_date",
method=True, store=True, type='datetime', string='Max. Expected Date', select=2),
'move_lines': fields.one2many('stock.move', 'picking_id', 'Internal Moves', states={'done': [('readonly', True)], 'cancel': [('readonly', True)]}),
- 'delivery_line':fields.one2many('stock.delivery', 'picking_id', 'Delivery lines', readonly=True),
'auto_picking': fields.boolean('Auto-Picking'),
'address_id': fields.many2one('res.partner.address', 'Partner', help="Address of partner"),
'invoice_state': fields.selection([
res = {}
move_obj = self.pool.get('stock.move')
- delivery_obj = self.pool.get('stock.delivery')
product_obj = self.pool.get('product.product')
currency_obj = self.pool.get('res.currency')
users_obj = self.pool.get('res.users')
delivered_pack_id = pick.id
delivered_pack = self.browse(cr, uid, delivered_pack_id, context=context)
- delivery_id = delivery_obj.create(cr, uid, {
- 'name': delivered_pack.name or move.name,
- 'partner_id': partner_id,
- 'address_id': address_id,
- 'date': delivery_date,
- 'picking_id' : pick.id,
- 'move_delivered' : [(6,0, map(lambda x:x.id, delivered_pack.move_lines))]
- }, context=context)
res[pick.id] = {'delivered_picking': delivered_pack.id or False}
return res
stock_production_lot_revision()
-class stock_delivery(osv.osv):
-
- """ Traceability of partial deliveries """
-
- _name = "stock.delivery"
- _description = "Delivery"
-
- _columns = {
- 'name': fields.char('Name', size=60, required=True),
- 'date': fields.datetime('Date', required=True),
- 'partner_id': fields.many2one('res.partner', 'Partner', required=True),
- 'address_id': fields.many2one('res.partner.address', 'Address', required=True),
- 'move_delivered':fields.one2many('stock.move', 'delivered_id', 'Move Delivered'),
- 'picking_id': fields.many2one('stock.picking', 'Picking list'),
-
- }
-stock_delivery()
# ----------------------------------------------------
# Move
# ----------------------------------------------------
return (res and res[0]) or False
_name = "stock.move"
_description = "Stock Move"
+ _order = 'date_planned desc'
_log_create = False
def name_get(self, cr, uid, ids, context={}):
'priority': fields.selection([('0', 'Not urgent'), ('1', 'Urgent')], 'Priority'),
'date': fields.datetime('Created Date'),
- 'date_planned': fields.datetime('Date Planned', required=True, help="Scheduled date for the movement of the products or real date if the move is done."),
+ 'date_planned': fields.datetime('Date', required=True, help="Scheduled date for the movement of the products or real date if the move is done."),
'date_expected': fields.datetime('Date Expected', readonly=True,required=True, help="Scheduled date for the movement of the products"),
'product_id': fields.many2one('product.product', 'Product', required=True, select=True),
digits_compute= dp.get_precision('Account')),
'company_id': fields.many2one('res.company', 'Company', required=True,select=1),
'partner_id': fields.related('picking_id','address_id','partner_id',type='many2one', relation="res.partner", string="Partner"),
- 'backorder_id': fields.related('picking_id','backorder_id',type='many2one', relation="stock.picking", string="Back Orders"),
+ 'backorder_id': fields.related('picking_id','backorder_id',type='many2one', relation="stock.picking", string="Back Order"),
'origin': fields.related('picking_id','origin',type='char', size=64, relation="stock.picking", string="Origin"),
- 'move_stock_return_history': fields.many2many('stock.move', 'stock_move_return_history', 'move_id', 'return_move_id', 'Move Return History',readonly=True),
- 'delivered_id': fields.many2one('stock.delivery', 'Product delivered'),
'scraped': fields.related('location_dest_id','scrap_location',type='boolean',relation='stock.location',string='Scraped'),
}
_constraints = [
if default is None:
default = {}
default = default.copy()
- default['move_stock_return_history'] = []
return super(stock_move, self).copy(cr, uid, id, default, context)
def create(self, cr, user, vals, context=None):
- if vals.get('move_stock_return_history',False):
- vals['move_stock_return_history'] = []
# Check that the stock.move is in draft state at creation to force
# passing through button_confirm
if vals.get('state','draft') not in ('draft','done','waiting'):
"""
res = {}
picking_obj = self.pool.get('stock.picking')
- delivery_obj = self.pool.get('stock.delivery')
product_obj = self.pool.get('product.product')
currency_obj = self.pool.get('res.currency')
users_obj = self.pool.get('res.users')
done_move_ids = []
for move in complete:
done_move_ids.append(move.id)
- if move.picking_id.id not in ref:
- delivery_id = delivery_obj.create(cr, uid, {
- 'partner_id': partner_id,
- 'address_id': address_id,
- 'date': delivery_date,
- 'name' : move.picking_id.name,
- 'picking_id': move.picking_id.id
- }, context=context)
- ref[move.picking_id.id] = delivery_id
- delivery_obj.write(cr, uid, ref[move.picking_id.id], {
- 'move_delivered' : [(4,move.id)]
- })
return done_move_ids
stock_move()