From 18502c4b2156fb5fd29e53a6872f09f2f6b85f55 Mon Sep 17 00:00:00 2001 From: IT Fixcomart Date: Fri, 12 Aug 2022 14:31:15 +0700 Subject: Relasi so, po, product, menu item di purchase dan menu item di inventory --- indoteknik_custom/models/sale_monitoring.py | 20 ++++++--- indoteknik_custom/views/sale_monitoring.xml | 64 ++++++++++++++++++++--------- 2 files changed, 58 insertions(+), 26 deletions(-) diff --git a/indoteknik_custom/models/sale_monitoring.py b/indoteknik_custom/models/sale_monitoring.py index 6a558669..27c9007c 100644 --- a/indoteknik_custom/models/sale_monitoring.py +++ b/indoteknik_custom/models/sale_monitoring.py @@ -4,16 +4,18 @@ from odoo import fields, models, api, tools class SaleMonitoring(models.Model): _name = 'sale.monitoring' _auto = False + _rec_name = 'sale_order_id' id = fields.Integer() - name = fields.Char(string="Name") - product_name = fields.Char(string="Product Name") - default_code = fields.Char(string="Default Code") + sale_order_id = fields.Many2one("sale.order", string="Sale Order") + purchase_order_id = fields.Many2one("purchase.order", string="Purchase Order") + product_id = fields.Many2one("product.product", string="Product") qty_so = fields.Integer(string="Qty SO") qty_so_delivered = fields.Integer(string="Qty SO Delivered") qty_so_invoiced = fields.Integer(string="Qty SO Invoiced") qty_po = fields.Integer(string="Qty PO") qty_po_received = fields.Integer(string="Qty PO Received") + sale_create_date = fields.Datetime(string="Sale Create Date") def init(self): tools.drop_view_if_exists(self.env.cr, self._table) @@ -21,12 +23,18 @@ class SaleMonitoring(models.Model): CREATE or REPLACE VIEW %s as ( SELECT p.id AS id, - so.name AS name, - p.default_code AS default_code, - pt.name as product_name, + so.id AS sale_order_id, + p.id as product_id, sol.product_uom_qty AS qty_so, sol.qty_delivered AS qty_so_delivered, sol.qty_invoiced AS qty_so_invoiced, + so.create_date AS sale_create_date, + ( + SELECT poo.id + FROM purchase_order_line pol + JOIN purchase_order poo ON poo.id = pol.order_id + WHERE poo.sale_order_id = so.id AND pol.product_id = sol.product_id + ) AS purchase_order_id, ( SELECT SUM(product_uom_qty) FROM purchase_order_line pol diff --git a/indoteknik_custom/views/sale_monitoring.xml b/indoteknik_custom/views/sale_monitoring.xml index 3c160e19..1df23285 100644 --- a/indoteknik_custom/views/sale_monitoring.xml +++ b/indoteknik_custom/views/sale_monitoring.xml @@ -4,10 +4,9 @@ sale.monitoring.tree sale.monitoring - - - - + + + @@ -17,35 +16,60 @@ + + sale.monitoring.form + sale.monitoring + +
+ + + + + + + + + + + + + + + + +
+
+
+ Sale Monitoring ir.actions.act_window sale.monitoring - tree + tree,form - - - - - - - + - - - - - - - + \ No newline at end of file -- cgit v1.2.3