bos新增修改删除的代码

合集下载

K3_BOS样例代码演示说明

K3_BOS样例代码演示说明

K/3 BOS样例代码演示说明金蝶软件(中国)有限公司K/3产品事业部2007年4月目录一、需求 (4)二、单据界面定义功能 (4)三、单据Action需求和实现方式 (4)3.1 录入或修改币别时,金额和本位币金额类型字段依据币别的精度自动调整显示和录入精度 (4)3.2录入或修改币别时,汇率自动调整 (5)3.3录入或修改物料时,在[物料]列显示物料代码,在[物料名称]列显示其物料名称 (5)3.4 录入或修改物料时,携带销售单位至[计量单位] (5)3.5录入或修改物料时,[数量]和[基本数量]类型字段依据物料的[物料精度]和[价格精度]自动调整数量和价格的显示和录入精度。

(5)3.6 录入或修改物料时,携带销售单位至[基本计量单价],同时根据[计量单位]与该计量单位所在计量单位组的换算率自动计算对应的常用单位单价。

(5)3.7 录入或修改物料时,携带默认仓库至[仓库]、默认仓位至[仓位]。

(5)3.8 录入仓库后,依据仓库的仓库组过滤仓位。

(6)3.9根据输入的物料、仓库、仓位过滤批次号时。

(6)3.10 录入或修改[计量单位]时,自动换算录入的[数量]和[单价]。

(6)3.11 录入或修改[数量]和[单价]时,自动调整计算相应的[基本数量]和[基本单价] (6)3.12 录入或修改物料、数量、单价自动计算[金额],并将[金额]汇总值填入[总额] (6)3.13 录入或修改[金额]时,倒算[单价]和[基本数量单价],并将[金额]汇总值填入[总额] (6)3.14 录入或修改币别、汇率、物料、数量、单价、金额后自动计算[本位币金额],并将[本位币金额]汇总值填入[本位币总额] (7)四、多极审核功能 (7)4.1、设置一级审核; (7)4.2、在单据过滤条件中增加[审核状态]的扩展过滤条件 (7)4.3、单据一级审核后调用业务审核,在业务审核中设置状态Fstatus为1(已审核) . 8五、单据审核后允许进行单据变更,其中单据备注信息,任何时候都允许修改 (8)六、展现凭证生成和察看功能 (9)6.1 序时簿上增加[凭证]按钮 (9)6.2 单据录入时增加[借方科目]和[贷方科目] (9)6.3 如果单据没有生成凭证,在序时簿上单击凭证,依据单据内容汇总生成一张凭证 96.4 如果选中的第一条单据已经生成凭证,调用凭证查看界面,其打开模式为只读。

K3 WISE BOS元数据表结构

K3 WISE BOS元数据表结构

0.1. ICClassType(单据类型表)0.2. ICClassTypeEntry(单据分录模版表)0.3. ICClassTableInfo(单据字段模版表)0.4. ICClassMutex(BOS单据网络控制表)0.5. ICClassProfileEntry(过滤方案明细)0.6. ICClassProfile(过滤方案)0.7. ICClassUserProfile(单据设置用户配置信息)0.8. ICClassActionList(BOS扩展服务定义序列表)0.9. ICClassActionMessage(操作消息定义)0.10. ICClassActionPosition(菜单位置表)0.11. ICClassBillAction(业务对象动作)0.12. ICClassEnvironment(业务场景)0.13. ICClassKeyFieldMap(逻辑关键字字典)0.14. ICClassMenu(BOS菜单)0.15. ICClassMessage0.16. ICClassMessageUser0.17. ICClassPredefineAction(预定义动作)0.18. ICClassLinkCommit(钩稽关系表)0.19. ICClassLinkEntry(流程字段对应表)0.20. ICClassLink(业务对象流程表)0.21. ICClassWorkFlowBill(流程对象节点定义)0.22. ICClassWorkFlowJoin(流程对象关联定义)0.23. ICClassWorkFlow(业务流程定义)0.24. ICClassWriteBackID(反写逻辑表)0.25. ICClassWriteBackRelate(反写逻辑关系表)0.26. ICClassWriteBackTaskEntry(反写任务子表)0.27. ICClassWriteBackTask(反写任务表)0.28. ICClassCheckRecords(记录审核路线表)0.29. ICClassCheckStatus(记录审核状态表)0.30. ICClassMCFlowInfo(审核配置)0.31. ICClassMCMan(级次审核人)0.32. ICClassMCMessage(多级审核消息配置)0.33. ICClassMCRule(审核流转配置)0.34. ICClassMCTasks(审核流程节点)0.35. ICClassPack0.36. ICClassPackEntry0.37. ICClassAction(事件规则模版表)0.38. ICClassCondition(过滤条件对照表)0.39. ICClassConsts(BOS常量表)0.40. ICClassElementProperty(BOS元素属性)0.41. ICClassElements(BOS元素)0.42. ICClassDataRuleEntry0.43. ICClassDataRuleRight0.44. ICClassFieldRight0.45. ICClassGroupInfo0.46. ICCrossTab0.47. ICCrossTabColDat0.48. ICCrossTabDatSource。

