in mrp_prod_custom.py :
class MRPProduction(models.Model):
_inherit = "mrp.production"
_order = "is_priority_search desc"
sale_id = fields.Many2one('sale.order', string="SO #", compute="_get_sale_id", store=True)
sale_id_unlink = fields.Many2one('sale.order', string="SO #", related="sale_id")
# Update from source if sale_id is NULL. For not auto generated MO.
@api.depends('sale_line_id', 'origin')
def _get_sale_id(self):
for result in self:
result.sale_id = None
if result.sale_line_id:
result.sale_id = result.sale_line_id.order_id
elif result.origin:
sale_id = self.env['sale.order'].sudo().search([('name', '=', result.origin)])
result.sale_id = sale_id[0] if len(sale_id) else None
if result.sale_id and result.sale_id.commitment_date:
# once get sale_line_id, udpate date_deadline from commitment_date in sale_order
result.date_deadline = result.sale_id.commitment_date - timedelta(days=2)
result.date_deadline_actual = result.sale_id.commitment_date
sale_mrp_production_ids = fields.One2many(comodel_name='mrp.production', string="SPK List", related="sale_id.mrp_production_ids")
sale_date_order = fields.Datetime(string="Order Date", related="sale_id.date_order")
sale_date_order_actual = fields.Datetime(string="Order Date", related="sale_id.date_order_actual")
so there's in acc_move_custom.xml:
record model="ir.ui.view" id="flexypack_account_form">
field name="name">flexypack.account.form field name="model">account.move 
field name="inherit_id" ref="account.view_move_form"/>
field name="arch" type="xml">
 data>
  xpath expr="//field[@name='ref']" position="after">
   field name="is_sales_document" invisible="1"/>
   field name="paid_all_approval_approved" invisible="1"/>
   field name="is_claimed_for_sale_id" invisible="1"/>
   field name="is_referral_reward"/>
   field name="production_ids" />
   field name="production_names" />
   !-- -->
   field name="extra"/>
  /xpath>
  xpath expr="//page[@id='invoice_tab']" position="before">
   field name="return_sale_id" invisible="1"/>
   page id="sales_out_invoice_line_ids_tab" string="Return Invoice Lines" attrs="{'invisible': ['|', ('type', '!=', 'out_refund'), ('return_sale_id', '=', False)]}">     field name="sales_out_invoice_line_ids">
     tree string="Journal Items" default_order="sequence, date desc, move_name desc, id">
      !-- Displayed fields -->
      field name="sequence" widget="handle"/>
      field name="move_name" invisible="1"/>
      field name="product_id" optional="show" domain="['|', ('company_id', '=', False), ('company_id', '=', parent.company_id)]"/>     /tree>
    /field>
   /page>
  /xpath>
  xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='product_id']" position="after">
   field name="production_id" string="No SPK"/>
   field name="production_ids" />
   field name="production_names" />
  /xpath>
in this acc_move_custom.py:
class AccountMove(models.Model):
_inherit = 'account.move'
notes = fields.Text(string='Notes')
production_ids = fields.One2many(string='Manufacturing Orders', comodel_name='mrp.production',related='sale_id.mrp_production_ids')
class AccountMoveLineCustom(models.Model):
_inherit = 'account.move.line'
brand_id = fields.Many2one(comodel_name="partner.brand", string="Brand")
variant_id = fields.Many2one(comodel_name="res.partner.brand.variant", string="Variant")
order_lines = fields.Many2many('sale.order.line','sale_order_line_invoice_rel','invoice_line_id', 'order_line_id', string='Order Lines', copy=False)
acc_move_id = fields.Many2one('account.move')
mrp_prod_ids = fields.Many2one('mrp.production')
production_ids = fields.Char(string='Manufacturing Orders',related='mrp_prod_ids.name')
# production_ids = fields.Char(string='Manufacturing Orders',related='mrp_prod_ids.sale_mrp_production_ids.name') 
stock_move_id = fields.Many2one("stock.move", string="Stock Move", domain="[('picking_id', '=', delivery_id)]")
production_id = fields.Many2one(related="stock_move_id.created_production_id", string="Nomor SPK")
fp_final_invoice_id = fields.Many2one('fp.final.invoice.line')
production_names = fields.Many2one('fp_final_invoice_id.production_id', string="Nomor SPK", store=True)
# @api.depends('fp_final_invoice_id')
# def _compute_production_id(self):
# for line in self:
# if line.fp_final_invoice_id:
# line.production_id = line.fp_final_invoice_id.production_id
# else:
# line.production_id = False
# production_ids = fields.One2many(string='Manufacturing Orders', comodel_name='mrp.production',
# related='sale_id.mrp_production_ids')
I
 already tried to show the data of 'production_id', 'production_names', 
and 'production_ids', in: 
xpath expr="//field[@name='ref']" position="after">
it's show, but when I add in:
xpath expr="//field[@name='invoice_line_ids']/tree/field[@name='product_id']" position="after">
I'm tried get 'name' field from mrp.production, but the data won't show, it's empty.
