作者:admin 2021-10-09
一、外挂程序介绍
外挂程序作用:扩充ERP功能。满足企业的行业化、个性化需求。
外挂程序接口特点:
Ø 无需系统程序源码。外挂程序集成到ERP中,并且会把登录的用户ID传递给外挂程序;
Ø 多种编程语言支持。可用.NET平台任一编程语言,只需指定文件名、类名、方法名即可;
Ø 外挂程序分门别类。所有外挂程序放置目录固定,都在ERP根目录下的“外挂程序”子目录下,并且子目录与子系统一一对应,比如:“W1.采购系统”外挂程序的目录如下:
ERP根目录\外挂程序\W1\
外挂程序集成在币加德ERP的菜单栏中,如图1。
图1 外挂程序接口及系统集成位置
二、外挂程序实战
本节使用Visual Studio 2013(速成版、社区版、专业版、高级版、旗舰版都可以,前面2个版本是免费的)来开发外挂程序,如果你使用的是其他版本的Visual Studio,也可以参照学习,大同小异。本节先用完整详细的步骤介绍一个最简单的外挂程序的开发,通过此外挂的学习,可以完全掌握外挂的开发方法。然后用较简洁的步骤介绍如何开发报表外挂,这个案例很实用,企业的程序开发人员或ERP代理服务商经常需要从企业ERP中取数,开发分析报表或开发定制格式的打印单据。
2.1 一个简单的外挂程序
(1)编写外挂程序
①打开Visual Studio 2013,点【文件】/【新建】/【项目】,如图30-2。
图2 新建项目
②在“新建项目”窗口,选择【Visual C#】/【Windows 窗体应用程序】,名称为“W1”,如图30-3。
图3 选择Windows 窗体应用程序
③从“工具箱”中拖一个Label到窗体设计界面,如图30-4。
图4 拖一个标签到设计面板
④双击设计面板,打开代码编辑窗口,输入以下代码,如图30-5。
public string _userID = “”; //登录用户ID
public void ShowMe(string userID, string serverIP, string dbName, string saPassword, string curDir)//钩子方法
{
_userID = userID; //传递用户登录ID
label1.Text = “登录用户ID:” + _userID;//标签显示
base.Show();//显示窗体
}
图5 写程序代码
提醒:不管写什么类型的外挂程序,都需要上面的代码,相当于ERP与外挂程序之间约定的一种协议,目的在于把ERP系统当前的登录用户ID传递给外挂程序,并打开外挂程序的主窗体。除此之外,外挂程序与普通的Windows窗体程序没有任何区别。
外挂程序可以查询ERP的后台数据表,但千万别修改(删除)数据,这是一个基本的原则。否则出错后无法核查是ERP的问题,还是外挂程序的问题。
⑤鼠标右键项目名称,在上下文菜单中选【属性】,在打开的窗口中,“目标框架”选择“.NET Framework 2.0”(为了兼容老电脑),“输出类型”选“类库”(如果选“Windows应用程序”,用户可以越过权限设置,直接运行外挂程序),如图30-6。
图6 设置项目属性
⑥再次点【启动】,系统会报错(因上一步中改变了目标框架),修正错误,如图30-7。
图7 修改错误
⑦再次点【启动】,系统会弹出无法直接启动类库项目的错误,这正是所要的,如图30-8。
图8 弹出无法直接启动类库项目的错误
⑧打开外挂程序的输出目录(参见“图30-3 选择Windows 窗体应用程序”选定的位置),并把外挂程序复制到ERP的外挂程序目录,如图30-9。
图9 拷贝外挂程序至ERP外挂目录
(2)接口定义
①打开【系统设置】/【外挂程序接口】,选择子系统,配置外挂程序接口参数,测试是否可以正常打开外挂程序,最后点【保存并应用】,如图30-10。
外挂程序接口参数:
Ø 模块代码:外挂子系统代码 + 3位流水码。
Ø 模块名称:最简洁的文字介绍外挂程序。“模块代码、模板名称”会显示在ERP系统的外挂菜单中,参见“图30-1 外挂程序接口及系统集成位置”。
Ø 文件名称:不含路径,含扩展名。
Ø 类名称:类名称必须是“命名空间.类名”。
Ø 方法名称:方法名称必须是公有的,否则无法正常调用。
Ø 备注:较详尽的文字介绍外挂程序。
图10 外挂程序接口
提醒:外挂程序 + ERP数据字典 = 无限扩展 ERP 功能!
(无需“币加德ERP”源代码)
更多内容请参考: