明细行取多列平均值, 样本值总数除以样本数
客户提出有5列样本,分别记作样本1,样本2, 样本3, 样本4,样本5。 取样数量不一定,有时取3个样本,有时取5个本。然后将取样数作平均数存放在样本平均值字段上。
做了python 小插件。
import clr clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") clr.AddReference("Kingdee.BOS.ServiceHelper") from System import DateTime from Kingdee.BOS.Core import * from Kingdee.BOS.ServiceHelper import * def DataChanged(e): fbilltypeid = this.View.Model.GetValue("FBillTypeID") # 单据类型 if fbilltypeid["Id"].ToString() != "635cbdae6f70dd": # 635cbdae6f70dd , 指定的单据类型计算样本平均数 # this.View.ShowMessage(fbilltypeid["Id"].ToString()) return if ( # 触发值更新的五个样本字段 e.Key == "F_NBDF_YB1" or e.Key == "F_NBDF_YB2" or e.Key == "F_NBDF_YB3" or e.Key == "F_NBDF_YB4" or e.Key == "F_NBDF_YB5" ): rowCount = 0 # 取样数量 rowCount = this.View.Model.GetEntryRowCount("FItemDetail") cnt = 0 yb_avg = 0 F_NBDF_YB1 = this.View.Model.GetValue("F_NBDF_YB1", e.Row) F_NBDF_YB2 = this.View.Model.GetValue("F_NBDF_YB2", e.Row) F_NBDF_YB3 = this.View.Model.GetValue("F_NBDF_YB3", e.Row) F_NBDF_YB4 = this.View.Model.GetValue("F_NBDF_YB4", e.Row) F_NBDF_YB5 = this.View.Model.GetValue("F_NBDF_YB5", e.Row) if F_NBDF_YB1 > 0: cnt += 1 if F_NBDF_YB2 > 0: cnt += 1 if F_NBDF_YB3 > 0: cnt += 1 if F_NBDF_YB4 > 0: cnt += 1 if F_NBDF_YB5 > 0: cnt += 1 if cnt > 1: yb_avg = ( F_NBDF_YB1 + F_NBDF_YB2 + F_NBDF_YB3 + F_NBDF_YB4 + F_NBDF_YB5 ) / cnt this.View.Model.SetValue("F_NBDF_AVG", yb_avg, e.Row) this.View.UpdateView("F_NBDF_AVG", e.Row)
明细行取多列平均值, 样本值总数除以样本数
客户提出有5列样本,分别记作样本1,样本2, 样本3, 样本4,样本5。 取样数量不一定,有时取3个样本,有时取5个本。然后将取样数作...
点击下载文档
上一篇:发票云集成常见问题(十三)红字数电票下一篇:7.7版本销售订列表行关闭
本文2024-09-16 18:08:15发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-20185.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章