### NCV6开发常用知识与功能代码实现 #### 一、网络编程与域名解析 **知识点**: 在网络编程中,经常需要通过域名来获取其对应的IP地址,这涉及到DNS(Domain Name System)域名解析的过程。 **示例代码**: 通过Java的`InetAddress`类获取域名对应的IP地址。 ```java InetAddress myServer = null; // 取得www.abc.com的IP地址 public InetAddress getServerIP() { try { myServer = InetAddress.getByName("www.baidu.com"); } catch (UnknownHostException e) { // 处理异常 } return myServer; } // 调用方法获取IP地址 String ipAddress = getServerIP().getHostAddress(); ``` **应用场景**: 当需要通过域名访问远程服务器时,可以通过这种方式获取IP地址。 #### 二、NCV6自定义参照 **知识点**: 自定义参照是指在NCV6系统中对特定字段进行定制化处理,使其能够显示或选择特定的数据集合。 **步骤**: 1. 设置字段类型为“参照”。 2. 初次设置时,可以任意选择一个参照。 3. 之后,在对应的单据模板上进行编辑,替换为所需的自定义参照。 **应用场景**: 这种功能在创建各种业务单据时非常有用,可以提高数据输入的准确性和效率。 #### 三、获取当前登录公司信息 **知识点**: 在NCV6系统中,获取当前登录用户的公司信息对于定制化的业务处理非常重要。 **示例代码**: ```java String newOrgPk = OrgSettingAccessor.getDefaultOrgUnit(); String currentUser = WorkbenchEnvironment.getInstance().getLoginUser(); String businessDate = WorkbenchEnvironment.getInstance().getBusiDate(); ``` **应用场景**: 当需要根据不同的公司信息来执行不同的业务逻辑时,这些方法非常有用。 #### 四、获取服务器时间 **知识点**: 在分布式应用中,确保所有客户端显示的时间与服务器时间一致至关重要。 **示例代码**: ```java // 获取服务器时间 Date serverTime = ServerTimeProxy.getInstance().getServerTime(); // 或者使用另一种方式 Date serverTime2 = SFServiceFacility.getServiceProviderService().getServerTime().getDate(); ``` **应用场景**: 在需要记录操作日志、同步时间等场景下,这些方法能够提供准确的服务器时间。 #### 五、查询数据库字符集 **知识点**: 数据库字符集设置决定了数据库中数据如何存储和检索。 **SQL查询**: ```sql SELECT * FROM nls_database_parameters WHERE parameter = 'NLS_CHARACTERSET'; ``` **应用场景**: 在处理多语言或多字符集环境时,了解数据库的字符集是非常重要的。 #### 六、禁止在Public和Client端使用BaseDAO进行数据库操作 **知识点**: 为了保证系统的稳定性和安全性,NCV6系统在公共端和客户端限制了直接使用BaseDAO进行数据库操作的功能。 **应用场景**: 这种限制有助于防止未经授权的数据访问和修改。 #### 七、NC远程调试配置 **知识点**: 通过远程调试可以方便地定位和解决NC系统中的问题。 **配置示例**: 1. 在测试机上的`nchome/bim/sysConfig.bat`文件中,添加虚拟参数 `-agentlib:jdwp=transport=dt_socket,suspend=n,server=y,address=192.168.6.123:2199`。 2. 在Eclipse中配置远程调试,名称自定义。 **应用场景**: 当需要对部署在远程服务器上的NC系统进行调试时,这种配置是必不可少的。 #### 八、Java文件中(Model)数据模型的接收类 **知识点**: 在Java文件中,为了更好地管理和操作数据模型,通常需要继承特定的父类。 **应用场景**: 这种做法可以提高代码的可读性和可维护性,尤其是在处理复杂的业务逻辑时。 #### 九、加锁节点内部编码为空的问题 **知识点**: 如果出现加锁节点内部编码为空的情况,可能是由于V5虚拟公司没有完成一系列操作,如建账等。 **解决方案**: 确保所有的初始化和设置步骤都已完成。 #### 十、单据模板取得参照项取主键 **知识点**: 在单据模板中,可以通过设置关键字名指向参照项的主键字段,以便在后续处理中使用。 **应用场景**: 这种做法可以简化查询条件,并提高数据处理的准确性。 #### 十一、发送会计平台相关服务 **知识点**: 在NCV6系统中,可以通过特定的服务接口向会计平台发送消息。 **示例代码**: ```java CmpPublicServiceProxy.getFipMessageService().sendMessage(messageVO); ``` **应用场景**: 这种功能通常用于与其他模块或外部系统进行交互。 #### 十二、NCV6报表模板初始化功能注册 **知识点**: 报表模板初始化功能的注册对于报表的正确展示至关重要。 **功能编码**: `1305ROPERT` **功能类名**: `nc.ui.pub.report.ReportModelTool` **应用场景**: 在报表设计和管理中,这种功能注册机制非常关键。 #### 十三、快速查询 **知识点**: 快速查询是一种高效的查询方式,可以用来快速获取满足特定条件的数据。 **SQL查询**: ```sql SELECT qsobject FROM pub_queryschem WHERE isquickqs = 'Y'; ``` **应用场景**: 在需要频繁进行简单查询的情况下,这种方法可以极大地提高查询效率。 #### 十四、动作(APPROVE)+审批人主键 **知识点**: 动作处理和审批流程是NCV6系统中常见的业务逻辑之一。 **示例代码**: ```java PfUtilTools.approveSilently( String billType, String billId, String checkResult, String checkNote, String checkman, String[] dispatched_ids ); ``` **应用场景**: 在需要自动化处理审批流程时,这种功能非常有用。 以上内容涵盖了NCV6开发过程中的常见知识点和功能实现细节,希望对您有所帮助。
剩余24页未读,继续阅读
- 粉丝: 1
- 资源: 4
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 【重磅,更新!】基于2008-2022年熵值法计算的环境污染指数
- 【毕业设计/课程设计】免费springboot+vue甘肃非物质文化网站的源码
- 使用免费卫星图像划分北卡罗来纳州所有地面安装太阳能电池阵的方法.ipynb
- 7000张原始火灾和烟雾数据集下载
- <项目代码>YOLOv8 番茄识别<目标检测>
- 基于SpringBoot+微信小程序的仿微信聊天的小程序源码
- Storm与HFSS(3D Layout)的接口前期准备文件
- 连接数据库导出数据库信息支持excel pdf html
- 2024汽车产业AIGC技术应用白皮书
- 【毕业设计/课程设计】免费 springboot+vue的网上购物商城系统+论文