起步软件技术论坛-X3

 找回密码
 立即注册
搜索
查看: 160|回复: 4

【搞定】AssignRelationData 添加的什么关联?**

[复制链接]
发表于 2008-1-25 16:39:34 | 显示全部楼层 |阅读模式
业务基础信息中有  AssignRelationData(DataSetBizTaskData.FieldByName('FRelationNum').AsString);
添加的管理 指的是什么关联?
回复

使用道具 举报

 楼主| 发表于 2008-1-25 16:43:35 | 显示全部楼层
当业务数据库新增记录的时候以下的工作。。。
procedure TBIZBASEINFO.DoOnNewRecord;
var
  lOperator: TOperator;
  lNumber: Integer;
begin
  lNumber := GetNewAutoIncNumber(DataSetBizTaskData.Connection);
  lOperator := TContextUtils.GetOperator(Self.Context);
  {生成编号,和流水号,并填充进去}
  DataSetBizTaskData.FieldByName('FNumber').AsInteger := lNumber;  //设置业务数据的‘编号’字段
  DataSetBizTaskData.FieldByName('FDisplayNum').AsString := GetDisplayNumber(lNumber);
  {这里用代码填充提交者的信息,在表中可以设置自动填充的。}
  。。。
  if DataSetBizTaskData.FieldByName('FRelationNum').AsString <> '-1' then
  // 关联编号 默认自动填充‘-1’,添加关联信息。既是与这条业务数据关联的信息(任务??)。 附件、文档???
    AssignRelationData(DataSetBizTaskData.FieldByName('FRelationNum').AsString);
end;
{?????????????}
procedure TBIZBASEINFO.AssignRelationData(const ARelationDisNum: string);
var
  lBizTaskObject: TBizTaskObject;
  lTmpSQLDataset: TSQLDataset;
begin
  lTmpSQLDataset := TSQLDataset.Create(Self);
  try
    lTmpSQLDataset.UseBizRange := False;
    lTmpSQLDataset.Database := DataSetBizTaskData.Database;
    lBizTaskObject := TBizTaskObject.Create(Context, lTmpSQLDataset);
    try
      lBizTaskObject.SQLFieldList.AddStrings(FBizTaskObject.FBaseAssignFieldList);
      lBizTaskObject.SQLFieldList.AddStrings(FBizTaskObject.AssignFieldList);
      lBizTaskObject.DisplayNum := ARelationDisNum; // -1
      lBizTaskObject.LoadObject;
      lBizTaskObject.AssignTo(FBizTaskObject);  //把临时产生的任务数据对象赋值给,当前业务基础信息的FBizTaskObject
    finally

请解释上面的代码的意思?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-27 14:18:19 | 显示全部楼层
ok,自给自足了
回复 支持 反对

使用道具 举报

发表于 2008-1-28 08:53:21 | 显示全部楼层
好,请把解释共享给大家吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-1-28 14:19:18 | 显示全部楼层
I'm not penny-pinching.
根据我的理解: 如果是任务,并且没有子任务默认填充“-1” ,如果是子任务,填充父任务的“显示编号”,如果是流程的任务填充的是“流程的GUID"
----------IIF((BizTaskData.FRelationNum <> '-1'),BizTaskData.FRelationNum, BizTaskData.FDisplayNum) --任务关联配置中可以看出来 。当是由任务产生的子任务的时候,子任务生成的时候,FRelationNum填充的是父任务的DisplayNum (注意:先填充业务数据表中的FRelationNum和.FDisplayNum,然后自动根据任务关联配置,填充任务数据表)。
当是流程产生的任务的时候,哈哈。这是后就与“协同系统-业务数据库”无关了。自己建立业务数据表比如”车辆申请",这种由流程产生出来的任务不会生成子任务,当然我们不必在我们的业务数据表中包含“关联编号”字段。这时候。产生流程时候,就直接再产生任务,只在任务表中,流程字段填写 "l流程GUID"就行了(这是自己编码由流程产生任务)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Justep Inc.

GMT+8, 2025-7-6 03:44 , Processed in 0.040613 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表