电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

计算行数量在总数量中的占比

来源:金蝶云社区作者:金蝶2024-09-164

计算行数量在总数量中的占比

客户要求每行录入重量, 得出该重量在总重量中的占比,然后再用这个占比值,去参与其它运算。 

简化成公式: 行占比 = 行重量 / 总重量。占比之和 =100 


分享下思路: 

① 获取行重量 weight, 每次修改重量都需重新计算占比

② 汇总重量 total_weight

③ 行占比r ate = weight/ total_weight * 100 

④ 因为有精度损失,每行直接求占比,它们的和可能不为100。 所以最后一行的占比做了变通: 100 - 前N-1 t行占比和



image.webp

     
import clr

clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")


from Kingdee.BOS.Core import *
from Kingdee.BOS import *

'''
F_NB_Quantity  用量
F_NB_Rate  占比
F_NB_RawPrice  原料单价

'''
def DataChanged(e):
   #修改用量
   if e.Key=="F_NBDF_Quantity" :
       
        # 获取单据体行数
        cnt=this.View.Model.GetEntryRowCount("FEntity")
       
        sumValue=0

        #用量汇总
        for i in range(cnt):
             sumValue += this.View.Model.GetValue("F_NBDF_Quantity",i )
       
        #this.View.ShowMessage('''行数{0},总数:{1}'''.format(cnt,sumValue))

   
        rates=0   # 占比汇总
        rates_l =0  #前N-1 行占比汇总
        rows = []
        for i in range(cnt) :
            qty=this.View.Model.GetValue("F_NBDF_Quantity",i)    
            if qty !=0 :
                rows.append(i)        
            this.View.Model.Se

计算行数量在总数量中的占比

客户要求每行录入重量, 得出该重量在总重量中的占比,然后再用这个占比值,去参与其它运算。 简化成公式: 行占比 = 行重量 / 总重...
点击下载文档文档为doc格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信