单据关联关系记录

单据转换后,通常需要记录两个单据之间的关联关系,以便能够实现上下查、反写、跨级反写。

单据转换关系的记录,分为两个大部分:

在下游单据上直接记录上游源单:

       K/3 Wise产品中,直接在单据体上增加源单类型、源单编码、源单内码、源单分录等四个字段,这种存储方式不支持合并下推。
       K/3 Cloud中,改进为采用单独的子表格存储,存储的内容也是源单及其携带信息。
       可以到BOS IDE中,设置下游单据的"单据关联配置",指定那个单据体为关联主实体、控制字段,保存后,系统会自动创建存储关联关系的子表格。
       典型的单据关联关系子表,可以参考采购订单单据体关联子表:T_PUR_POORDERENTRY_LK
  • FENTRYID:外键,父单据体内码;
  • FLINKID:主键;
  • FSBILLID:源单单据头内码;
  • FSID:源单单据体内码;
  • FFLOWID:单据转换采用的业务流程图,可以空白;
  • FFLOWLINEID:单据转换采用的业务流程图路线序号,可以为0;
  • FRULEID:单据转换采用的转换规则,可以空白;
  • FSTABLENAME:源单单据体表格编码,请使用 Kingdee.BOS.App.ServiceHelp.GetServer<IBusinessFlowService>().LoadTableDefine(Context ctx, string formId, string entityKey),IBusinessFlowService接口的定义,请参阅SDK详细说明。
  • FBASEUNITQTY:控制字段携带量,携带完毕后,可以修改,如携带100,用户可以改为120;
  • FBASEUNITQTYOLD:控制字段原始携带量,携带完毕后,不会改变,如携带100,这个字段值永为100;
  • 其他字段已经废弃,无需理会;

全流程跟踪记录:

      业务数据的流转,会涉及到多单流转,如果需要进行全程跟踪,则仅依靠下游单据上的源单记录,会比较零散,查找起来也极为不便,因此K/3 Cloud增加了另外一套表格,来记录全部单据之间的流转关系:
1. t_BF_Instance :全流程跟踪关系主表,记录每条业务完整路线的信息:
  • FMASTERID:全流程唯一编码,最源头单据开始转换后,即产生,并一直携带,GUID;
  • FINSTANCEID:本流程实例的编码,表格主键,GUID;
  • FFLOWID:本流程流程采用的流程图,可以空白;
  • FSOURCEID:本流程实例的上个流程实例。流程图改变后,会重新创建实例,本字段记录新实例的来源,GUID;
  • FSTATUS:实例状态,'A'为正常;
  • FFIRSTFORMID:本实例首张单据FromId;
  • FFIRSTBILLID:本实例首张单据内码;
  • FFIRSTBILLNO:本实例首单编码;
  • FSTARTTIME:本实例创建时间;

2. t_BF_InstanceEntry:业务流程实例的路线,包括源单与目标单;
  • FROUTEID:路线内码,主键;
  • FINSTANCEID:对应的流程实例,外键;
  • FLINEID:采用的业务流程图路线序号,可以为0;
  • FSTABLENAME:源单单据体表格编码,最源头实例的第一条路线,本字段为空;
  • FSID:源单单据体内码;
  • FTTABLENAME:目标单单据体表格编码,不能为空;
  • FTID:目标单单据体内码;
  • FFIRSTNODE:'1'为实例的第一条路线,默认为'0';
  • FCREATETIME:实例创建时间;

3. t_BF_InstanceAmount:源单到目标单转换时,控制字段的携带量:
  • FDETAILID:主键
  • FROUTEID:路线内码,外键;
  • FSOURCEFIELD:源单控制字段Key;
  • FTARGETFIELD:目标单控制字段Key;
  • FAMOUNT:携带量;

特别说明:
全流程跟踪记录表格,请勿自行修改、调整、添加,需由系统自动维护;
如果希望手工添加的单据数据,能够进行上下查,可以手工填写单据上的关联子表格,在单据保存时,系统会自动创建全流程跟踪记录。
posted @ 2014-02-19 10:43  范永强  阅读(1040)  评论(0编辑  收藏  举报