Odooproductview

product模块中有3个关于产品的表单视图:

  1. 产品模板主视图
<record id="product_template_form_view" model="ir.ui.view">
            <field name="name">product.template.common.form</field>
            <field name="model">product.template</field>
            <field name="mode">primary</field>
            <field name="arch" type="xml">
                <form string="Product">
                    <field name="is_product_variant" invisible="1"/>
                    <field name='product_variant_count' invisible='1'/>
                    <sheet>
                        <field name="id" invisible="True"/>
                        <div class="oe_right oe_button_box" style="width: 300px;" name="buttons">
                        </div>
                        <div class="oe_left" style="width: 500px;">
                            <field name="image_medium" widget="image" class="oe_avatar oe_left"/>
                            <div class="oe_title" style="width: 390px;">
                                <label class="oe_edit_only" for="name" string="Product Name"/>
                                <h1><field name="name" class="oe_inline"/></h1>
                            </div>
                            <div class="oe_left" name="options" groups="base.group_user">
                                <div>
                                    <field name="sale_ok"/>
                                    <label for="sale_ok"/>
                                </div>
                            </div>
                        </div>
                        <notebook>
                            <page string="Information">
                                <group colspan="4">
                                    <group>
                                        <field name="type"/>
                                        <field name="uom_id" on_change="onchange_uom(uom_id,uom_po_id)" groups="product.group_uom"/>
                                        <field name="list_price"/>
                                    </group>
                                    <group>
                                        <field name="active"/>
                                    </group>
                                </group>
                                <group colspan="4">
                                    <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                                </group>
                                <field name="description" placeholder="describe the product characteristics..."/>
                            </page>
                            <page string="Procurements" groups="base.group_user">
                                <group name="procurement">
                                    <group name="general">
                                        <field name="standard_price"/>
                                    </group>
                                    <group name="procurement_uom" groups="product.group_uom" string="Purchase">
                                        <field name="uom_po_id"/>
                                    </group>
                                </group>
                                <separator string="Suppliers"/>
                                <field name="seller_ids"/>
                                <separator string="Description for Suppliers"/>
                                <field name="description_purchase" placeholder="This note will be displayed on requests for quotation..."/>
                            </page>
                            <page string="Inventory">
                                <group name="inventory">
                                     <group name="status" string="Status">
                                        <field name="state"/>
                                        <field name="product_manager"/>
                                    </group>
                                    <group name="weight" string="Weights" attrs="{'invisible':[('type','=','service')]}">
                                        <field digits="(14, 3)" name="volume"/>
                                        <field digits="(14, 3)" name="weight"/>
                                        <field digits="(14, 3)" name="weight_net"/>
                                    </group>
                                </group>
                                <group name="packaging" string="Packaging" attrs="{'invisible':[('type','=','service')]}" groups="product.group_stock_packaging" colspan="4">
                                    <field name="packaging_ids" string="Configurations" context="{'tree_view_ref':'product.product_packaging_tree_view_product', 'form_view_ref': 'product.product_packaging_form_view_without_product'}"/>
                                </group>
                            </page>
                            <page string="Sales" attrs="{'invisible':[('sale_ok','=',False)]}" name="sales">
                                <group name="sale">
                                    <group name="sale_condition" string="Sale Conditions" colspan="3">
                                        <label for="warranty"/>
                                        <div>
                                            <field name="warranty" class="oe_inline"/> months
                                        </div>
                                    </group>
                                    <group groups="product.group_uos" string="Unit of Measure">
                                        <field name="uos_id"/>
                                        <field name="uos_coeff"/>
                                        <field name="mes_type"/>
                                    </group>
                                </group>
                                <group name="website_and_pos" col="2">
                                </group>
                                <separator string="Description for Quotations"/>
                                <field name="description_sale" placeholder="note to be displayed on quotations..."/>
                            </page>
                        </notebook>
                    </sheet>
                    <div class="oe_chatter">
                        <field name="message_follower_ids" widget="mail_followers"/>
                        <field name="message_ids" widget="mail_thread"/>
                    </div>
                </form>
            </field>
        </record>
  1. 产品模板表单视图,继承自1,在Odoo中打开一个产品(模板)会调用此视图:
        <!-- view specific to product.template -->
        <record id="product_template_only_form_view" model="ir.ui.view">
            <field name="name">product.template.product.form</field>
            <field name="model">product.template</field>
            <field name="mode">primary</field>
            <field name="priority" eval="8" />
            <field name="inherit_id" ref="product.product_template_form_view"/>
            <field name="arch" type="xml">
                <xpath expr="//form" position="attributes">
                    <attribute name="name">Product Template</attribute>
                </xpath>
                <field name="active" position="after">
                    <field name="ean13" attrs="{'invisible': [('product_variant_count', '>', 1)]}"/>
                    <field name="default_code" attrs="{'invisible': [('product_variant_count', '>', 1)]}"/>
                </field>
                <xpath expr="//page[@string='Sales']" position="after">
                    <page name="variants" string="Variants">
                        <div class="oe_right">
                            <button class="oe_inline oe_stat_button" string="Variant Prices"  name="%(variants_template_action)d" type="action" icon="fa-strikethrough"/>
                            <button class="oe_inline oe_stat_button" name="%(product.product_variant_action)d" type="action" icon="fa-sitemap">
                                <field string="List of Variants" name="product_variant_count" widget="statinfo" />
                            </button>
                        </div>
                        <p class="oe_grey">
                            <strong>Warning</strong>: adding or deleting attributes
                            will delete and recreate existing variants and lead
                            to the loss of their possible customizations.
                        </p>
                        <field name="attribute_line_ids" widget="one2many_list" context="{'show_attribute': False}">
                            <tree string="Variants" editable="bottom">
                                <field name="attribute_id"/>
                                <field name="value_ids" widget="many2many_tags" options="{'no_create_edit': True}" domain="[('attribute_id', '=', attribute_id)]" context="{'default_attribute_id': attribute_id}"/>
                            </tree>
                        </field>
                    </page>
                </xpath>
            </field>
        </record>
  1. 产品规格(Product Variant)视图,继承自1。
        <record id="product_normal_form_view" model="ir.ui.view">
            <field name="name">product.product.form</field>
            <field name="model">product.product</field>
            <field name="mode">primary</field>
            <field eval="7" name="priority"/>
            <field name="inherit_id" ref="product.product_template_form_view"/>
            <field name="arch" type="xml">
                <form position="attributes">
                    <attribute name="string">Product Variant</attribute>
                </form>
                <field name="active" position="after">
                    <field name="ean13"/>
                    <field name="default_code"/>
                </field>
                <field name="list_price" position="attributes">
                   <attribute name="name">lst_price</attribute>
                </field>
                <field name="name" position="replace">
                    <field name="name" attrs="{'invisible': [('id', '!=', False)]}"/>
                    <field name="product_tmpl_id" class="oe_inline" readonly="1" attrs="{'invisible': [('id', '=', False)], 'required': [('id', '!=', False)]}"/>
                </field>
                <xpath expr="//div[@class='oe_title']" position="inside">
                    <field name="attribute_value_ids" widget="many2many_tags"/>
                </xpath>
            </field>
        </record>

