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

由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

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

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

[请教]同一对象的不同视图



  • 假设销售订单有两种类型:内销单和外贸单,两者的创建销售订单的界面不一样,比如后者要显示、录入字段A,前者不要。

      为了体现这种区别,我的初步想法是做两个不同的视图,形成两个菜单挂到销售订单的母菜单底下。
      内销:
        列表
        表单
      外贸:
        列表
        表单

      这样会碰到一个问题,就是列表视图也要原则上也要区分出来,不方便用户查找。

      有没有在同一个表单视图上实现同时编辑两种类型订单的方法。



  • 参照 account invoice的view设计
    或者看 线索和商机的视图

    一个model多个view是可以实现的,只是有些麻烦



  • 谢谢Jeff的答复!
      考虑再三,我还是决定分菜单分视图进行分类。菜单如下:

      销售订单
        查询:
          列表(可查所有类型的销售订单)
        内销:
          列表(只查内销订单)
          表单N(按内销要求的字段排版)
        外贸:
          列表(只查外贸订单)
          表单W(按外贸要求的字段排版)

      这样会带出另一个麻烦,当在其他对象的视图中点击某个销售订单号的时候,要转到该销售订单的表单(FORM)视图,我该如何让界面自动转到相应的内销视图或者外贸视图?

      请指教!



  • 我让你
    参照 account invoice的view设计
    没让你
    考虑再三



  • 哈哈,收到!
      因我只能在晚上来研究OE,Jeff能否再给个直接点的提示,客户发票哪个字段的改变会引起界面视图字段的变化。我刚试修改了一下各个字段的值,没能找到。



  •         <record id="action_invoice_tree1" model="ir.actions.act_window">
                <field name="name">Customer Invoices</field>
                <field name="res_model">account.invoice</field>
                <field name="view_type">form</field>
                <field name="view_mode">tree,form,calendar,graph</field>
                <field eval="False" name="view_id"/>
                <field name="domain">[('type','=','out_invoice')]</field>
                <field name="context">{'default_type':'out_invoice', 'type':'out_invoice', 'journal_type': 'sale'}</field>
                <field name="search_view_id" ref="view_account_invoice_filter"/>
                <field name="help">With Customer Invoices you can create and manage sales invoices issued to your customers. OpenERP can also generate draft invoices automatically from sales orders or deliveries. You should only confirm them before sending them to your customers.</field>
            </record>

            <record id="action_invoice_tree2" model="ir.actions.act_window">
                <field name="name">Supplier Invoices</field>
                <field name="res_model">account.invoice</field>
                <field name="view_type">form</field>
                <field name="view_mode">tree,form,calendar,graph</field>
                <field eval="False" name="view_id"/>
                <field name="domain">[('type','=','in_invoice')]</field>
                <field name="context">{'default_type': 'in_invoice', 'type': 'in_invoice', 'journal_type': 'purchase'}</field>
                <field name="search_view_id" ref="view_account_invoice_filter"/>
                <field name="help">With Supplier Invoices you can enter and manage invoices issued by your suppliers. OpenERP can also generate draft invoices automatically from purchase orders or receipts. This way, you can control the invoice from your supplier according to what you purchased or received.</field>
            </record>
    <br / http://code.google.com/p/openerp-china/source/browse/branches/openerp-6.1-1/openerp/addons/A/account/account_invoice_view.xml br />
    三言两语解释不清楚,从上到下读一遍可能就明白了。



  • Jeff,谢谢不厌其烦地回复!
      我按指示读了一遍account.invoice的View设计。请看看我理解得对不对:

      供应商发票和客户发票都是对象account.invoice的业务表现形式,两者的前台数据由窗口动作使用domain,按type字段区分开来。
      其中供应商发票的窗口动作,没指定视图,默认按序列号选用对象account.invoice的视图作为前台显示。
      客户发票的窗口动作则指定了视图,直接调用了序列号较大的视图作为前台的表单视图。

      菜单“账簿明细”可以同时查询到两者的所有单据,我使用凭证号右边小按钮的“打开”功能,打开单据查看,系统会统一弹出发票的显示对话框,这个对话框无论是客户发票和供应商发票的显示格式都一样。
      怎么样才能根据发票种类弹出各自的对话框(发票种类不一样,要显示的字段也不一样)?或者直接链接到自应的表单视图?


Log in to reply