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

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

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

      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. reset清除所有浏览器默认样式

    温馨提示 reset 的目的不是清除浏览器的默认样式, 这仅是部分工作. 清除和重置是紧密不可分的.reset 的目的不是让默认样式在所有浏览器下一致, 而是减少默认样式有可能带来的问题.reset ...

  2. Fleury算法 求欧拉回路

    Fleury算法 #include <iostream> #include <cstdio> #include <cstring> #include <cma ...

  3. Basic Memory Structures

    Basic Memory Structures The basic memory structures associated with Oracle Database include: System ...

  4. 通过winrm使用powershell远程管理服务器

    原文地址 在Linux中,我们可以使用安全的SSH方便的进行远程管理.但在Windows下,除了不安全的Telnet以外,从Windows Server 2008开始提供了另外一种命令行原创管理方式, ...

  5. [bzoj3530][Sdoi2014]数数_AC自动机_数位dp

    数数 bzoj-3530 Sdoi-2014 题目大意:给你一个整数集合,求所有不超过n的正整数,是的它的十进制表示下不能再一段等于集合中的任意数. 注释:$1\le n \le 1200$,$1\l ...

  6. innodb_support_xa=1

    mysql> show create table t; CREATE TABLE `t` ( `id` ) NOT NULL AUTO_INCREMENT, `num` ) DEFAULT NU ...

  7. git分支合并概念

    git merge命令用于合并指定分支到当前分支. git merge命令用于合并指定分支到当前分支. git merge命令用于合并指定分支到当前分支. 创建与合并分支 阅读: 931277 在版本 ...

  8. Design库,所有控件的使用

    导入地址com.android.support:design:23.2.0..输入design搜索到确认就可以. 布局中android.support.design.widget.XXX,调用控件 控 ...

  9. oracel表的分区

    1,创建表及分区 create table test ( ID VARCHAR2(32), MONTHS VARCHAR2(40), USERID VARCHAR2(20) ) partition b ...

  10. hdoj--2509--Be the Winner(尼姆博弈)

    Be the Winner Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) To ...