实现修改功能的代码

实现修改功能的代码

实现修改功能的代码下面是一个实现修改功能的代码示例,使其超过1200字:```pythonimport csvdef load_data(csv_file):'''从CSV文件中加载数据到内存中'''data = []with open(csv_file, 'r') as file:reader = csv.reader(file)for row in reader:data.append(row)return datadef save_data(data, csv_file):'''将数据保存到CSV文件中'''with open(csv_file, 'w', newline='') as file:writer = csv.writer(file)writer.writerows(data)print(f"数据已保存至 {csv_file} 文件中") def display_menu(:'''显示菜单选项'''print("1. 显示所有数据")print("2. 添加新数据")print("3. 删除数据")print("4. 修改数据")print("5. 保存并退出")def display_data(data):'''显示所有数据'''if not data:print("没有数据可显示")else:for row in data:print(row)def add_data(data):'''添加新的数据'''new_data = input("请输入新的数据,以逗号分隔: ").split(',') data.append(new_data)print("数据已添加")def delete_data(data):'''删除数据'''display_data(data)index = int(input("请输入要删除的数据的索引: "))try:del data[index]print("数据已删除")except IndexError:print("索引超出范围")def modify_data(data):'''修改数据'''display_data(data)index = int(input("请输入要修改的数据的索引: "))try:row = data[index]print("当前数据:", row)new_data = input("请输入新的数据,以逗号分隔: ").split(',') data[index] = new_dataprint("数据已修改")except IndexError:print("索引超出范围")def main(:#加载数据csv_file = 'data.csv'data = load_data(csv_file)#主循环while True:display_menuchoice = input("请选择操作: ") if choice == '1':display_data(data)elif choice == '2':add_data(data)elif choice == '3':delete_data(data)elif choice == '4':modify_data(data)elif choice == '5':save_data(data, csv_file) breakelse:print("无效的选择")if __name__ == '__main__': main```以上代码实现了一个简单的数据管理系统,可以根据用户的选择执行不同的操作,包括显示所有数据、添加新数据、删除数据和修改数据。

EAS+BOS开发之界面常用代码

EAS+BOS开发之界面常用代码

