1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
from odoo import fields, models, api, _
from odoo.exceptions import AccessError, UserError, ValidationError
from odoo.tools import DEFAULT_SERVER_DATETIME_FORMAT
import logging
_logger = logging.getLogger(__name__)
class SalesOrderFullfillmentV2(models.Model):
_name = 'sales.order.fulfillment.v2'
sale_order_id = fields.Many2one('sale.order', string='Sale Order')
sale_order_line_id = fields.Many2one('sale.order.line', string='Sale Order Line')
picking_id = fields.Many2one('stock.picking', string='Picking')
move_id = fields.Many2one('stock.move', string='Move')
move_line_id = fields.Many2one('stock.move.line', string='Move Line')
product_id = fields.Many2one('product.product', string='Product')
so_qty = fields.Float(string='SO Qty')
reserved_stock_qty = fields.Float(string='Reserved Stock Qty', help='Sudah ter-reserved oleh sistem')
delivered_qty = fields.Float(string='Delivered Qty', help='Yang sudah terkirim ke Customer')
po_ids = fields.Many2many('purchase.order', string='Purchase Order', help='PO yang dibuat, bisa lebih dari satu')
po_qty = fields.Float(string='PO Qty', help='Totalan dari semua PO Outstanding')
received_qty = fields.Float(string='Received Qty', help='Totalan dari barang yang diterima dari PO tsb')
purchaser = fields.Char(string='Purchaser')
class SalesOrderFullfillment(models.Model):
_name = 'sales.order.fullfillment'
sales_order_id = fields.Many2one('sale.order', string='Sale Order')
product_id = fields.Many2one('product.product', string='Product')
reserved_from = fields.Char(string='Reserved From', copy=False)
qty_fullfillment = fields.Float(string='Qty')
user_id = fields.Many2one('res.users', string='Responsible', compute='get_user_id')
def get_user_id(self):
for rec in self:
po = self.env['purchase.order'].search([('name', '=', rec.reserved_from)], limit=1)
if po:
rec.user_id = po.user_id.id
else:
rec.user_id = False
|