Odoo中文社区可以通过以下三个域名访问:shine-it.net , odoocn.org,odoo.net.cn

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

如果您登录系统碰到问题,请在微信公众号留言:

求问为什么插入一段代码就会出错



  • 求教在一个模块里插入了红色部分的代码就会报错 哪里出错了呢?
    出错提示:ValidateError

    验证字段 arch 时发生错误:无效的 XML 视图结构



    <?xml version="1.0"?>
    <form string="Purchase Order" version="7.0">
                    <header>
                        <button name="wkf_send_rfq" states="draft" string="Send by Email" type="object" context="{'send_rfq':True}" class="oe_highlight"/>
                        <button name="wkf_send_rfq" states="sent" string="Send by Email" type="object" context="{'send_rfq':True}"/>
                        <button name="print_quotation" string="Print" type="object" states="draft" class="oe_highlight" groups="base.group_user"/>
                        <button name="print_quotation" string="Print" type="object" states="sent" groups="base.group_user"/>
                        <button name="purchase_confirm" states="draft" string="Confirm Order"/>
                        <button name="purchase_confirm" states="sent" string="Confirm Order" class="oe_highlight"/>
                        <button name="wkf_send_rfq" states="confirmed" string="Resend Purchase Order" type="object" class="oe_highlight"/>
                        <button name="action_cancel" states="approved,except_picking,except_invoice" string="Cancel Order" type="object"/>
                        <button name="picking_ok" states="except_picking" string="Manually Corrected"/>
                        <button name="invoice_ok" states="except_invoice" string="Manually Corrected"/>
                        <button name="purchase_approve" states="confirmed" string="Approve Order" class="oe_highlight" groups="purchase.group_purchase_manager"/>
                        <button name="view_picking" string="Receive Products" type="object" attrs="{'invisible': ['|', ('shipped','=',True), ('state','!=', 'approved')]}" class="oe_highlight"/>
                        <button name="view_invoice" string="Receive Invoice" type="object" attrs="{'invisible': ['|', ('invoice_method','in', ['picking', 'manual']), '|', ('state','!=', 'approved'), ('invoiced','=',True) ]}" class="oe_highlight"/>
                        <button name="action_cancel_draft" states="cancel,sent,confirmed" string="Set to Draft" type="object"/>
                        <button name="purchase_cancel" states="draft,confirmed,sent" string="Cancel Order"/>
                        <field name="state" widget="statusbar" statusbar_visible="draft,sent,approved,done" statusbar_colors="{&quot;except_picking&quot;:&quot;red&quot;,&quot;except_invoice&quot;:&quot;red&quot;,&quot;confirmed&quot;:&quot;blue&quot;}" readonly="1"/>
                    </header>
                    <sheet>
                        <div class="oe_title">
                            <h1>
                                <label string="Request for Quotation " attrs="{'invisible': [('state','not in',('draft','sent'))]}"/>
                                <label string="Purchase Order " attrs="{'invisible': [('state','in',('draft','sent'))]}"/>
                                <field name="name" class="oe_inline" readonly="1"/>
                            </h1>
                        </div>
                        <group>
                            <group>
                                <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_supplier':1,'default_supplier':1,'default_customer':0}" domain="[('supplier','=',True)]"/>
                                <field name="partner_ref"/>
                                <field domain="[('type','=','purchase')]" name="pricelist_id" groups="product.group_purchase_pricelist" on_change="onchange_pricelist(pricelist_id, context)"/>
                                <field name="currency_id" invisible="1"/>
                                <field name="journal_id" invisible="1"/>
                            </group>
                            <group>
                                <field name="date_order"/>
                                <field name="origin" attrs="{'invisible': [('origin','=',False)]}"/>
                                <field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection" groups="stock.group_locations"/>
                                <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                            </group>
                        </group>
                        <notebook>
                            <page string="Purchase Order">
                                <field name="order_line">
                                    <tree string="Purchase Order Lines" editable="bottom">
                                        <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,0,False,parent.partner_id, parent.date_order,parent.fiscal_position,date_planned,name,price_unit,context)"/>
                                        <field name="name"/>
                                        <field name="date_planned"/>
                                        <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                                        <field name="account_analytic_id" groups="purchase.group_analytic_accounting" domain="[('type','not in',('view','template'))]"/>
                                        <field name="product_qty" on_change="onchange_product_id(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id,parent.date_order,parent.fiscal_position,date_planned,name,price_unit,context)"/>
                                        <field name="product_uom" groups="product.group_uom" on_change="onchange_product_uom(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order,parent.fiscal_position,date_planned,name,price_unit,context)"/>
                                        <field name="price_unit"/>
                                        <field name="taxes_id" widget="many2many_tags" domain="[('parent_id','=',False),('type_tax_use','!=','sale')]"/>
                                        <field name="price_subtotal"/>
                                    </tree>
                                </field>
                                <group class="oe_subtotal_footer oe_right">
                                    <field name="amount_untaxed" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                                    <field name="amount_tax" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                                    <div class="oe_subtotal_footer_separator oe_inline">
                                        <label for="amount_total"/>
                                        <button name="button_dummy" states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
                                    </div>
                                    <field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                                </group>
                                <div class="oe_clear"/>
                                <field name="notes" class="oe_inline" placeholder="Terms and conditions..."/>
                            </page>
                            <page string="Incoming Shipments &amp; Invoices">
                                <group>
                                    <group>
                                        <field name="dest_address_id" string="Customer Address" on_change="onchange_dest_address_id(dest_address_id)" groups="stock.group_locations"/>
                                        <field name="minimum_planned_date"/>
                                        <field name="location_id" groups="stock.group_locations"/>
                                        <field name="shipped" groups="base.group_no_one"/>
                                    </group>
                                    <group>
                                        <field name="invoice_method"/>
                                        <field name="invoiced"/>
                                        <field name="payment_term_id" widget="selection"/>
                                        <field name="fiscal_position" attrs="{'readonly': [('invoiced','=', True)]}"/>
                                        <!-- We do not need these fields anymore, the information is in open chatter -->
                                        <field name="validator" groups="base.group_no_one"/>
                                        <field name="date_approve" groups="base.group_no_one"/>
                                    </group>
                                </group>
                            </page>
                      [b][color=red]<page string="附件">
                            <field name="x_attachment"/>
                          </page>[/color][/b]
                     
             
                    </notebook>
                    </sheet>
                    <div class="oe_chatter">
                        <field name="message_follower_ids" widget="mail_followers"/>
                        <field name="message_ids" widget="mail_thread"/>
                    </div>
                    </form>
               



  • 求教在一个模块里插入了红色部分的代码就会报错 哪里出错了呢?
    出错提示:ValidateError

    验证字段 arch 时发生错误:无效的 XML 视图结构



    <?xml version="1.0"?>
    <form string="Purchase Order" version="7.0">
                    <header>
                        <button name="wkf_send_rfq" states="draft" string="Send by Email" type="object" context="{'send_rfq':True}" class="oe_highlight"/>
                        <button name="wkf_send_rfq" states="sent" string="Send by Email" type="object" context="{'send_rfq':True}"/>
                        <button name="print_quotation" string="Print" type="object" states="draft" class="oe_highlight" groups="base.group_user"/>
                        <button name="print_quotation" string="Print" type="object" states="sent" groups="base.group_user"/>
                        <button name="purchase_confirm" states="draft" string="Confirm Order"/>
                        <button name="purchase_confirm" states="sent" string="Confirm Order" class="oe_highlight"/>
                        <button name="wkf_send_rfq" states="confirmed" string="Resend Purchase Order" type="object" class="oe_highlight"/>
                        <button name="action_cancel" states="approved,except_picking,except_invoice" string="Cancel Order" type="object"/>
                        <button name="picking_ok" states="except_picking" string="Manually Corrected"/>
                        <button name="invoice_ok" states="except_invoice" string="Manually Corrected"/>
                        <button name="purchase_approve" states="confirmed" string="Approve Order" class="oe_highlight" groups="purchase.group_purchase_manager"/>
                        <button name="view_picking" string="Receive Products" type="object" attrs="{'invisible': ['|', ('shipped','=',True), ('state','!=', 'approved')]}" class="oe_highlight"/>
                        <button name="view_invoice" string="Receive Invoice" type="object" attrs="{'invisible': ['|', ('invoice_method','in', ['picking', 'manual']), '|', ('state','!=', 'approved'), ('invoiced','=',True) ]}" class="oe_highlight"/>
                        <button name="action_cancel_draft" states="cancel,sent,confirmed" string="Set to Draft" type="object"/>
                        <button name="purchase_cancel" states="draft,confirmed,sent" string="Cancel Order"/>
                        <field name="state" widget="statusbar" statusbar_visible="draft,sent,approved,done" statusbar_colors="{&quot;except_picking&quot;:&quot;red&quot;,&quot;except_invoice&quot;:&quot;red&quot;,&quot;confirmed&quot;:&quot;blue&quot;}" readonly="1"/>
                    </header>
                    <sheet>
                        <div class="oe_title">
                            <h1>
                                <label string="Request for Quotation " attrs="{'invisible': [('state','not in',('draft','sent'))]}"/>
                                <label string="Purchase Order " attrs="{'invisible': [('state','in',('draft','sent'))]}"/>
                                <field name="name" class="oe_inline" readonly="1"/>
                            </h1>
                        </div>
                        <group>
                            <group>
                                <field name="partner_id" on_change="onchange_partner_id(partner_id)" context="{'search_default_supplier':1,'default_supplier':1,'default_customer':0}" domain="[('supplier','=',True)]"/>
                                <field name="partner_ref"/>
                                <field domain="[('type','=','purchase')]" name="pricelist_id" groups="product.group_purchase_pricelist" on_change="onchange_pricelist(pricelist_id, context)"/>
                                <field name="currency_id" invisible="1"/>
                                <field name="journal_id" invisible="1"/>
                            </group>
                            <group>
                                <field name="date_order"/>
                                <field name="origin" attrs="{'invisible': [('origin','=',False)]}"/>
                                <field name="warehouse_id" on_change="onchange_warehouse_id(warehouse_id)" widget="selection" groups="stock.group_locations"/>
                                <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                            </group>
                        </group>
                        <notebook>
                            <page string="Purchase Order">
                                <field name="order_line">
                                    <tree string="Purchase Order Lines" editable="bottom">
                                        <field name="product_id" on_change="onchange_product_id(parent.pricelist_id,product_id,0,False,parent.partner_id, parent.date_order,parent.fiscal_position,date_planned,name,price_unit,context)"/>
                                        <field name="name"/>
                                        <field name="date_planned"/>
                                        <field name="company_id" groups="base.group_multi_company" widget="selection"/>
                                        <field name="account_analytic_id" groups="purchase.group_analytic_accounting" domain="[('type','not in',('view','template'))]"/>
                                        <field name="product_qty" on_change="onchange_product_id(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id,parent.date_order,parent.fiscal_position,date_planned,name,price_unit,context)"/>
                                        <field name="product_uom" groups="product.group_uom" on_change="onchange_product_uom(parent.pricelist_id,product_id,product_qty,product_uom,parent.partner_id, parent.date_order,parent.fiscal_position,date_planned,name,price_unit,context)"/>
                                        <field name="price_unit"/>
                                        <field name="taxes_id" widget="many2many_tags" domain="[('parent_id','=',False),('type_tax_use','!=','sale')]"/>
                                        <field name="price_subtotal"/>
                                    </tree>
                                </field>
                                <group class="oe_subtotal_footer oe_right">
                                    <field name="amount_untaxed" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                                    <field name="amount_tax" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                                    <div class="oe_subtotal_footer_separator oe_inline">
                                        <label for="amount_total"/>
                                        <button name="button_dummy" states="draft" string="(update)" type="object" class="oe_edit_only oe_link"/>
                                    </div>
                                    <field name="amount_total" nolabel="1" class="oe_subtotal_footer_separator" widget="monetary" options="{'currency_field': 'currency_id'}"/>
                                </group>
                                <div class="oe_clear"/>
                                <field name="notes" class="oe_inline" placeholder="Terms and conditions..."/>
                            </page>
                            <page string="Incoming Shipments &amp; Invoices">
                                <group>
                                    <group>
                                        <field name="dest_address_id" string="Customer Address" on_change="onchange_dest_address_id(dest_address_id)" groups="stock.group_locations"/>
                                        <field name="minimum_planned_date"/>
                                        <field name="location_id" groups="stock.group_locations"/>
                                        <field name="shipped" groups="base.group_no_one"/>
                                    </group>
                                    <group>
                                        <field name="invoice_method"/>
                                        <field name="invoiced"/>
                                        <field name="payment_term_id" widget="selection"/>
                                        <field name="fiscal_position" attrs="{'readonly': [('invoiced','=', True)]}"/>
                                        <!-- We do not need these fields anymore, the information is in open chatter -->
                                        <field name="validator" groups="base.group_no_one"/>
                                        <field name="date_approve" groups="base.group_no_one"/>
                                    </group>
                                </group>
                            </page>
                      [b][color=red]<page string="附件">
                            <field name="x_attachment"/>
                          </page>[/color][/b]
                     
             
                    </notebook>
                    </sheet>
                    <div class="oe_chatter">
                        <field name="message_follower_ids" widget="mail_followers"/>
                        <field name="message_ids" widget="mail_thread"/>
                    </div>
                    </form>
               



  • 这个字段是不是你通过DEBUG模式直接添加的啊?



  • [quote author=tedi3231 link=topic=16244.msg27505#msg27505 date=1393297453]
    这个字段是不是你通过DEBUG模式直接添加的啊?
    [/quote]

    是通过开发者模式 编辑form视图来的



  • 这个应该是不行的,以前刚学的时候我也这么做过。你需要在Code中定义这样的字段。具体原因等大牛来补充。你可以尝试在DEBUG模式下向视图中添加字段试试



  • [quote author=tedi3231 link=topic=16244.msg27507#msg27507 date=1393297755]
    这个应该是不行的,以前刚学的时候我也这么做过。你需要在Code中定义这样的字段。具体原因等大牛来补充。你可以尝试在DEBUG模式下向视图中添加字段试试
    [/quote]

    好的 了解 看来还得等大牛来解释下原因 谢谢



  • 原因就是,校长在视频里玩得天花乱坠,是因为他之前写过7年的openerp代码。您玩不了界面开发,是因为你并不像他那么清楚你的每一个动作所产生的结果。


登录后回复
 

与 Odoo 中文社区 的连接断开,我们正在尝试重连,请耐心等待