楼主,经过研究测试,有一个更简单的方法来实现。
通过控制任务详细中的CanDelete。
修改【业务模型\协同系统\任务\任务中心信息\任务详细】中的
function TTaskFuncRunner.CanDelete: Boolean;
begin
{这是我增加的处理代码,你根据你实际情况来实现。'DataSetDCLR'这个数据集是我那个多处理人表的数据集的Name
if SysUtils.UpperCase(FBizDataSetAction.CurrentDataSource.DataSet.Name)
= SysUtils.UpperCase('DataSetDCLR') then
Result := False
else}
Result := FBizDataSetAction.Enabled and
(FBizDataSetAction.CurrentDataSource <> nil) and
(FBizDataSetAction.CurrentDataSource.DataSet as TDataset).Candelete;
end;
-------------这样修改就可以了,其他地方都不用做处理。