stock模块中product.template相关继承表单视图,继承自

        <record id="view_template_property_form" model="ir.ui.view">
            <field name="name">product.template.stock.property.form.inherit</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="product.product_template_form_view"/>
            <field name="arch" type="xml">
                <group name="sale_condition" position="inside">
                    <label for="sale_delay"/>
                    <div>
                        <field name="sale_delay" attrs="{'readonly':[('sale_ok','=',False)]}" class="oe_inline" style="vertical-align:baseline"/> days
                    </div>
                </group>
                <group name="status" position="before">
                    <group string="Stock and Expected Variations" attrs="{'invisible': [('type', '=', 'service')]}" groups="base.group_user">
                        <label for="qty_available"/>
                            <div>
                                <field name="qty_available" class="oe_inline"/>
                                <button name="%(action_view_change_product_quantity)d" string="⇒ Update"
                                    type="action"
                                    class="oe_link"/>
                            </div>
                        <label for="incoming_qty"/>
                            <div>
                                <field name="incoming_qty" class="oe_inline"/>
                                <button string="⇒ Request Procurement" name="%(stock.act_make_procurement)d" type="action" class="oe_link"/>
                            </div>
                        <field name="virtual_available"/>
                    </group>
                </group>
                <group name="status" position="after">
                    <group name="store" string="Storage Location" attrs="{'invisible':[('type','=','service')]}">
                        <field name="loc_rack"/>
                        <field name="loc_row"/>
                        <field name="loc_case"/>
                    </group>
                </group>
                <group name="status" position="before">
                    <group name="lot" groups="stock.group_production_lot" string="Lots" attrs="{'invisible':[('type','=','service')]}">
                        <field name="track_all" groups="stock.group_production_lot"/>
                        <field name="track_incoming" groups="stock.group_production_lot" attrs="{'invisible': [('track_all', '=', True)]}"/>
                        <field name="track_outgoing" groups="stock.group_production_lot" attrs="{'invisible': [('track_all', '=', True)]}"/>
                    </group>
                </group>
                <group name="weight" position="before">
                    <group name="store" groups="stock.group_locations" string="Counter-Part Locations Properties" attrs="{'invisible':[('type','=','service')]}">
                        <field name="property_stock_procurement" domain="[('usage','=','procurement')]"/>
                        <field name="property_stock_production" domain="[('usage','=','production')]"/>
                        <field name="property_stock_inventory" domain="[('usage','=','inventory')]"/>
                    </group>
                </group>
                <field name="product_manager" position="attributes">
                    <attribute name="context">{'default_groups_ref': ['base.group_user', 'base.group_sale_manager', 'stock.group_stock_manager']}</attribute>
                </field>
                <group name="procurement_uom" position="after" >
                   <group string="Supply Chain Information" attrs="{'invisible': [('type', '=', 'service')]}" groups="base.group_user">
                       <field name="route_ids" widget="many2many_checkboxes"/>
                   </group>
                </group>
            </field>
        </record>
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容