单据跳转查看另一单据

本文介绍了如何使用UIContext设置参数并创建UIWindow实例,通过UIFactory进行界面展示的方法。涉及UIContext配置、UIFactory调用及异常处理等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UIContext uiContext = new UIContext(this);
uiContext.put(UIContext.ID, PCInfo==null?null:PCInfo.getId());//需要查看单据的ID
uiContext.put(UIContext.OWNER, this);
IUIWindow uiWindow = null;
try {
//UIFactoryName.NEWWIN  查看模式弹出新窗口、PCMachineleadBillEditUI 为需查看单据编辑界面、OprtState.VIEW 需查看单据的状态
    uiWindow = UIFactory.createUIFactory(UIFactoryName.NEWWIN).create(PCMachineleadBillEditUI.class.getName(), uiContext, null, OprtState.VIEW);
    uiWindow.show();
} catch (UIException e1) {
    e1.printStackTrace();
}

### NC65 中单据编辑状态跳转的方法 在 NC65 系统中实现单据编辑状态的跳转涉及多个方面,包括前端页面逻辑控制和后台服务接口调用。具体来说,在 JavaScript 文件 `commonctrl.js` 和其他相关脚本文件中定义了系列用于处理界面交互行为的方法[^2]。 对于单据编辑态的切换操作通常遵循如下机制: #### 前端页面加载与初始化 当用户请求打开某个特定业务对象(如张发票、订单等)时,系统会先通过 URL 参数传递该对象唯标识符 ID 给服务器端 API 接口获取对应的数据实体实例并渲染至 HTML DOM 结构上显示给用户查看。 ```javascript // 获取URL参数中的ID值 function getQueryVariable(variable) { var query = window.location.search.substring(1); var vars = query.split("&"); for (var i=0;i<vars.length;i++) { var pair = vars[i].split("="); if(pair[0] === variable){return pair[1];} } return(false); } let objectId = decodeURIComponent(getQueryVariable('id')); ``` #### 判断当前视图模式 为了区分浏览模式还是编辑模式,可以在页面载入完成后立即检测是否存在某些标志位变量来决定下步动作。如果发现是处于只读展示,则允许点击进入编辑;反之则默认开启可编辑字段供填写修改。 ```javascript if (!isEditMode()) { // isEditMode() 是自定义判断函数 document.getElementById('editButton').addEventListener('click', function () { switchToEditMode(); }); } else { initializeEditableFields(); // 初始化可编辑区域控件事件绑定等 } ``` #### 实现编辑功能 旦确定要激活编辑权限后,就需要更新界面上各个组件的状态使之变为可用状态,并且可能还需要向 Web Service 发送异步请求拉取最新数据版本确保同步无误后再让用户开始更改内容。 ```javascript async function switchToEditMode() { try { let response = await fetch(`/api/object/${objectId}`, { method: 'GET', headers: {'Content-Type': 'application/json'} }); if(response.ok){ const data = await response.json(); populateFormWith(data); // 将返回的结果填充回表单项内 enableEditingFeatures(); // 开启所有输入框及其他交互元素的操作能力 }else{ console.error(`Failed to load object ${objectId}`); } } catch(error) { console.log(error.message); } } ``` 以上代码片段展示了如何基于现有框架结构完成从阅读到编辑转换的过程。需要注意的是实际应用环境中可能会涉及到更复杂的验证流程以及安全性考量等问题,因此建议参照官方文档指南进步完善细节部分的设计思路。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值