EAS BOS开发之界面常用代码1.1 初始化用户自己定义的查询过滤框(系统默认为每个定义的列表生成了通用过滤框,如果采用系统通用过滤框则不需要实现下面的方法)dialog可在bos中继承CustomerQueryPanel UI新建用户自定义的过滤框在Bos中发布该元数据后,可以实例化该类并引用在生成的dialog类中继承方法getFilterInfo(),并实现用户想要的过滤条件,应用框架会在取数时调用dialog类自动获取过滤条件在ListUI类中重载方法initCommonQueryDialogprotected CommonQueryDialog initCommonQueryDialog(){dialog = super.initCommonQueryDialog();try{dialog.addUserPanel(getUsierPanel());dialog.setShowFilter(true);dialog.setShowSorter(true);dialog.setHeight(380);dialog.setWidth(500);dialog.setTitle(‘客户自定义过滤框’);}catch (Exception e){handUIException(e);}return dialog;}protected CustomerQueryPanel getUserPanel() throws Exception{if (erPanel == null)erPanel = new PurOrderQueryUI();userPanel.onLoad();return erPanel;}如上,可以实现通过自定义的过滤框实现对列表数据的过滤1.2 设置列表界面的默认过滤条件,可用来过滤列表数据,也可以直接设置mainQuery的值实现过滤protected EntityViewInfo getInitDefaultSolution(){EntityViewInfo ev = new EntityViewInfo();OtherBillQueryUI queryUI = null;try{queryUI = new PurOrderQueryUI();queryUI.onLoad();} catch (Exception e){handUIException(e);}ev.setFilter(queryUI.getFilterInfo());return ev;}1.3)设置是否在调入列表界面之前先出过滤框protected boolean initDefaultFilter(){return true;}1.4)客户端对审核的操作应用框架预定义了一个审核操作actionAuditingpublic void actionAuditing_actionPerformed(ActionEvent e) throws Exception {//检查单据状态if (!checkStatus(tblMain, BillStatusEnum.SUBMITED)){MsgBox.showInfo(this, Day4Resource.getStrResource("isNotSubmitStatus"));// 状态不正确,终止处理SysUtil.abort();}IPurOrder purorder = (IPurOrder) getBizInterface();String[] billIdlist = getSelectedListId();//常用的弹出对话框方法int i = MsgBox.showConfirm2(this, "sureAudit");if (i == MsgBox.OK){//审核操作purOrder.audit(new ObjectStringPK(bill));//完成其他业务逻控制// 刷新列表界面actionRefresh_actionPerformed(null);}}1.5)关联生成public void actionCreateTo_actionPerformed(ActionEvent e) throws Exception { checkSelected();// 未审核单据不能关联生成if (!checkStatus(tblMain, BillStatusEnum.AUDITED)) {MsgBox.showInfo(this, "billIsUnAudited");SysUtil.abort();}//有系统调用配置好的‘botp’规则super.actionCreateTo_actionPerformed(e);}1.6)动态调用UI界面,并在UI之间传递变量private void makePurOrderUI(PurOrderInfo srcBillInfo)throws EASBizException, UIException,BOSException, Exception {String destBillEditUIClassName = “com.kingdee….PurOrderEditUI”; Map map = new UIContext(this);map.put("srcBillID", srcBillInfo.getId().toString());map.put(UIContext.OWNER, this);map.put("srcBillBOSTypeString", destBillInfo.getBOSType()); IUIWindow uiWindow = null ;// UIFactoryName.MODEL 为弹出模式uiWindow = UIFactory.createUIFactory(UIFactoryName.MODEL). create(destBillEditUIClassName, map, null,OprtState.ADDNEW);//可对创建的ui进行操作//((CoreBillEditUI).uiWindow.getUIObject()).//setMakeRelations(btpResult.getBOTRelationCollection());//开始展现UIuiWindow.show();}1.7)关于编码规则// 是否存在编码规则protected boolean isCodeRuleEnable(IObjectValue objValue) throws EASBizException, BOSException {String companyId = OrgInnerUtils.getCurCompany(); ICodingRuleManager codeRuleMgr = null;codeRuleMgr = CodingRuleManagerFactory.getRemoteInstance(); return codeRuleMgr.isExist(objValue, companyId);}// 得到自动编码protected String getAutoCode(IObjectValue objValue)throws EASBizException, BOSException {String companyId = OrgInnerUtils.getCurCompany(); ICodingRuleManager codeRuleMgr = null;codeRuleMgr = CodingRuleManagerFactory.getRemoteInstance(); if (codeRuleMgr.isUseIntermitNumber(objValue, companyId)) {return codeRuleMgr.readNumber(objValue, companyId);} else {return codeRuleMgr.getNumber(objValue, companyId);}}1.8)如何得到当前选中行的id// 得到当前选中行的idpublic String[] getSelectedListId() {checkSelected();// SelectManager 是kdtable中行管理类ArrayList blocks = tblMain.getSelectManager().getBlocks(); ArrayList idList = new ArrayList();Iterator iter = blocks.iterator();while (iter.hasNext()) {KDTSelectBlock block = (KDTSelectBlock) iter.next();int top = block.getTop();int bottom = block.getBottom();for (int rowIndex = top; rowIndex <= bottom; rowIndex++) {ICell cell = tblMain.getRow(rowIndex).getCell(getKeyFieldName());if (!idList.contains(cell.getValue())) {idList.add(cell.getValue());}}}String[] listId = null;if (idList != null && idList.size() > 0) {Iterator iterat = idList.iterator();listId = new String[idList.size()];int index = 0;while (iterat.hasNext()) {listId[index] = (String) iterat.next();index++;}}return listId;}1.9)关于数字精度的设置private void changeShowData(int fistRow, int lastRow) throws EASBizException, BOSException{for (int i = fistRow; i <= lastRow; i++){IRow row = tblMain.getRow(i);// 根据币别设置精度ICell cell = row.getCell(“columnName”);//假定精度为2int precision = 2;if (cell != null && cell.getValue() != null) {try {precision = Integer.parseInt(cell.getValue().toString());} catch (Exception e) {precision = 2;}}// 当该行的币别精度不能于原币精度时才更改精度if (precision != basePrecision) {for (int j = 0; j <rowcount; j++) {tblMain.getColumn("billDate").getStyleAttributes().setNumberFormat( "%{yyyy-MM-dd}t");tblMain.getColumn("debitFor").getStyleAttributes().setNumberFormat( "%r{#,##0.00}f");tblMain.getColumn("debitFor").getStyleAttributes().setHorizontalAlign(HorizontalAlignment.RIGHT);tblMain.getColumn("endBalanceFor").getStyleAttributes().setNumberFormat("%r{#,##0.00}f");tblMain.getColumn("endBalanceFor").getStyleAttributes().setHorizontalAlign(HorizontalAlignment.RIGHT);}}}}1.10)返回当前列表的主键protected String getKeyFieldName() {return "id";}1.11)返回列表界面对应的编辑界面名称protected String getEditUIName() {return client.PurOrderEditUI.class.getName();}1.12)返回远程调用接口protected com.kingdee.eas.framework.ICoreBase getBizInterface() throws Exception {return PurOrderFactory.getRemoteInstance();}2.1 单据新增代码如:新增一行付款单//构造一条付款单信息(构造值对象)PaymentBillInfo payInfo = new PaymentBillInfo();payInfo.setNumber(“1001”);//关联用户UserInfo userInfo = new UserInfo();userInfo.setId(BOSUuid.read("867d5df6-00f8-1000-e000-0009c0a81089sysu")); //通过BOSUuid建立实体对象userInfo.setName(“John”);userInfo.setNumber(“2000”);BigDecimal ex = new BigDecimal("343434.445");//建立属性BigDecimal ex2 = new BigDecimal(12345678901234567.8);//错误payInfo.setExchangeRate(ex);payInfo.setCreator(userInfo);payInfo.setAuditDate(new Date(System.currentTimeMillis()));//时间属性Timestamp createdate = new Timestamp(System.currentTimeMillis()); payInfo.setCreateDate(createdate);payInfo.setBizState(BillBizState.create);//枚据属性payInfo.setSave(true);//Boolean 属性PaymentBillItemInfo itemInfo =new PaymentBillItemInfo();//建立分录itemInfo.setLineNo(34);itemInfo.setAmounts(ex2);payInfo.getEntries().add(itemInfo);//添加分录payInfo.getEntries().add(new ErrandTaskItemInfo());//添加分录调用新增方法进行保存IPaymentBill iPayBill = PaymentBillFactory.getRemoteInstance();//获取实体IObjectPK pk = iPayBill.addnew(payInfo);//保存值对象,返回逻辑键,可以通过逻辑键获取值对象(如下)2.2 单据修改代码修改一条付款单信息IPaymentBill iPayBill = PaymentBillFactory.getRemoteInstance();String id="8b35b903-00f8-1000-e000-0008c0a81089errt";ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键PaymentBillInfo payInfo = iPayBill.getValue(pk);//获取值对象;System.out.println("this:"+ payInfo.getExchangeRate());//获取属性payInfo.setExchangeRate(ex);//修改属性属性iPayBill.update(pk, payInfo);//更新数据2.3 单据删除代码iPayBill.remove(pk);//通过逻辑键删除单据内容获取集合2.4 获取集合CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象EntityViewInfo evi = new EntityViewInfo();//建立视图信息FilterInfo i = new FilterInfo();//建立过滤条件i.getFilterItems().add(new FilterItemInfo("number", "ddff",CompareType.EQUELS));i.getFilterItems().add(new FilterItemInfo("id", "ddff", CompareType.EQUELS)); i. setMaskString(" (#0 and #1)");evi.setFilter(i);//添加过滤条件evi.getSelector().add(new SelectorItemInfo("id"));//添加获取属性evi.getSelector().add(new SelectorItemInfo("*"));evi.getSelector().add(new SelectorItemInfo("company.id"));evi.getSelector().add(new SelectorItemInfo(""));//三种获取集合方法1.获取所有数据:CurrencyCollection co = c. getCurrencyCollection ();//获取集合2.获取满足上述条件的所有数据CurrencyCollection co = c.getCurrencyCollection(evi);//获取集合3.获取满足oql所写的条件的所有数据CurrencyCollection co = c. getCurrencyCollection (evi);//获取集合2.5 获取值对象CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象String id="8b35b903-00f8-1000-e000-0008c0a81089errt"; ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键c.getValue(pk); 或: c.getCurrencyInfo(pk);2.6 界面之间传递参数1.收集父界面要传递给子界面的参数集HashMap map = new HashMap(); map.put("Owner", this); //必须。

增删改查代码

增删改查代码
frameworkdao.executeHql(hql);
}
在此用到一个更新数据库方法executeHql
DaoImp中代码如下:
public void executeHql(final String hql)
{
hibernateTemplate.execute(new HibernateCallback()
alert("请选择删除的数据");
return;
}
if(confirm("确定删除吗?"))
{
$.post("delete.action",param,function(data)
{
if(data="success")
{
alert("删除数据成功");
window.location.reload();
}
});
}
package com.atm.imp;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
user.setAccount(rs.getInt(1));
//user.setMoney(rs.getDouble(2));
}
} catch (Exception e) {
e.printStackTrace();
}finally{
ConnctionFactory.closed(null, st, conn);

金蝶EAS BOS开发典型示例代码

金蝶EAS BOS开发典型示例代码

create(
m n o ( ) u v w "com.kingdee.eas.basedata.master.auxacct.client.AccountSelectUI", /*
*/
map);
2 x h uiWiYnd`owe.shfowi(y); t G
private void loadContext()
//cjp cu
CtrlUnitInfo cuInfo = (CtrlUnitInfo) this.getUIContext().get("cu");
AsstAccountInfo asstAccountInfo = (AsstAccountInfo) this.getUIContext().get("auxAccount");
3 单据新增代码
! //"# $ !% &
¤"# '( )
PaymentBillInfo payInfo = new PaymentBillInfo();
payInfo.setNumber(“1001”);
//01 2 3
UserInfo userInfo = new UserInfo();
AuxAccountEditUI ui = (AuxAccountEditUI) this.getUIContext().get("Owner");
}
12 给 Query 传过滤条件
EntityViewInfo evi = new EntityViewInfo();
6 7 5 $ FilterInfo filterInfo = new FilterInfo(); //

javassist jar 修改 方法

javassist jar 修改 方法

javassist jar 修改方法摘要:1.简介2.javassist 是什么3.如何使用javassist 修改jar 包4.修改方法5.总结正文:1.简介在Java 开发中,我们有时需要对jar 包进行一些修改,例如添加、删除或修改类、方法等。

javassist 是一个Java 字节码修改框架,它可以帮助我们轻松地实现这些操作。

2.javassist 是什么Javassist 是一个强大的Java 字节码修改工具,它可以让Java 程序在运行时动态地修改类和字节码。

它支持对类、方法、字段等进行操作,提供了丰富的API 供开发者使用。

3.如何使用javassist 修改jar 包要使用javassist 修改jar 包,首先需要将jar 包转换为Class 文件,然后使用Javassist 的API 对Class 文件进行修改。

接下来,将修改后的Class 文件重新打包成jar 包。

具体步骤如下:a.将jar 包转换为Class 文件使用`jar2class`工具将jar 包转换为Class 文件,例如:`jar2class -x input.jar output`。

b.使用Javassist 修改Class 文件使用Javassist 的API 对Class 文件进行修改,例如:```javaClassPool pool = new ClassPool();pool.appendClassPath(new File("input.jar"));CtClass ctClass = pool.getCtClass("com.example.ClassName");// 修改方法CtMethod method = ctClass.getDeclaredMethod("methodName");method.setBody("{System.out.println("修改后的方法实现");}");// 添加方法CtMethod newMethod = CtMethod.make(Modifier.PUBLIC, ctClass, "newMethodName", new CtClass[]{}, "{}");ctClass.addMethod(newMethod);// 删除字段ctClass.removeField("fieldName");// 修改字段ctClass.getField("fieldName").setModifiers(Modifier.PRIVATE);// 保存修改后的Class 文件ctClass.writeFile("output.class");```c.将修改后的Class 文件重新打包成jar 包使用`jar`命令将修改后的Class 文件打包成jar 包,例如:`jar cvf output.jar output.class`。

BOS开发典型代码文档

BOS开发典型代码文档

单据新增代码如:新增一行付款单//构造一条付款单信息(构造值对象)PaymentBillInfo payInfo = new PaymentBillInfo();payInfo.setNumber(“1001”);//关联用户UserInfo userInfo = new UserInfo();userInfo.setId(BOSUuid.read("867d5df6-00f8-1000-e000-0009c0a81089sysu ")); //通过BOSUuid建立实体对象userInfo.setName(“John”);userInfo.setNumber(“2000”);BigDecimal ex = new BigDecimal("343434.445");//建立属性BigDecimal ex2 = new BigDecimal(12345678901234567.8);//错误payInfo.setExchangeRate(ex);payInfo.setCreator(userInfo);payInfo.setAuditDate(new Date(System.currentTimeMillis()));//时间属性Timestamp createdate = new Timestamp(System.currentTimeMillis()); payInfo.setCreateDate(createdate);payInfo.setBizState(BillBizState.create);//枚据属性payInfo.setSave(true);//Boolean 属性PaymentBillItemInfo itemInfo = new PaymentBillItemInfo();//建立分录itemInfo.setLineNo(34);itemInfo.setAmounts(ex2);payInfo.getEntries().add(itemInfo);//添加分录payInfo.getEntries().add(new ErrandTaskItemInfo());//添加分录调用新增方法进行保存IPaymentBill iPayBill =PaymentBillFactory.getRemoteInstance();//获取实体IObjectPK pk = iPayBill.addnew(payInfo);//保存值对象,返回逻辑键,可以通过逻辑键获取值对象(如下)// PaymentBillInfo payInfo2 = iPayBill.getValue(pk);单据修改代码修改一条付款单信息IPaymentBill iPayBill = PaymentBillFactory.getRemoteInstance();String id="8b35b903-00f8-1000-e000-0008c0a81089errt";ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键PaymentBillInfo payInfo = iPayBill.getValue(pk);//获取值对象;System.out.println("this:"+ payInfo.getExchangeRate());//获取属性payInfo.setExchangeRate(ex);//修改属性属性iPayBill.update(pk, payInfo);//更新数据单据删除代码iPayBill.remove(pk);//通过逻辑键删除单据内容获取集合获取集合CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象EntityViewInfo evi = new EntityViewInfo();//建立视图信息FilterInfo i = new FilterInfo();//建立过滤条件i.getFilterItems().add(new FilterItemInfo("number", "ddff", CompareType.EQUELS));i.getFilterItems().add(new FilterItemInfo("id", "ddff", CompareType.EQUELS));i. setMaskString(" (#0 and #1)");evi.setFilter(i);//添加过滤条件evi.getSelector().add(new SelectorItemInfo("id"));//添加获取属性evi.getSelector().add(new SelectorItemInfo("*"));evi.getSelector().add(new SelectorItemInfo("company.id"));evi.getSelector().add(new SelectorItemInfo(""));//三种获取集合方法1.获取所有数据:CurrencyCollection co = c. getCurrencyCollection ();//获取集合2.获取满足上述条件的所有数据CurrencyCollection co = c.getCurrencyCollection(evi);//获取集合3.获取满足oql所写的条件的所有数据CurrencyCollection co = c. getCurrencyCollection (evi);//获取集合获取值对象CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象String id="8b35b903-00f8-1000-e000-0008c0a81089errt";ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键c.getValue(pk); 或 : c.getCurrencyInfo(pk);界面之间传递参数1.收集父界面要传递给子界面的参数集HashMap map = new HashMap();map.put("Owner", this); //必须。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2.1 单据新增代码如:新增一行付款单//构造一条付款单信息(构造值对象)PaymentBillInfo payInfo = new PaymentBillInfo();payInfo.setNumber(“1001”);//关联用户UserInfo userInfo = new UserInfo();userInfo.setId(BOSUuid.read("867d5df6-00f8-1000-e000-0009c0a81089sysu")); //通过BOSUuid建立实体对象userInfo.setName(“John”);userInfo.setNumber(“2000”);BigDecimal ex = new BigDecimal("343434.445");//建立属性BigDecimal ex2 = new BigDecimal(12345678901234567.8);//错误payInfo.setExchangeRate(ex);payInfo.setCreator(userInfo);payInfo.setAuditDate(new Date(System.currentTimeMillis()));//时间属性Timestamp createdate = new Timestamp(System.currentTimeMillis());payInfo.setCreateDate(createdate);payInfo.setBizState(BillBizState.create);//枚据属性payInfo.setSave(true);//Boolean 属性PaymentBillItemInfo itemInfo =new PaymentBillItemInfo();//建立分录itemInfo.setLineNo(34);itemInfo.setAmounts(ex2);payInfo.getEntries().add(itemInfo);//添加分录payInfo.getEntries().add(new ErrandTaskItemInfo());//添加分录调用新增方法进行保存IPaymentBill iPayBill = PaymentBillFactory.getRemoteInstance();//获取实体IObjectPK pk = iPayBill.addnew(payInfo);//保存值对象,返回逻辑键,可以通过逻辑键获取值对象(如下)2.2 单据修改代码修改一条付款单信息IPaymentBill iPayBill = PaymentBillFactory.getRemoteInstance();String id="8b35b903-00f8-1000-e000-0008c0a81089errt";ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键PaymentBillInfo payInfo = iPayBill.getValue(pk);//获取值对象;System.out.println("this:"+ payInfo.getExchangeRate());//获取属性payInfo.setExchangeRate(ex);//修改属性属性iPayBill.update(pk, payInfo);//更新数据2.3 单据删除代码iPayBill.remove(pk);//通过逻辑键删除单据内容获取集合2.4 获取集合CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象EntityViewInfo evi = new EntityViewInfo();//建立视图信息FilterInfo i = new FilterInfo();//建立过滤条件i.getFilterItems().add(new FilterItemInfo("number", "ddff", CompareType.EQUELS));i.getFilterItems().add(new FilterItemInfo("id", "ddff", CompareType.EQUELS));i. setMaskString(" (#0 and #1)");evi.setFilter(i);//添加过滤条件evi.getSelector().add(new SelectorItemInfo("id"));//添加获取属性evi.getSelector().add(new SelectorItemInfo("*"));evi.getSelector().add(new SelectorItemInfo("company.id"));evi.getSelector().add(new SelectorItemInfo(""));//三种获取集合方法1.获取所有数据:CurrencyCollection co = c. getCurrencyCollection ();//获取集合2.获取满足上述条件的所有数据CurrencyCollection co = c.getCurrencyCollection(evi);//获取集合3.获取满足oql所写的条件的所有数据CurrencyCollection co = c. getCurrencyCollection (evi);//获取集合2.5 获取值对象CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象String id="8b35b903-00f8-1000-e000-0008c0a81089errt";ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(id));//建立逻辑键c.getValue(pk); 或: c.getCurrencyInfo(pk);2.6 界面之间传递参数1.收集父界面要传递给子界面的参数集HashMap map = new HashMap();map.put("Owner", this); //必须。

被启动UI的父UI对象map.put("EASMode", new Integer(this.EASMode));map.put("table", this.accountTablePrompBox.getData());map.put("cu", currentCtrlUnit);map.put("auxAccount", this.asstAccountPromptBox.getData());IUIFactory uiFactory = null;uiFactory = UIFactory.createUIFactory("com.kingdee.eas.base.uiframe.client.UIModelDialogFactory"); //以模态对话框方式启动IUIWindow uiWindow = uiFactorycreate("com.kingdee.eas.basedata.master.auxacct.client.AccountSelectUI", /* 被启动对象的类名称*/map);uiWindow.show();2.在子界面获取传递下来的数据private void loadContext(){int mode = ((Integer)this.getUIContext().get("EASMode")).intValue();AccountTableInfo accountTableInfo = (AccountTableInfo) this.getUIContext().get("table");CtrlUnitInfo cuInfo = (CtrlUnitInfo) this.getUIContext().get("cu");AsstAccountInfo asstAccountInfo = (AsstAccountInfo) this.getUIContext().get("auxAccount");AuxAccountEditUI ui = (AuxAccountEditUI) this.getUIContext().get("Owner");}2.7 给Query传过滤条件EntityViewInfo evi = new EntityViewInfo();FilterInfo filterInfo = new FilterInfo(); //建立过滤条件filterInfo.getFilterItems().add(new FilterItemInfo("typelink.id", info.getId(),CompareType.EQUALS));filterInfo.getFilterItems().add(new FilterItemInfo("currencyCompany.id", companyID,CompareType.EQUALS));filterInfo.setMaskString("#0 and #1 ");evi.setFilter(filterInfo);if (mainQuery == null) {mainQuery = new EntityViewInfo();}mainQuery.setFilter(filterInfo); //添加过滤条件this.execQuery();2.8 接口方法的访问方式3.客户端访问CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory.getRemoteInstance();//建立实体对象c. getCurrencyCollection();4.服务端访问CurrencyInfo cur = new CurrencyInfo();ICurrency c = CurrencyFactory. getLocalInstance (ctx);//建立实体对象c. getCurrencyCollection();2.9 控件的初始化1.使用枚举给ComboBox控件赋值public void setReceiveType(){this.kDComboBox2.removeAllItems();List list = new List();Iterator it = ReceiveType.iterator();while (it.hasNext()){list.add(ReceiveType.getEnum(it.toString()).toString());}}2.使用值对象集合给ComboBox控件赋值// 获取结算方式列表IAsstActTypeDefault iAsstActType = AsstActTypeDefaultFactory.getRemoteInstance(); AsstActTypeDefaultCollectioni asstActTypeColl = iAsstActType.getAsstActTypeDefaultCollection(" where isAccountCussent = 1"); AsstActTypeDefaultInfo defaultVal = null;int count = asstActTypeColl.size();Object[] typeValue = new Object[count];for (int i = 0; i < count; i++){AsstActTypeDefaultInfo value = (AsstActTypeDefaultInfo) asstActTypeColl.get(i);if (value.isIsDefaultAccountPayable()){defaultVal = value;}ObjectUuidPK pk = new ObjectUuidPK(BOSUuid.read(value.getAsstActType().getString("id"))); AsstActTypeInfo asstInfo = AsstActTypeFactory.getRemoteInstance().getAsstActTypeInfo(pk);//cbi[i] = new ComBoxInfo(asstInfo, asstInfo.getName(), true);String typeName = asstInfo.getName();String typeId = asstInfo.getId().toString();String typeQueryName = asstInfo.getDefaultQueryName();String typeTableName = asstInfo.getRealtionDataObject();int csType = 0; //asstActTypeInfo.getCsType().getValue();asstActType = new AsstActTypeUtils(typeName, typeId, typeTableName, typeQueryName, csType); typeValue[i] = (Object) asstActType;}///String strQueryName = "F7SupplierQuery";this.kDComAccountCussentType.removeAllItems();this.kDComAccountCussentType.addItems(typeValue);this.kDComAccountCussentType.setSelectedIndex(0);。

相关文档
最新文档