NC65 UAP开发实战:从零构建单据元数据与实体组件
1. NC65 UAP开发环境准备第一次接触NC65 UAP开发时我花了两天时间才把环境跑通。现在回想起来其实关键就几个配置点但当时没人指导确实踩了不少坑。先说说最基础的环境搭建这里我会把容易出错的地方都标出来。开发工具准备你需要先下载UAP-STUDIO65开发工具包。注意不要直接双击安装建议解压到不含中文和空格的路径比如D:\DevTools\UAP-STUDIO65。我遇到过有人路径带空格导致后续编译报错的案例。配置数据源时有个细节容易忽略在【窗口→首选项→UAP-Studio集成开发环境→开发配置】里数据库连接测试通过后记得点击应用再点确定。我有次只点了确定没点应用结果重启工具后配置全丢了。反编译插件配置也是个痛点。在JadClipse设置里路径要指向jad.exe的绝对路径。如果没这个文件需要单独下载。实测用Java Decompiler效果更好但需要手动修改plugins目录下的配置文件。2. 创建元数据项目实战新建项目时我建议先在空白目录创建META-INF文件夹里面放manifest.mf文件。这个技巧官方文档没提但能避免后续实体组件生成的路径问题。具体操作文件→新建→其他→UAP业务组件项目项目名称建议用模块名_bill的格式比如purchase_order_bill勾选创建默认MDP文件选项打开MDP资源管理器后你会看到两个默认文件。重点看第二个.entity文件右键选择创建实体组件时弹出的对话框里有个名称空间字段要特别注意。这里填的值会直接影响最终生成的Java包路径建议按com.公司名.模块名的格式填写。3. 单据元数据建模详解实体创建后从PDM导入表结构时有个隐藏技巧先用PowerDesigner把PDM导出为XML时要勾选生成完整SQL脚本选项。这样导入UAP时字段类型映射会更准确。我遇到过TIMESTAMP类型被错误映射为DATE的情况就是源文件没配置好。属性配置三大核心访问器类型选择主表用AggVO子表用NCVO普通查询实体用POJO主实体设置在组件属性里指定主实体后生成的VO会自动包含主子关联逻辑代码风格强烈建议用自定义样式可以兼容历史代码规范实操时注意每个实体必须设置主属性对应数据库主键否则保存时会报错。属性窗口的缺省表名最好手动指定避免自动生成的表名不符合规范。4. 高级技巧与调试在模型视图窗口右键实体可以设置显示属性。这里有个实用技巧把常用字段的可见属性设为true这样生成的界面会自动显示这些字段。我习惯把编码、名称、日期等基础字段都勾选上。调试时经常遇到VO生成失败的问题90%的原因是实体没有设置主属性访问器类型冲突比如子表设了AggVO类名重复检查类名称是否全局唯一建议在第一次生成VO前先右键实体组件选择验证模型。这个内置检查工具能发现大部分配置问题。验证通过后再生成代码能节省大量排查时间。5. 项目实战经验分享最近刚完成一个采购订单模块分享几个实用配置主子表关联在子表实体属性中包装类名要指向主表的AggVO全路径继承配置如果是审批流单据把是否继承类设为true并指定基类字段默认值在属性窗口的默认值栏用Groovy表达式比如new Date()表示当前日期有个坑要注意当修改已有元数据时记得先备份.entity文件。我有次误操作覆盖了文件幸好有Git历史版本。建议把版本号组件属性里的版本号每次修改都1这样团队协作时能避免冲突。