Я пытаюсь создать поля. Один 2Many для моего модуля счета, я создаю два разных модуля, один с именем ms_produk и другой с именем invoice, затем для ms_produk я использую в качестве основного продукта, который служит CRUD для элемента и имеет таблицу с именем " ms_produk_ms_produk "
вот моя модель ms_produk выглядела так:
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class ProdukProduk(models.Model):
_name = 'ms_produk.ms_produk'
kd_produk = fields.Char(String='Kode Produk', required=True)
nm_produk = fields.Char(String='Nama Produk', required=True)
tanggal_input = fields.Datetime(string='Tanggal Input', default=fields.Datetime.now())
tanggal_aktif = fields.Datetime(string='Tanggal Aktif', default=fields.Datetime.now())
status_aktif = fields.Boolean('Status Aktif', default=True)
keterangan = fields.Html(string='Keterangan')
no_faktur = fields.Many2one('salesorder.salesorder')
я добавляю
no_faktur = fields.Many2one ('salesorder.salesorder')
чтобы связать эту таблицу с моим модулем счета, так как я хочу использовать функцию One2Many в моем модуле счета
тогда вот моя модель модуля счета была похожа, эта модель с именем "salesorder.py":
# -*- coding: utf-8 -*-
from odoo import models, fields, api
class SalesorderSalesorder(models.Model):
_name = 'salesorder.salesorder'
no_faktur = fields.Char(String='No Faktur', required=True)
kd_dealer = fields.Char(String='Kode Dealer', required=True)
nm_dealer = fields.Char(String='Nama Dealer', required=True)
tanggal_faktur = fields.Datetime(string='Tgl Faktur', default=fields.Datetime.now())
keterangan = fields.Html(string='Keterangan')
kd_sales = fields.Many2one('res.users', string='Kode Sales')
details = fields.One2many('ms_produk.ms_produk','no_faktur','List Item')
это сработало, когда я нажимаю «добавить строку», он выскакивает из моего основного модуля продукта, но он показывает в форме ввода, как я изменил его только для списка? так что я могу выбрать какой-либо элемент, чтобы добавить в качестве детали для моего счета?
SNAPSHOT:
Форма заказа продавца:
когда я нажимаю «добавить строку», появляется форма, подобная этой: (это форма ввода, мне нужно представление списка моего продукта)
это должен быть список моих товаров, который выглядел так: (это снимок с моего мастер-модуля)
тогда я добавлю вот так: (это пример снимка, который я беру с Thayif Kabir ссылка
** ОБНОВЛЕННЫЙ КОД как ответ @Ajmal JK, я попытался отредактировать свой salesorder_view.xml и разбить некоторый код, вот как это выглядело сейчас:
<?xml version="1.0" encoding="UTF-8"?>
<odoo>
<data>
<record id="salesorder_menu_action" model="ir.actions.act_window">
<field name="name">SalesOrders</field>
<field name="res_model">salesorder.salesorder</field>
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
<field name="domain">[]</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">Create SalesOrders
</p>
</field>
</record>
<!-- newly added -->
<!-- salesorder view -->
<record id="salesorder_tree" model="ir.ui.view">
<field name="name">salesorder.form.tree</field>
<field name="model">salesorder.salesorder</field>
<field name="type">tree</field>
<field name='arch' type="xml">
<field name='details'>
<tree string="SalesOrder" editable="bottom">
<field name="kd_produk"/>
<field name="nm_produk"/>
</tree>
</field>
</field>
</record>
<!-- end of salesorder view -->
<!-- master product view -->
<record id="browse_msproduk_tree_view" model="ir.ui.view">
<field name="name">ms_produk</field>
<field name="model">ms_produk.ms_produk</field>
<field name="view_mode">tree</field>
<field name="arch" type="xml">
<tree editable="bottom">
<field name="kd_produk"/>
<field name="nm_produk"/>
<field name="tanggal_input"/>
</tree>
</field>
<field name="view_id" ref="salesorder_tree"/>
<field name="act_window_id" ref="salesorder_menu_action"/>
</record>
<!-- end of master product view -->
<!-- end of newly added -->
<menuitem id="salesorder_menu" name="SalesOrder"/>
<menuitem id="Salesorder_neworder_menu"
parent="salesorder_menu"
name="New Order"
action="salesorder_menu_action"/>
</data>
</odoo>
нет ошибки при запуске этого кода, он работал, но не так, как я хочу, при предоставлении этого кода <tree editable="bottom">
в Master Product View разделе они становятся редактируемый inline, поэтому я должен ввести каждый столбец, мне нужно всплывающее окно со списком продуктов, чтобы я мог выбрать его и вставить в форму сведений, я пытаюсь сделать <tree editable="bottom">
, затем я пытаюсь <tree string="details">
без редактирования тег, это возврат к всплывающему окну, но это форма ввода, это должен быть список продуктов, чтобы я мог проверить элемент и добавить его в таблицу сведений, как мне это сделать?