新单到老单字段的添加分为两种:

一种为文本字段信息的关联,新单与老单字段的信息均为文本字段;

另一种为基础资料信息的关联,新单与老单均为基础资料字段信息。

      K3 WISE 11.0中存储老单关联字段信息的表为 ICSelbills ,该表的内部结构为:

FID:表示下推目标单据的类型,其值主要关联在表ICTransActionType中的FID,该表内主要是各种单据的缩写类型;

FFieldName:原单据在VB层面的标识单据编号的名称,在数据库中一般根据需要变更单据的内容来制定;

FDstCtlField:目标单据中需要下推过去的目标字段数据库的名称;

FSelType:目标字段的类型;0表示单据分录字段,2表示单据头字段,1表示该目标字段的当前值将会作为选单序时簿的过滤条件;

FDK:用于表头控件,对于同一个目标字段,回填值用于区分基础资料与普通文本的方式;基础资料时 0-代表基础资料表中的内码FINTERID 或 FID,1-代表基础资料表中的名称FNAME ,2-代表基础资料中标的FNUMBER字段;

FColName:源字段的别名,该名称一般为自己定义,对于字段的下推并没有什么太大意义,因为在软件内部的查询结果集中会给它们重新定义临时标准名称;

FName:源字段的数据库字段名称,该名称需要查询BOS或者数据库找到该值;

FTableName:源字段所在的表名称;

FTableAlias:原表别名,在跟踪中并未发现实质性作用,一般根据原有表明进行定义,若没有的自己可定义;

FAction:用于处理一些简单的字段值判断,或者是字段之间的运算,最为重要的是:基础资料中的查询信息,对应上面的FDK,基础资料的字段需要三类语句:

                   SELECT FINTERID FROM t_submessage WHERE FinterID=v1.FBase5

SELECT FNAME FROM t_submessage WHERE FinterID=v1.FBase5

SELECT FNUMBER FROM t_submessage WHERE FinterID=v1.FBase5

普通文本无该语句的要求,直接定义字段关系即可;

FROB:目前为止并未发现实质性作用;

FAllowEdited:猜想为应该是控制下推目标单据显示后,字段的可编辑性,目前还未进行求证;

     

文本关联信息的下推实例      

insert into ICSelbills
(FID, FFieldName, FDstCtlField, FSelType, FDK,FColName, FName ,FTableName, FTableAlias, FAction, FROB, FAllowEdited)
values
('S01', 'FContractID', 'FHeadSelfS0142' , , ,'FText10', 'FText1', 't_RPContract', 'v1', '', , )
insert into ICSelbills
(FID, FFieldName, FDstCtlField, FSelType, FDK,FColName, FName ,FTableName, FTableAlias, FAction, FROB, FAllowEdited)
values
('S01', 'FContractID', 'FHeadSelfS0142' , , ,'FText11', 'FText1', 't_RPContract', 'v1', '', , )
insert into ICSelbills
(FID, FFieldName, FDstCtlField, FSelType, FDK,FColName, FName ,FTableName, FTableAlias, FAction, FROB, FAllowEdited)
values
('S01', 'FContractID', 'FHeadSelfS0142' , , ,'FText12', 'FText1', 't_RPContract', 'v1', '', , )

基础资料关联的实例

insert into ICSelbills
(FID, FFieldName, FDstCtlField, FSelType, FDK,FColName, FName ,FTableName, FTableAlias, FAction, FROB, FAllowEdited)
values
('S01', 'FContractID', 'FHeadSelfS0179' , , ,'FBase30', 'FBase3', 't_RPContract', 'v1', '(SELECT FName FROM t_submessage WHERE FinterID=v1.FBase3)', , )
insert into ICSelbills
(FID, FFieldName, FDstCtlField, FSelType, FDK,FColName, FName ,FTableName, FTableAlias, FAction, FROB, FAllowEdited)
values
('S01', 'FContractID', 'FHeadSelfS0179' , , ,'FBase31', 'FBase3', 't_RPContract', 'v1', '(SELECT FName FROM t_submessage WHERE FinterID=v1.FBase3)', , )
insert into ICSelbills
(FID, FFieldName, FDstCtlField, FSelType, FDK,FColName, FName ,FTableName, FTableAlias, FAction, FROB, FAllowEdited)
values
('S01', 'FContractID', 'FHeadSelfS0179' , , ,'FBase32', 'FBase3', 't_RPContract', 'v1', '(SELECT FName FROM t_submessage WHERE FinterID=v1.FBase3)', , )

总述:变更的方式均为相同,区别在于是否要添加查询语句;

最新文章

  1. Unable to download data from http://ruby.taobao.org/ & don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
  2. theano scan optimization
  3. 辗转相除法求最大公约数,非goto
  4. mysql group by后 拼接某一字段
  5. Android倒计时:计算两个时间将得到的时间差转化为倒计时(xx时xx分xx秒格式)
  6. 如何通过IP地址添加网络打印机
  7. 文件输入流 FileInputStream类 文件输出流FileOutputStream ---转载
  8. 使用WMIC永久设置你的环境变量
  9. IOS 开发 【序】
  10. 从零开始学C++之重载 operator new 和 operator delete 实现一个简单内存泄漏跟踪器
  11. Android的Context Manager(服务管理器)源码剖析-android学习之旅(99)
  12. bzoj 2242 [SDOI2011]计算器 快速幂+扩展欧几里得+BSGS
  13. windows每天备份文件的bat脚本【原创】
  14. Vue一、起步
  15. windows安装mysql5.7.xx解压版
  16. 6.Daemon线程
  17. Win10更改CMD控制台的代码页和字体和字号
  18. MySQL程序之mysql参数详解
  19. Linux下 MYSQL 主从复制、同步
  20. hashchange事件

热门文章

  1. android下xml放哪儿?
  2. delphi主i窗口中实现多页面管理效果
  3. eclipse jvm调优
  4. mongodb--update高级用法
  5. POJ 1198/HDU 1401
  6. JVM中java类的载入时机
  7. jquery非文本框复制
  8. leetcode解题文件夹
  9. JS 滚动条事件
  10. C语言中为什么要使用enum