外掛程序作用:擴充ERP功能。滿足企業的行業化、個性化需求。
外掛程序接口特點:
ERP根目錄\外掛程序\W1\
外掛程序集成在幣加德ERP的菜單欄中,如下圖。
圖:外掛程序接口及系統集成位置
本節使用Visual Studio 2013(速成版、社區版、專業版、高級版、旗艦版都可以,前面2個版本是免費的)來開發外掛程序,如果你使用的是其他版本的Visual Studio,也可以參照學習,大同小異。本節先用完整詳細的步驟介紹一個最簡單的外掛程序的開發,通過此外掛的學習,可以完全掌握外掛的開發方法。然后用較簡潔的步驟介紹如何開發報表外掛,這個案例很實用,企業的程序開發人員或ERP代理服務商經常需要從企業ERP中取數,開發分析報表或開發定制格式的打印單據。
①打開Visual Studio 2013,點【文件】/【新建】/【項目】,如下圖。
圖:新建項目
②在“新建項目”窗口,選擇【Visual C#】/【Windows 窗體應用程序】,名稱為“W1”,如下圖。
圖:選擇Windows 窗體應用程序
③從“工具箱”中拖一個Label到窗體設計界面,如下圖。
圖:拖一個標簽到設計面板
④雙擊設計面板,打開代碼編輯窗口,輸入以下代碼,如下圖。
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();//顯示窗體
}
圖:寫程序代碼
提醒:不管寫什么類型的外掛程序,都需要上面的代碼,相當于ERP與外掛程序之間約定的一種協議,目的在于把ERP系統當前的登錄用戶ID傳遞給外掛程序,并打開外掛程序的主窗體。除此之外,外掛程序與普通的Windows窗體程序沒有任何區別。
外掛程序可以查詢ERP的后臺數據表,但千萬別修改(刪除)數據,這是一個基本的原則。否則出錯后無法核查是ERP的問題,還是外掛程序的問題。
⑤鼠標右鍵項目名稱,在上下文菜單中選【屬性】,在打開的窗口中,“目標框架”選擇“.NET Framework 2.0”(為了兼容老電腦),“輸出類型”選“類庫”(如果選“Windows應用程序”,用戶可以越過權限設置,直接運行外掛程序),如下圖。
圖:設置項目屬性
⑥再次點【啟動】,系統會報錯(因上一步中改變了目標框架),修正錯誤,如下圖。
圖:修改錯誤
⑦再次點【啟動】,系統會彈出無法直接啟動類庫項目的錯誤,這正是所要的,如下圖。
圖:彈出無法直接啟動類庫項目的錯誤
⑧打開外掛程序的輸出目錄(參見“圖30-3 選擇Windows 窗體應用程序”選定的位置),并把外掛程序復制到ERP的外掛程序目錄,如下圖。
圖:拷貝外掛程序至ERP外掛目錄
①打開【系統設置】/【外掛程序接口】,選擇子系統,配置外掛程序接口參數,測試是否可以正常打開外掛程序,最后點【保存并應用】,如下圖。
外掛程序接口參數:
圖:外掛程序接口
提醒:外掛程序?+ ERP數據字典?=?無限擴展?ERP?功能!
(無需“幣加德ERP系統”源代碼)
]]>圖:SQL命令行工具
圖:根據模板生成SQL語句
圖:拖拽表名稱節點生成SQL語句片段
提醒:SQL命令行工具會直接操作后臺數據庫表,如果誤操作會導致數據丟失,最好先在測試賬套測試好之后再應用到正式賬套上,以免誤操作損壞實際業務數據。
數據庫主要包括增、刪、改、查等基本操作,以下為設計到的常用的sql語句:
一、查
1.select 語法查詢
SELECT?column_name,column_name?FROM?table_name
其中column_name為數據庫表列名字段,table_name為表名稱
如:select * from people 表示查詢people表內所有列,返回所有記錄,*表示所有列
如:select? name,age from people 表示查詢people表內名稱為name和age的列
2.select distinct 語法,查詢非重復項
SELECT DISTINCT?column_name,column_name?FROM?table_name
添加?DISTINCT 關鍵字會對查詢結果進行去重,返回唯一的值,注意:查詢多個列時,只有多個列的值全都相同,才認為是相同的結果,否則不會去重
3.where 語法
SELECT column_name,column_name FROM table_name WHERE column_name operator value
如:select * from people where name=’小明’ 表示查詢people表內,名為“小明”的記錄
4.and 和 or 運算符
and 和 or 運算符連接多個查詢條件,配合where語法使用
如:select * from people where age>20 and country=’CN’ 表示查詢ipeople 表內age字段值大于20并且country 字段為“CN”的記錄
二、增
1.insert into 語句
INSERT INTO table_name VALUES (value1,value2,value3,…),此語法需要把所有列的值寫全,否則不成功
INSERT INTO table_name (column1,column2,column3,…) VALUES (value1,value2,value3,…)
如:insert into people (name,age) values (‘張三’,30),表示向people表內插入一條記錄,name為“張三”,age為30
三、改
1.update 語句
UPDATE table_name SET column1=value1,column2=value2, … WHERE some_column=some_value
如:update people set name=’李四’,age=’31’ where name=’張三’,表示將people表內name等于“張三”的記錄,name改為“李四”,age改為31
四、刪
1.delete 語句
DELETE FROM table_name WHERE some_column=some_value
如:delete from people where name=’張三’,表示刪除people表內name為“張三”的記錄
以上為最簡單的sql語法!
]]>