Odoo 中文社区

    • Register
    • Login
    • Search
    • Categories
    • Tags
    • Popular
    • Users
    • Groups

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

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

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

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

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

    求助:采购订单后wizard的采购明细选择,无法使用Checkbox。

    Odoo 开发与实施交流
    4
    10
    1400
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      diviner last edited by

      各位大神,我们想实现个ERP系统的进销存功能。
      在采购订单->入库单中间,我想实现个让用户可以选择生成入库的采购订单明细的操作。所以想法是加个Wizard来实现。流程为:采购订单->wizard->入库单。
      但是在wizard实现过程中,在明细行前面的Checkbox,要每次编辑才能点击,体验很差。

      所以我们讨论的方案在每行前面加个Button来实现选择的操作。但这样带来问题是点击button,wizard会消掉。我们的方案是在点击后重新掉起这个Wizard。但又带来个新的问题,就是这个重新掉起wizard会有很明显的延迟。

      问题1、有没有可以解决checkbox不用选择编辑再多次选择的方案来实现目标操作。
      问题2、如果只能是我现在的方案,要怎么能解决Button刷新延迟的问题呢?

      先谢谢。

      相关源码的两个函数:

      @api.multi
      def wizard_view(self):
          view = self.env.ref('buy.buy_order_generate_receipt_wizard_form')
          # name = (self.type == 'buy' and u'采购入库单选择行' or u'采购退货单选择行')
          return {
              'name': u'采购入库单选择行',
              'view_mode': 'form',
              'views': [(view.id, 'form')],
              'res_model': 'buy.order.generate.receipt.wizard',
              'res_id': self.ids[0],
              'type': 'ir.actions.act_window',
              'target': 'new',
              # 'domain': [('id', '=', receipt_id)],
              # 'context':self.env.context,
          }
      
      @api.multi
      def button_select(self):
          if self.select == True:
              self.select = False
          else:
              self.select = True
          ret = self.order_id.wizard_view()
          return ret
      

      1 Reply Last reply Reply Quote 0
      • digitalsatori
        digitalsatori 管理员 last edited by digitalsatori

        能解释一下为什么不用Odoo本身的进销存功能,或者说Odoo的哪些部分不符合需求,需要另起炉灶的原因是什么?

        【上海先安科技】(tony AT openerp.cn)

        D 1 Reply Last reply Reply Quote 0
        • D
          diviner @digitalsatori last edited by

          @digitalsatori 说个前提:我用的是GoodErp,这个汉化的比较好,当然都算是odoo啦。
          初衷是这样的:
          一个采购订单,实际场景下会有多次采购入库情况,这样要多次生成,现在的模式过于固定,想中间加个Wizard让采购人员来勾选,这样更灵活呀。。
          帮助看下,谢谢啦 :)

          1 Reply Last reply Reply Quote 0
          • digitalsatori
            digitalsatori 管理员 last edited by digitalsatori

            采购订单分次入库是一个很通用的业务过程。在Odoo中当收货确认时,仓管可指定实际收货数量,当本次实际收货数量小于采购订单订货数量时,系统自动根据未交付数量生成“欠单”(Back order),该欠单也会跟采购订单和已执行收货单关联,便于跟踪回溯。

            另外,Odoo也允许你选择不生成 Back order, 这在一些业务场景下也很普遍。

            我没有看出来您的需求有定制开发的必要。

            【上海先安科技】(tony AT openerp.cn)

            D 1 Reply Last reply Reply Quote 0
            • D
              diviner @digitalsatori last edited by

              @digitalsatori 我们会有较多的场景是这样,在仓管收货 生成入库单时,只是部分货物,现行的方式,要把未入库的行删除掉。因为是多次出现。所以多次的删除操作体验不好。就在入库时直接可选择入库明细行。

              1 Reply Last reply Reply Quote 0
              • digitalsatori
                digitalsatori 管理员 last edited by

                Odoo中只需要填写本次收货数量,未填写的不做入库处理。不存在需要删除不入库行的问题。

                【上海先安科技】(tony AT openerp.cn)

                1 Reply Last reply Reply Quote 0
                • G
                  guohuadeng last edited by

                  有参数,默认进入就是edit模式,自己看form.js

                  用产品说话,odoo专业实施开发培训_广州尚鹏,供应链制造服装外贸家具生鲜开源ERP

                  https://www.sunpop.cn

                  D 1 Reply Last reply Reply Quote 0
                  • K
                    Kowky last edited by

                    @diviner 在 求助:采购订单后wizard的采购明细选择,无法使用Checkbox。 中说:

                    @api.multi
                    def wizard_view(self):
                    view = self.env.ref('buy.buy_order_generate_receipt_wizard_form')
                    # name = (self.type == 'buy' and u'采购入库单选择行' or u'采购退货单选择行')
                    return {
                    'name': u'采购入库单选择行',
                    'view_mode': 'form',
                    'views': [(view.id, 'form')],
                    'res_model': 'buy.order.generate.receipt.wizard',
                    'res_id': self.ids[0],
                    'type': 'ir.actions.act_window',
                    'target': 'new',
                    # 'domain': [('id', '=', receipt_id)],
                    # 'context':self.env.context,
                    }

                    @api.multi
                    def button_select(self):

                    采购完成后 直接填入实际数量就行了呀,而且 实际入量入了后 库存是根据实际数量来计算数量的呀,为何要纠结 数量不整合的情况呢?而且ODOO支持分批入库的呀!

                    1 Reply Last reply Reply Quote 0
                    • D
                      diviner @guohuadeng last edited by

                      @guohuadeng 谢谢。现在确实是这样,进入Wizard默认就是Edit模式,但对于每行前面的CheckBox,要先点击下行,才能再点击Checkbox框。这种情况,纯技术角度如何来实现呢,谢谢。如下图:0_1539095372387_OpenerpQ1.png

                      1 Reply Last reply Reply Quote 0
                      • G
                        guohuadeng last edited by

                        看看我们开发的这个模块吧,可以在任意业务模型的 one2many中实现多选。
                        odoo11, odoo12
                        http://www.odoo.com/apps/modules/12.0/app_web_one2many_multi_add/

                        替代文字

                        动态效果可以看这里

                        替代文字

                        用产品说话,odoo专业实施开发培训_广州尚鹏,供应链制造服装外贸家具生鲜开源ERP

                        https://www.sunpop.cn

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post