K3 新单到老单关联字段的添加
新单到老单字段的添加分为两种:
一种为文本字段信息的关联,新单与老单字段的信息均为文本字段;
另一种为基础资料信息的关联,新单与老单均为基础资料字段信息。
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 新单到老单关联字段的添加的更多相关文章
- 四、K3 WISE 开发插件《工业单据老单插件开发新手指导》
开发环境:K/3 Wise 13.0.K/3 Bos开发平台.Visual Basic 6.0 =============================================== 目录 一 ...
- jQuery Validate 表单验证插件----通过name属性来关联字段来验证,改变默认的提示信息,将校验规则写到 js 代码中
一.下载依赖包 网盘下载:https://yunpan.cn/cryvgGGAQ3DSW 访问密码 f224 二. 添加一个另外一个插件jquery.validate.messages_cn.js. ...
- K3老单序时簿开发示例
K3需要对老单进行二次开发,老单的二次开发比较麻烦,这里整理一下老单序时簿上添加按钮的二次开发示例. --以下SQL脚本--获取 MENU IDselect FID,FmenuID,FName fro ...
- mysql 删除单表内多个字段重复的数据
mysql 删除单表内多个字段重复的数据 DELETE from lot_log_payflow WHERE (pay_no,sub_flow_type) in () s1) AND id ) s2) ...
- openerp学习笔记 计算字段、关联字段(7.0中非计算字段、关联字段只读时无法修改保存的问题暂未解决)
计算字段.关联字段,对象修改时自动变更保存(当 store=True 时),当 store=False 时,默认不支持过滤和分组7.0中非计算字段.关联字段只读时无法修改保存的问题暂未解决 示例代码: ...
- <form> 标签 // HTML 表单 // from 表单转换成json 格式
<form> 标签 // HTML 表单 // from 表单转换成json 格式 form 表单,对开发人员来说是在熟悉不过的了,它是页面与web服务器交互时的重要信息来源 表 ...
- JavaScript 客户端JavaScript之Document对象中的表单和表单元素
Form对象 代表一个HTML表单(document可以有多个表单元素) 表单访问 document.form[document.forms.length-1] 访问表单元素 document.for ...
- YII关联字段并带搜索排序功能
1.简介 从接触yii框架到现在已经快有两个月了,但是自己对yii框架的了解程度并不是很深,并没有系统地去学习,仅仅只是在做项目的时候遇到不懂得知识才去翻手册. 在上一个项目中因为需要将关联的表的字段 ...
- odoo14 入门解刨关联字段
Odoo中关联字段是用来绑定表与表之间主从关系的. 主从关系指: 首先必须要明白id的存在的意义,它具备"唯一"的属性,也就是表中所有记录中该字段的值不会重复. 假设表A存储是身份 ...
随机推荐
- 只允许一个 <configSections> 元素。它必须是根 <configuration> 元素的第一个子元素- HTTP Error 500.19
这还是我第一次遇到这个错误,以前都没太注意配置文件中元素的放置顺序.这次在调试一个ASP.NET MVC项目的时候,突然就爆出HTTP Error 500.19错误,提示无法访问请求的页面,因为该页的 ...
- Spark MLlib之线性回归源代码分析
1.理论基础 线性回归(Linear Regression)问题属于监督学习(Supervised Learning)范畴,又称分类(Classification)或归纳学习(Inductive Le ...
- POJ 3537
利用后继节点的SG值求出当前的SG值. 在当前任意一个BLANK插入一个x后,分成两段,于是,看成两段的NIM,异或和,按SG的定义求出当前的SG值即可. #include <iostream& ...
- iOS模仿微信的那个视频眼睛动画
咳咳,费死老劲把这个动画搞出来了. 欢迎批评指正 github URL: https://git.oschina.net/momochao/WeChatEyeDemo
- 高效管理 Elasticsearch 中基于时间的索引——本质是在利用滚动模式做数据的冷热分离,热索引可以用ssd
高效管理 Elasticsearch 中基于时间的索引 转自:http://stormluke.me/es-managing-time-based-indices-efficiently/ 用 Ela ...
- WPF中ListBox ListView数据翻页浏览笔记(强调:是数据翻页,非翻页动画)
ListBox和ListView在应用中,常常有需求关于每页显示固定数量的数据,然后通过Timer自动或者手动翻页操作,本文介绍到的就是该动作的实现. 一.重点 对于ListBox和ListView来 ...
- Linux Shell Scripting Cookbook 读书笔记 5
sed,awk 1. sed (string editor) 使用-i可以将结果运用于原文件 sed 's/text1/text2/' file > newfile mv newfile fil ...
- mysql视图,索引和存储过程
一:视图 视图又叫虚表.同真实的表一样,视图包含一系列带有名称的列和行数据.但是,视图并不在数据库中以存储的数据值集形式存在.行和列数据来自由定义视图的查询所引用的表,并且在引用视图时动态生成. 具体 ...
- JavaScript之BOM和DOM
前戏 到目前为止,我们已经学过了JavaScript的一些简单的语法.但是这些简单的语法,并没有和浏览器有任何交互. 也就是我们还不能制作一些我们经常看到的网页的一些交互,我们需要继续学习BOM和DO ...
- arg max f(x) 含义
y = f(x) 是一般常见的函数式,如果给定一个x值,f(x)函数式会赋一个值給y. y = max f(x) 代表:y 是f(x)函式所有的值中最大的output. y = arg max f(x ...