首页 > 其他 > 详细

K3 新单到老单关联字段的添加

时间:2019-06-21 17:46:55      阅读:372      评论:0      收藏:0      [点我收藏+]

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

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

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

      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    ,2    ,0    ,FText10,    FText1,    t_RPContract,    v1,    ‘‘,    0,    0)
insert into ICSelbills 
(FID,    FFieldName,    FDstCtlField,    FSelType,    FDK,FColName,    FName    ,FTableName,    FTableAlias,    FAction,    FROB,    FAllowEdited)
values
(S01,    FContractID,    FHeadSelfS0142    ,2    ,1    ,FText11,    FText1,    t_RPContract,    v1,    ‘‘,    0,    0)
insert into ICSelbills 
(FID,    FFieldName,    FDstCtlField,    FSelType,    FDK,FColName,    FName    ,FTableName,    FTableAlias,    FAction,    FROB,    FAllowEdited)
values
(S01,    FContractID,    FHeadSelfS0142    ,2    ,2    ,FText12,    FText1,    t_RPContract,    v1,    ‘‘,    0,    0)

基础资料关联的实例

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

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

K3 新单到老单关联字段的添加

原文:https://www.cnblogs.com/caipanlong123/p/11065784.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!