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

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

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

      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)', , )

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

K3 新单到老单关联字段的添加的更多相关文章

  1. 四、K3 WISE 开发插件《工业单据老单插件开发新手指导》

    开发环境:K/3 Wise 13.0.K/3 Bos开发平台.Visual Basic 6.0 =============================================== 目录 一 ...

  2. jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中

    一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW  访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...

  3. K3老单序时簿开发示例

    K3需要对老单进行二次开发,老单的二次开发比较麻烦,这里整理一下老单序时簿上添加按钮的二次开发示例. --以下SQL脚本--获取 MENU IDselect FID,FmenuID,FName fro ...

  4. mysql 删除单表内多个字段重复的数据

    mysql 删除单表内多个字段重复的数据 DELETE from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2) ...

  5. openerp学习笔记 计算字段、关联字段(7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决)

    计算字段.关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段.关联字段只读时无法修改保存的问题暂未解决 示例代码: ...

  6. <form> 标签 // HTML 表单 // from 表单转换成json 格式

    <form> 标签   // HTML 表单    // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...

  7. JavaScript 客户端JavaScript之Document对象中的表单和表单元素

    Form对象 代表一个HTML表单(document可以有多个表单元素) 表单访问 document.form[document.forms.length-1] 访问表单元素 document.for ...

  8. YII关联字段并带搜索排序功能

    1.简介 从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册. 在上一个项目中因为需要将关联的表的字段 ...

  9. odoo14 入门解刨关联字段

    Odoo中关联字段是用来绑定表与表之间主从关系的. 主从关系指: 首先必须要明白id的存在的意义,它具备"唯一"的属性,也就是表中所有记录中该字段的值不会重复. 假设表A存储是身份 ...

随机推荐

  1. JQuery dom 操作总结

    DOM 操作之获取值 获得内容 - text():设置或返回所选元素的文本内容 $("#btn1").click(function(){ alert("Text: &qu ...

  2. Optimization on content service with local search in cloud of clouds

    曾老师的这篇文章发表于Journal of Network and Computer Applications,主要解决的是利用启发式算法决定如何在cloud of clouds中进行副本分发,满足用 ...

  3. STL之rb_tree的find函数

    1 通用的search方法 STL在实现对特定key值的查找时,并没有採用通用的方法: BRTreeNode * rb_tree_search(RBTreeNode * x, int key){ wh ...

  4. POJ 3076

    DLX算法,刚接触,是关于精确覆盖的,白书上有算法介绍. 代码模板 #include <iostream> #include <cstdio> #include <cst ...

  5. h5-6 canvas

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  6. base64对文件进行加密

    将原文件读取为字节数组,然后用base64加密,得到加密的字符串 https://stackoverflow.com/questions/475421/base64-encode-a-pdf-in-c ...

  7. Linux - 控制台界面,虚拟界面,字符界面

    tty控制台终端. pts虚拟终端. tty1 图形界面. tty2 字符界面. Ctrl+Alt+F2-6 在字符界面下,通过Alt+F2 切换回来.或者切换到其他的字符界面. Alt+F2 pts ...

  8. PHP 和 Java 的主要区别有哪些?

    PHP 和 Java 的主要区别有哪些? 其实Java方面我要学的真的还有很多,要是有大项目的机会和经验就好,所以提前我肯定要把基础打扎实. 我要学的还有很多,比如前段,后端,还有linux,还有肯定 ...

  9. CodeForces 486B

    Let's define logical OR as an operation on two logical values (i. e. values that belong to the set { ...

  10. HP Z240组建磁盘阵列RAID1