diff options
| -rw-r--r-- | indoteknik_custom/models/automatic_purchase.py | 11 | ||||
| -rw-r--r-- | indoteknik_custom/models/sale_order_line.py | 12 | ||||
| -rw-r--r-- | indoteknik_custom/views/automatic_purchase.xml | 3 |
3 files changed, 25 insertions, 1 deletions
diff --git a/indoteknik_custom/models/automatic_purchase.py b/indoteknik_custom/models/automatic_purchase.py index af09abf0..e169af83 100644 --- a/indoteknik_custom/models/automatic_purchase.py +++ b/indoteknik_custom/models/automatic_purchase.py @@ -570,6 +570,17 @@ class AutomaticPurchaseSalesMatch(models.Model): qty_po = fields.Float(string='Qty PO') purchase_price = fields.Float(string='Purchase Price SO') purchase_tax_id = fields.Many2one('account.tax', string='Tax', domain=['|', ('active', '=', False), ('active', '=', True)]) + note_procurement = fields.Char(string='Note Detail', help="Harap diisi jika ada keterangan tambahan dari Procurement, agar dapat dimonitoring") + + @api.constrains('note_procurement') + def note_procurement_to_so_line(self): + for rec in self: + so_line = self.env['sale.order.line'].search([ + ('id', '=', rec.sale_line_id.id), + ], limit=1) + + if so_line.note_procurement != rec.note_procurement: + so_line.note_procurement = rec.note_procurement class SyncPurchasingJob(models.Model): _name = 'sync.purchasing.job' diff --git a/indoteknik_custom/models/sale_order_line.py b/indoteknik_custom/models/sale_order_line.py index 8fb34328..11346fc9 100644 --- a/indoteknik_custom/models/sale_order_line.py +++ b/indoteknik_custom/models/sale_order_line.py @@ -31,6 +31,18 @@ class SaleOrderLine(models.Model): qty_reserved = fields.Float(string='Qty Reserved', compute='_compute_qty_reserved') reserved_from = fields.Char(string='Reserved From', copy=False) + @api.constrains('note_procurement') + def note_procurement_to_apo(self): + for line in self: + matches_so = self.env['automatic.purchase.sales.match'].search([ + ('sale_line_id', '=', line.id), + ]) + + for match_so in matches_so: + match_so.note_procurement = line.note_procurement + + + @api.onchange('product_uom', 'product_uom_qty') def product_uom_change(self): if not self.product_uom or not self.product_id: diff --git a/indoteknik_custom/views/automatic_purchase.xml b/indoteknik_custom/views/automatic_purchase.xml index 974fbd17..cdaf6297 100644 --- a/indoteknik_custom/views/automatic_purchase.xml +++ b/indoteknik_custom/views/automatic_purchase.xml @@ -44,7 +44,7 @@ <field name="name">automatic.purchase.sales.match.tree</field> <field name="model">automatic.purchase.sales.match</field> <field name="arch" type="xml"> - <tree> + <tree editable="bottom"> <field name="sale_id" readonly="1"/> <field name="sale_line_id" readonly="1" optional="hide"/> <field name="picking_id" readonly="1" optional="hide"/> @@ -57,6 +57,7 @@ <field name="product_id" readonly="1"/> <field name="qty_so" readonly="1"/> <field name="qty_po" readonly="1"/> + <field name="note_procurement"/> </tree> </field> </record> |
