单据转换 Transfer
- 数据转换的说明。
从多个数据集查询,生成ObjEditDSStores形式的结果,用于 客户端新建记录,服务器端包括,合约单据转化(合约实例合约关系等),生成新的目标编辑记录,模板微信消息。
* 数据转换的服务端,用于查询数据,判断条件,然后根据目标字段转化成为datastore的,(未根据目标编辑主题域进行转换)
定义转换需要两个步骤
1) 在DATA属性中声明转化
<TRANSFER ACTION="TRAN_LY~TRAN_TH" INVISIBLE=""></TRANSFER>
ACTION 是菜单中出现的转化,INVISIBLE是菜单中不出现的转化。
2) 在DATA 的ACTION中定义转化
<?xml version="1.0" encoding="GB2312"?>
<ACTION actionid="18709" ecode="TRAN" createby="模型管理员" createtime="2022-08-18 17:36:23" modifyby="模型管理员" modifytime="2023-10-28 08:59:57" estatus="1" ename="导出">
<DEF>
<ACTION DISABLECMDS="" INSTCOMMAND="" FLOW="" REFENTITY="" RIGHT="" ID="17707" CODE="TRAN_LY" NAME="领用" STATUS="1" createby="模型管理员" createtime="2022-08-18 17:36:23" modifyby="模型管理员" modifytime="2022-08-19 09:57:43" actionright="">
<TRANSFER EDITOR=".BMDN.EDIT" PARAMNAME="departmentid" CONDITION="closestatus=='0' " CAPTION="导出" EDITNEW="FALSE">
<DATASET CODE="EDITDS" ERI="..BROWSEDS" ALIAS="DEFAULT">
<FIELD SOURCE="ecode" TARGET="ecode"/>
<FIELD SOURCE="ename" TARGET="ename"/>
</DATASET>
</TRANSFER>
</ACTION></DEF>
<MEMO></MEMO>
</ACTION>
- 通用转化定义(data属性中,其他属性中也用到)
<TRANSFER CODE="" PARAMNAME="zcywqsid" CONDITION='' >
<DATASET CODE="EDITDS" ERI="..BROWSEDS" ALIAS="DEFAULT" PARAMNAME="可以为空默认同transfer参数名" >
<FIELD SOURCE="ecode" TARGET="t_zcywsq_ecode" VALUE='可以为空,如果为空是字段名称' DATA='微信专用FALSE 如果为TRUE 表示微信的DATA属性' />
<FIELD SOURCE="c_gsdn_ecode" TARGET="c_gsdn_ecode"/>
<FIELD SOURCE="s_employee_ecode" TARGET="s_employee_6_ecode"/>
</DATASET>
</TRANSFER>
数据转化的结果为如下形式,来源和目标编辑参数对象。以及主数据集
public static class ObjEditDSStores {
public ObjParamEditSvr objParamEditTarget;
public ObjParamEditSvr objParamEditSource;
public ObjDatastore mainSourceStore;
public ObjDatastore mainTargetStore;
public Object returnValue;
}
- 客户端生成数据
<TRANSFER CODE="" PARAMNAME="zcywqsid" CONDITION='' EIDTOR='' CAPTION='' EDITNEW='TRUE'>
客户单需要的属性 ,查询参数为当前数据集的主键
EDITOR='编辑属性的路径'
CAPTION='菜单名称'
EDITNEW='TRUE' 新建记录,否则为后台转换。
.....
</TRANSFER>
- 服务端生成新的记录
<TRANSFER CODE="" PARAMNAME="zcywqsid" CONDITION='' EIDTOR='' EDITNEW='FALSE' SYNCH='FALSE'>
EDITOR='编辑属性的路径'
EDITNEW='FALSE'
SYNCH ='FALSE' 是否删除主键相同的记录然后添加。 默认为FALSE;
.....
</TRANSFER>
- 服务端生成新的记录到应用系统
<TRANSFER CODE="" PARAMNAME="zcywqsid" CONDITION='' EIDTOR='' ROOMTYPE='来源数据集中用于获得目标room的CLIENTTYPE' SYNCH='FALSE'>
EDITOR='编辑属性的路径'
ROOMTYPE='来源数据集中用于获得目标room的CLIENTTYPE' ,
SYNCH ='FALSE' 是否删除主键相同的记录然后添加。 默认为FALSE;
.....
</TRANSFER>
- 服务端合约转换
<TRANSFER CODE="" PARAMNAME="zcywqsid" CONDITION='' EIDTOR='' EDITNEW='FALSE'>
<CONTRACTINST ITEMCODE=‘合约项’ ROOM=‘来源数据集的字段名’ INST='源数据集的字段名' REL =‘来源数据集的字段名称’/>
...
</TRANSFER>
REL 关系id字段名称 指定表示使用关系,优先使用
ROOM,INST 合约实例的应用系统id和实例id的字段名称 同时指定表示使用合约实例。
- 服务端应用系统生成单据
- 微信消息生成(见子项)
<TRANSFER CODE="" TYPE='WXMSG' TEMPLATEID="模板消息id" PARAMNAME="zcywqsid" CONDITION='' >
客户端生成单据举例
<?xml version="1.0" encoding="GB2312"?>
<ACTION actionid="18321" ecode="SM" createby="模型管理员" createtime="2023-03-30 16:01:38" modifyby="模型管理员" modifytime="2023-10-10 20:55:25" estatus="1" ename="出库">
<DEF>
<ACTION DISABLECMDS="" INSTCOMMAND="" FLOW="" REFENTITY="" RIGHT="" ID="18321" CODE="SM" NAME="出库" STATUS="1" createby="模型管理员" createtime="2023-03-30 16:01:38" modifyby="模型管理员" modifytime="2023-09-20 15:01:16" actionright="">
<TRANSFER CODE="CK" EDITOR=".MLSMDPH.EDIT:DEFAULT" PARAMNAME="mlzjid" PARAMVALUE="mlzjid" CONDITION="" CAPTION="扫码">
<DATASET CODE="EDITDS" ERI="..BROWSEDS" ALIAS="DEFAULT">
</DATASET>
<DATASET CODE="EDITDSSUB" ERI="..EDITDSSUB" ALIAS="DEFAULT">
<FIELD SOURCE="mlzjmxmdid" TARGET="mlzjmxmdid"/>
<FIELD SOURCE="ecode" TARGET="t_mlzjmxmd_ecode"/>
<FIELD SOURCE="ywms" TARGET="ywms"/>
<FIELD SOURCE="ywgjs" TARGET="ywgjs"/>
<FIELD SOURCE="bpps" TARGET="bpps"/>
<FIELD SOURCE="bpph" TARGET="bpph"/>
<FIELD SOURCE="bpgh" TARGET="bpgh"/>
<FIELD SOURCE="zlwtms" TARGET="zlwtms"/>
<FIELD SOURCE="c_wldn_ecode" TARGET="c_wldn_ecode"/>
<FIELD SOURCE="c_wldn_ename" TARGET="c_wldn_ename"/>
<FIELD SOURCE="wldnid" TARGET="wldnid"/>
<FIELD SOURCE="ksdnid" TARGET="ksdnid"/>
<FIELD SOURCE="c_ksdn_ecode" TARGET="c_ksdn_ecode"/>
<FIELD SOURCE="c_ksdn_ename" TARGET="c_ksdn_ename"/>
<FIELD SOURCE="mlzjid" TARGET="mlzjid"/>
<FIELD SOURCE="c_zldj_ecode" TARGET="c_zldj_ecode"/>
<FIELD SOURCE="c_zldj_ename" TARGET="c_zldj_ename"/>
</DATASET>
</TRANSFER>
</ACTION></DEF>
<MEMO></MEMO>
</ACTION>
Created with the Personal Edition of HelpNDoc: Generate Kindle eBooks with ease