Я пытаюсь выполнить проверку с помощью кнопки принудительной доступности в меню инвентаря -> меню всех передач, чтобы ограничить заказ, если количество товара больше, чем количество на складе или количество на складе было отрицательным, когда я пытаюсь выбрать некоторые типы в комплектации из Дополнительного На вкладке «Информация» отображается всплывающее окно (AttributeError: объект «float» не имеет атрибута «get»).
2 - в записи move_lines, когда я добавляю более одной записи, я печатаю все записи, но проверка выполняется для последней записи в цикле, я не знаю, почему.
и вот код ниже, я попробую, если кто-нибудь может помочь с этой проблемой
@api.multi
def force_assign(self):
qty = self.product_qty_per_location()
if self.picking_type_id.code == 'internal' :
if self.location_id.company_id.no_negative_stock:
for order in self :
for line in order.move_lines:
if line.product_uom_qty > qty:
raise ValidationError(_('The qty on hand less than qty on your order .'))
else:
move = self.env["stock.move"]
move = self.mapped('move_lines').filtered(lambda move: move.state not in ('assigned', 'cancel', 'done'))
return super(Picking, self).force_assign()
@api.onchange('product_id','location_id')
def product_qty_per_location(self):
if self.product_id and self.location_id:
for x in self.move_lines:
product = self.env['product.product'].browse(x.product_id.id)
available_qty = product.with_context({'location' : x.location_id.id}).qty_available
print "The Quantity is : '%s'" % (available_qty)
return available_qty
Console Log Img