求助point_of_sale模块中pos_config的_check_cash_control



  • point_of_sale模块中pos_config的_check_cash_control中的
    all(
                (sum(int(journal.cash_control) for journal in record.journal_ids) <= 1)
                for record in self.browse(cr, uid, ids, context=context)
            )这个all中的迭代对像是啥?
    新手求解



  • point_of_sale模块中pos_config的_check_cash_control中的
    all(
                (sum(int(journal.cash_control) for journal in record.journal_ids) <= 1)
                for record in self.browse(cr, uid, ids, context=context)
            )这个all中的迭代对像是啥?
    新手求解


  • 管理员

    all是用来判断其输入的可遍历的对象的所有的值为True则其返回True否则为False
    在你的例子中其迭代对象是一个True和False组成的Tuple,而True是满足sum的值为<=1的值,这个意思就是说在Pos configration中不能出现一个以上有cash_control的journal。
    而事实上这个_check_cash_control也是用于下列的constraint中


    [code](_check_cash_control, "You cannot have two cash controls in one Point Of Sale !", ['journal_ids'])[/code]



  • 谢谢 :-* :-*


登录后回复
 

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