用友U8二次开发API之单据事件开发

  • API接口开发,不是OPENAPI.开发语言为C# 2022

列子:开发采购订单保存后事件,获取表头供应商名和订单编号

1.打开VS2022新建一个窗体应用

配置如下,点创建。

 

2.项目中添加一个类

写入代码如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using MSXML2;


namespace API1
{
    public class Test
    {
        public bool SaleSaveBefore(ref IXMLDOMDocument2 domhead,ref IXMLDOMDocument2 dombody,out string errmsg)
            {
             errmsg="";
            // 获取供应商名
            string cvenname = domhead.selectSingleNode("//z:row").attributes.getNamedItem("cvenname").nodeValue.ToString();
            //获取销售订单
            string cpoid = domhead.selectSingleNode("//z:row").attributes.getNamedItem("cpoid").nodeValue.ToString();
            MessageBox.Show("测试采购订单成功,供应商:" + cvenname + "采购单号" + cpoid);
     
        
                //这里直接赋值,U8会自动弹出信息
                //errmsg = "测试采购订单错误信息";
                //return false
            
            return true;
            }
        
    }
}

3.添加U8的引用MSXML2.dll,不然会报错

4.生成设置,3点

5.点菜单,重新生成解决方案。去输出文件夹bin中,把DLL拷贝到用友的U8SOFT\UAP\Runtime 文件夹下面

6.在有用友电脑上,注册一下该DLL,注意regasm命令可以添加到PATH路径下。

7.在有用友的电脑上,API管理器中添加事件关联

8.到此大功告成,打开用友,新建一个销售订单,保存后,测试正常。

 

posted @ 2025-05-18 01:37  壹贰叁肆伍陆  阅读(312)  评论(0)    收藏  举报