U8库存单据插件开发:使用VoucherCO.Insert方法实例

需积分: 0 6 下载量 47 浏览量 更新于2024-08-03 收藏 45KB DOCX 举报
本文档主要介绍了如何在用友U8的库存模块进行二次开发,特别是通过USERPCO.VoucherCO.Insert方法来保存单据的过程。U8库存模块的二次开发通常涉及到COM组件的编写,以便与系统的核心功能进行集成。开发者需要掌握以下关键步骤: 1. **创建COM组件**:开发者需要编写一个名为ST_PlugInSample.clsInterface的COM组件,这个组件负责调用VoucherCO.Insert方法来执行单据的保存操作。这一步骤需要对U8 API有深入理解,并且能够有效地与组件交互。 2. **引入类库**:在VB工程中,需要引入U8SOFT\ufcomsql\USERPCO.dll类库,这是调用USERPCO.VoucherCO类所必需的。 3. **初始化USERPCO.VoucherCO**:通过IniLogin方法对VoucherCO进行初始化,确保系统连接和权限设置正确。 4. **构造调用参数**:保存单据的方法需要提供必要的参数,包括单据类型(如采购入或材料出,格式化为“01”或“11”),单据头DOM对象、单据体DOM对象(可能还有货位子表DOM对象),以及控制可用量等相关标志。 5. **事件接口和参数**:文档详细列出了IniLogin和保存事件的接口参数,包括错误处理机制,以及单据类型枚举的定义。 6. **应用案例示例**:以调拨申请单62为例,开发者需要创建一个ActiveXDll类型的VB工程,并引用相关的类库,如USCOMMON、USERPCO等。在此基础上,新增一个名为AddVoucher的方法,接收数据库连接对象作为输入。 **相关知识**: - 二次开发过程中,开发者需要熟悉U8的数据字典,了解各个字段的含义和结构,以便正确构建单据DOM对象。 - 对于V10.1、V11.0、V11.1和V12.0等不同版本的U8,可能存在的差异和兼容性问题也需要考虑。 - 事件驱动编程(Event-driven programming)的概念在这里也很重要,因为单据保存是基于特定事件触发的。 在整个过程中,开发者需要具备扎实的VB编程技能,对COM组件的理解,以及U8业务流程的深入理解,才能成功完成库存单据的保存功能。同时,良好的调试技巧和错误处理策略也是必不可少的。