单据体删除控制,多选后控制错误问题
金蝶云社区-康师傅2005
康师傅2005
0人赞赏了该文章 769次浏览 未经作者许可,禁止转载编辑于2016年02月24日 17:28:26

之前 有提一个帖子“单据体删除操作校验规则不生效
{{{/article/2593005}}}
根据回复,通过脚本
1、在选择包含不能删除的分录(是否锁定)时,控制了删除:



2:、在选择都能删除的分录(是否锁定)时,控制错误


跟踪分析发现:在“BeforeDeleteRow”是对每条分录执行一次,但每一轮“BeforeDeleteRow”中执行获得选择分录值(“this.View.GetControl(e.EntityKey).GetSelectedRows()”)并没有在删除分录后改变,请教如何解决?

附脚本如下:
public override void BeforeDeleteRow(BeforeDeleteRowEventArgs e)
{
base.BeforeDeleteEntry(e);

Field IsControl = this.View.BillBusinessInfo.GetField("IsLocked");
if (IsControl != null)
{
int IsLockedCount=0;
for (int i = 0; i < SelectedRowIndexs.Length; i++)
{
int IsUnHand = Convert.ToInt32(this.Model.GetValue( "IsLocked", SelectedRowIndexs));
if (IsUnHand != null)
{
IsLockedCount = IsLockedCount + Convert.ToInt32(IsUnHand);
}
}
if (IsLockedCount > 0)
{
this.View.ShowMessage("包含被锁定的"+IsLockedCount.ToString()+"行,不允许删除。");
e.Cancel = true;
}
}
}