ERP系統軟件對于管理人員來說很大的一個優點就是數據信息透明,依托于ERP系統中的數據,管理人員能夠較輕松地制訂具體計劃方案,保證人員及其物資供應即時供應,保證每一個階段的物料、人與機器產能的平穩,保證各類指標可控性可見,ERP系統軟件還能合理有效解決庫存壓力、資金占用壓力等,減少企業相關成本,讓每一個企業輕裝上陣。
市面上很多ERP系統安裝繁瑣,需要由專業的ERP實施顧問來完成,但幣加德ERP系統軟件的安裝和普通的應用軟件安裝差別不大,很容易安裝。同時,考慮到制造型企業的員工有的計算機水平較差,為了使他們能夠輕松使用,幣加德ERP在系統軟件的設計上充分考慮,能夠一套軟件對企業全部生產制造難題開展管理,全部管理數據信息合理有效統計,全部運用綜合公布,保證一個軟件使全公司每一個員工在工作中每一個階段保持深層聯動,處理企業在生產管理上的割裂難題。
ERP系統軟件實施后能立即處理公司部分顯性難題,全體員工能在短期內內見到成效,隨著系統基本建設和實施的完善,公司部分多方面隱性難題也能得到很好的處理。一套ERP軟件系統實施成本較低,從資金和人員層面,不會為企業增多太多負擔,而隨著軟件使用,員工可以不斷的發掘更多個性化要求和更友好的界面需求,從而從本質上保持籍由一個軟件,保持公司的管理的升級和完全轉變。
雖然ERP系統軟件看起來功能強大且全面,可是滿足個性化的要求ERP系統軟件才可以為不同的企業給予需要的功用,因而,對于不同要求開展定制研發,是ERP系統軟件的基本要求,現役ERP系統軟件通常系統配置靈巧,管理人員可據實際情況自定義ERP系統功能,幣加德ERP系統軟件采用模塊化,適用再次開發,因而,即使系統給予的功用不能滿足平時使用要求,特定功用也能通過軟件定制來解決,不會像很多知名ERP系統廠家,純粹賣一套現成的軟件。
erp系統軟件的功效便是要標準業務流程,依照設置的業務流程標準監管流程,記錄、計算、集成化流程上的信息。業務流程是由企業運營模式決策的,不一樣的企業運營模式不一樣,流程也會不一樣。流程不一樣,需要的作用也不一樣。在了解企業業務流程的全過程中,剖析業務流程,而且找到什么業務流程是有效的升值流程,什么是不科學的失效的流程。
信息集成化并并不是簡易地把全部業務流程的數據信息列入到一個數據庫查詢就可以完成,還務必有有關系模型來定義數組中間的關聯,這一關系模型便是以時間為座標的產品構造樹。產品構造樹包括了原材料“量”和“期”的信息,它是加工制造業信息化管理方法的必需實體模型。加工制造業企業實施erp新項目,開始便是要為每一個商品創建那樣的實體模型。
每個ERP系統軟件都有其關鍵,系統軟件定制化的優勢:一是在商業服務市場競爭激烈的數字時代,定制化的軟件更能合乎自身企業的管理方法關鍵點,且更具有思想性、規范性、目的性和理論性,使企業發展趨勢的方位更恰當。二是定制化的軟件,數據信息的易用性能夠獲得能夠更好地適用,企業能獲得更精確、更真正的數據信息。
總的來說,便是企業erp實施前,必須提早掌握一些層面的知識,在企業erp實施全過程中,要確立企業的領域特性及在全產業鏈上的部位,僅有確立了企業準確定位,才可以在挑選erp商品時,挑選合適企業的商品。終究不一樣領域、不一樣種類的企業客戶對信息化的要求不一樣,其管理方法特性也不盡相同,許多通用性的ERP系統管理軟件通常并不可以與企業的具體要求徹底非常好地配對。
幣加德ERP系統軟件非常靈巧,而且能夠自主再次開發。一個軟件能保證數據信息透明,讓管理人員節省寶貴的時間和人力成本,在短期內實施使用就能見效,且軟件回報周期極短。從這些方面可以看出,ERP系統可能是一個時代發展趨勢的時尚潮流,我們堅信隨著ERP系統軟件的發展趨勢和運用,愈來愈多的企業可能借助ERP系統來提示自己的管理。
蘇州市幣加德軟件研發有限公司是一家erp軟件開發公司,我們專注提供ERP系統管理軟件、進銷存、生產管理軟件、財務軟件、crm系統、HR軟件、銷售訂貨平臺等軟件系統定制開發部署及服務,我們專業從事erp,erp系統,erp軟件,ERP管理軟件,進銷存軟件等企業erp管理系統研發及售后服務,在ERP系統領域,我們根據各客戶行業特點開發出不同行業的ERP解決方案。如模具ERP、機械ERP、機加工ERP、玩具ERP、注塑ERP、鐘表ERP、電子ERP、紡織ERP、家具ERP、化妝品ERP、金屬ERP、化工ERP、合成革ERP、電線電纜ERP、五金制品ERP等。我們不僅僅是賣給客戶ERP軟件、更是根據客戶企業具體情況制定具體流程,適應企業需要的信息化方案,助力企業的信息化管理,提升效率,提升競爭力。
]]>圖:復雜報表外掛最終效果
此復雜報表外掛具有如下特點:
按前面“自定義報表/SQL命令行工具”介紹的方法,準備查詢SQL語句,如下圖。
圖:使用SQL命令行工具準備SQL查詢語句
按上一節介紹的方法建立項目W2,在W2上右鍵鼠標,在彈出菜單中選【添加】/【新建項】,如下圖。
圖:添加數據集(默認名稱不要更改)
在打開的DataSet1.xsd面板中,右鍵鼠標,如下圖。
圖:添加TableAdapter
在彈出的“添加連接”窗口,錄入數據庫服務器相關信息,如下圖。
圖:連接數據庫
根據TableAdapter配置向導進行配置,如下圖。
圖:不要在連接字符串中包含敏感數據
圖:默認下一步
圖:默認下一步
粘貼準備好的查詢SQL語句,點【完成】,如下圖。
圖:粘貼準備好的查詢SQL語句
執行查詢SQL語句所得的數據表字段,如下圖。
圖:查詢所得的數據表字段
在W2上右鍵鼠標,在彈出菜單中選【添加】/【新建項】,如下圖。
圖:添加報表文件(默認名稱不要更改)
在打開的報表文件界面,右鍵“數據集”,選擇剛剛配置的數據集,如下圖。
圖:選擇數據集
在報表設計界面,右鍵鼠標,可以插入文本框等等,也可以把左側的數據集下面的字段拖放到報表設計界面,如下圖。
圖:報表設計
報表設計是最繁瑣最費時間的事情,最終設計結果,如下圖。
圖:報表設計結果
打開Form1窗體,從工具箱拖放一個ReportViewer報表查看器到窗體,如下圖。
圖:把報表查看器添加到窗體
雙擊Form1窗體,如圖30-26,清空窗體中所有的代碼,并把下面的代碼復制粘貼進去。
圖:Form1代碼窗口
using?Microsoft.Reporting.WinForms;
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Data.SqlClient;
using?System.Drawing;
using?System.Linq;
using?System.Text;
using?System.Threading.Tasks;
using?System.Windows.Forms;
namespace?W2
{
public?partial?class?Form1?:?Form
{
public?string?_userID =?“”; ?????????????//登錄用戶ID
public?string?_serverIP =?@”.\_MSSQL2005″;?//服務器IP(如果是SQL企業版,則為“.”)
public?string?_dbName =?“bdERP”; ?????????????????????//數據庫名稱
public?string?_saPassword =?“17312319729@bijiade.cn”;?//sa密碼
public?string?_curDir =?@”..\..\”; ???????????????????//當前目錄
public?Form1(){?InitializeComponent();?}
public?void?ShowMe(string?userID,?string?serverIP,?string?dbName,?string?saPassword,?string?curDir)//鉤子方法
{
_userID = userID; ??????????//傳遞用戶登錄ID
_serverIP = serverIP; ??????//服務器IP
_dbName = dbName; ??????????//數據庫名稱
_saPassword = saPassword; ??//sa密碼
_curDir = curDir; ??????????//當前目錄
MessageBox.Show(“用戶ID:”?+ _userID +?“\n數據庫服務器IP:”?+ _serverIP +?“\n數據庫名稱:”?+ _dbName +?“\nsa密碼:”?+ _saPassword +?“\n當前目錄:”?+ _curDir,?“提示”);
base.Show();//顯示窗體
}
private?void?Form1_Load(object?sender,?EventArgs?e)
{
//1.SQL查詢語句
string?sql =?@”
SELECT
a.c010 單號, a.c020 日期, a.c200 銷售類型, a.c210 客戶單號,
a.c030 客戶代碼, c.c020 客戶名稱,
a.c090 聯系人, a.c091 聯系電話,
a.c070 交貨方式, a.c080 交貨地點, ?a.c100 備注, a.c110 業務員,
b.c020 項次, b.c029 客戶料號, b.c030 貨品代碼,
b.c050 品名規格, b.c060 單位, b.c069 含稅, b.c070 單價, b.c071 含稅單價,
b.c080 數量, b.c090 金額, b.c100 稅率, b.c101 稅額, b.c110 價稅合計,
b.c150 摘要
FROM SAL020 a
LEFT JOIN SAL021 b ON b.c010=a.c010
LEFT JOIN BAS010 c ON c.c010=a.c030
WHERE 1=1 AND a.c061<>’Y’
AND a.c010=’XCK-21060001′
“;
//2.報表文件名(如果報表文件與外掛程序在同一目錄,直接寫報表名稱即可)
string?reportName = _curDir +?@”Report1.rdlc”;
//3.綁定
Bind(sql, reportName);
}
///?<summary>
///?工具方法,執行SQL查詢獲取數據,并綁定到指定報表。
///?</summary>
///?<param name=”sql”>SQL查詢語句</param>
///?<param name=”reportName”>報表文件名</param>
private?void?Bind(string?sql,?string?reportName)
{
DataTable?data =?new?DataTable(); ??????????????????????????//數據
try
{
//執行SQL查詢獲取數據
string?connStr =?“Data Source=”?+ _serverIP +?@”;Initial Catalog=”?+ _dbName +?“;Persist Security Info=True;”?+
“User ID=sa;Password=”?+ _saPassword;
using?(SqlConnection?conn =?new?SqlConnection())
{
conn.ConnectionString = connStr;
conn.Open(); ?????????????????????//打開數據庫連接
SqlDataAdapter?adapt =?new?SqlDataAdapter(sql, conn);//實例化適配器
adapt.Fill(data); ???????????????????????????????????//獲取數據
conn.Close(); ??????????????????????????????????????//關閉數據庫連接
}
//綁定到指定報表
ReportDataSource?rds =?new?ReportDataSource();
rds.Name =?“DataSet1”; ?????????????????//要與數據集屬性數據集名稱要一致
rds.Value = data;
this.reportViewer1.LocalReport.DataSources.Clear();
this.reportViewer1.LocalReport.DataSources.Add(rds);
this.reportViewer1.LocalReport.ReportPath = reportName; ?//報表文件名
this.reportViewer1.RefreshReport();
}
catch?(Exception?ex) {?MessageBox.Show(“出錯了:\n”?+ ex.Message,?“提示”,?MessageBoxButtons.OK,?MessageBoxIcon.Error); }
}
}
}
以上代碼已經在注釋中進行了講解,看不懂也沒有關系,只要依葫蘆畫瓢,要改2個地方(上面代碼已說明):其一是SQL查詢語句;其二是報表文件名稱(注意路徑)。如下圖。
圖:代碼關鍵點(SQL查詢語句、報表文件名)
鼠標右鍵W2,在彈出菜單中選【屬性】,目標框架選.NET 3.5,如下圖。
圖:選.NET Framework 3.5
提醒:這里輸出類型保持默認,為了便于測試。測試正常后,可以改為“類庫”。
拷貝外掛程序到ERP的外掛目錄下,并確認運行正常,如下圖。
圖:拷貝外掛程序到ERP的外掛目錄下
打開【系統設置】/【外掛程序接口】,選擇子系統,配置外掛程序接口參數,測試是否可以正常打開外掛程序,最后點【保存并應用】,如下圖。
圖:外掛程序接口
①報表外掛的意義。幣加德ERP系統的單據打印都是基于Excel的(參見“第23章 單據打印格式設計”),一般情況下無需開發.rdlc報表,除非現有報表滿足不了業務需求。這里以開發.rdlc報表為例,不僅僅為了說明報表開發本身,而且可以學習到如何集成ERP中的用戶ID、賬套數據庫等,無需另外配置數據庫連接和建立賬戶體系。
②幣加德ERP外掛接口規范。會傳遞如下這些參數給外掛程序,外掛程序可以不使用,或者部分使用,但是不能缺少這些參數,順序也不能改變。
///?<summary>
///?鉤子方法。
///?</summary>
///?<param name=”userID”>用戶登錄ID</param>
///?<param name=”serverIP”>服務器IP</param>
///?<param name=”dbName”>數據庫名稱</param>
///?<param name=”saPassword”>sa密碼</param>
///?<param name=”curDir”>當前目錄</param>
public?void?ShowMe(string?userID,?string?serverIP,?string?dbName,?string?saPassword,?string?curDir)//鉤子方法
{
_userID = userID; ??????????//傳遞用戶登錄ID
label1.Text =?“登錄用戶ID:”?+ _userID;//標簽顯示
base.Show();//顯示窗體
}
③使用Visual Studio 2013開發.rdlc報表的關鍵是準備SQL查詢語句、報表設計(最費時間)。報表設計有如下特點(注意點),如下圖。
1)拖放設計。數據字段按照SQL查詢語句的順序列示,直接拖放進行報表設計,簡單直觀。
2)設計時可以調整紙張大小。報表默認大小是A4縱向(可以更改),寬度不能超過“紙張寬度+邊距”,否則打印預覽時多出了很多空白頁(如果拉窄了寬度后,打印預覽時還是有空白頁,則需要把“報表”的“ConsumeContainerWhitesapce”屬性值改為True,此屬性意思“指使在容器中的內容增長時,是占用還是保留容器中的最小空白。只要內容右側和下方的空白受到影響。”)。縱向不用留空間,在打印時根據數據行數自動拉高。
3)數據表是一個整體。當在設計時插入表格,表格是一個整體,但是列頭在多頁時重復顯示功能時不時卡殼(tablix“Tablix2”具有無效的?TablixMember。TablixColumnHierarchy?中所有?TablixMember?元素的?RepeatOnNewPage?屬性必須設置為?false。),所以建議把標題欄刪除,手工增加文本框代替,放在頁眉處,這樣每頁都會顯示。
4)數據區可多級分組。報表的核心在于數據區,可以分組匯總等。
5)頁眉/頁腳。頁腳可以插入頁碼,加上印章(透明處理參見第23章)等。
提醒:如果報表外掛程序在集成到ERP前運行得好好的,集成后出錯,最大的可能性有2種:其一如果提示“此程序集的運行時比當前加載的運行時新,無法加載此程序集”,則是因為選錯了.NET版本(參見“圖30-28?選.NET Framework 3.5”);其二如果報表無法顯示,則是因為報表路徑錯了,或者報表文件Report1.rdlc沒有和外掛程序一起復制到ERP的外掛程序目錄中。
圖:報表設計特點(注意點)
圖:把“報表”的“ConsumeContainerWhitesapce”屬性值改為True
]]>
自定義報表特點:只需寫好?SQL?語句,并在“SQL?命令行工具”里面執行正常,
再通過配置查詢條件即可。
自定義報表集成在幣加德ERP的菜單欄中,如下圖。
圖:自定義報表步驟及系統集成位置
①準備SQL語句。按照上一小節介紹的方法準備SQL語句,如下圖。
圖:準備SQL語句
②報表設計。打開【系統設置】/【自定義報表設計】,如下圖。
圖:自定義報表
點【新增】,按如下圖所示的步驟進行操作。上面“報表代碼/報表名稱”會顯示在ERP導航菜單的“自定義報表”的子菜單中;中間的SQL語句是核心,表示要查詢的內容;下面“指定查詢字段”部分,操作類似于前面章節所講的自定義字段,用來指定查詢條件,這部分指定的查詢字段必須存在于中間的SQL語句中,且“字段名”與SQL中的查詢字段名要匹配,否則查詢會出錯。
自定義報表的SQL語句,最常用的就是從多個表取數,比如要分析客戶的銷貨情況,則需要從客戶表、銷售訂單表、銷售訂單身表、銷售出庫單表、銷售出庫單身表等取數,把這些表按照主鍵、外鍵的關系連接起來進行查詢,連接查詢的基礎知識在前面“自定義字段”部分已經講解過。
圖:自定義報表設計(修改界面,新增類似)
③報表顯示。在上圖中點【保存并預覽】,將打開剛剛設計的報表,并把它集成到系統導航菜單中(參見“圖:自定義報表步驟及系統集成位置”)。
自定義報表的查詢條件分為2個部分:
基礎查詢條件:顯示在自定義報表的表格上方,只支持等值查詢,通常把最常用的查詢條件放在這里。
高級查詢條件:當點【查詢】時打開“高級查詢條件”窗口,除了支持等值查詢外,還支持其他查詢操作符,比如:大于、大于等于、小于、小于等于、不等于、相似于。
當點“高級查詢條件”窗口的【確定】時關閉該條件窗口,執行查詢,此時的查詢條件是“基礎查詢條件”和“高級查詢條件”的疊加。當再次點【查詢】時,系統會保留上次的查詢條件,方便在此基礎上進行更改,以再行查詢。
圖:報表顯示
提醒:自定義報表和ERP內置的報表類似,可以導出Excel,也可以打印,如下圖。整個過程只需要寫好SQL語句,外加簡單配置即可,無需寫程序代碼!!!
圖:打印預覽
]]>自定義表單特點:無需編寫程序代碼,通過配置實現“增刪改查”。
自定義表單集成在幣加德ERP的菜單欄中,如下圖。
圖:自定義表單步驟及系統集成位置
(1)簡單表單(對應于數據庫后臺1個表)。簡單表單用于收集清單數據,收集完的數據,可以在系統內置表單的自定義字段中引用,最終效果如下圖。
圖:簡單表單
①建表。打開【系統設置】/【數據字典】,按下圖進行操作(注意主鍵)。數據表命名規則:3字母(表示子系統) + 3數字(流水),例如:ACC030。數據字段命名規則:小寫字母 c + 3數字,例如:c010、c020、……。最后點【文件】/【保存】。
圖:建表
②表單設計。打開【系統設置】/【自定義表單】,如下圖。
圖:自定義表單
點【新增】,表單代碼的命名規則:BD+3位數字,比如 BD010。如下圖進行操作。
圖:表單設計(修改界面,新增類似)
③表單顯示。在上圖中點【保存并預覽】,可以打開“圖:簡單表單”一樣的界面,并把自定義表單集成到了系統中(參見“圖:自定義表單步驟及系統集成位置”)。
提醒:根據自定義表單設計時的規則,自動組裝生成表單,和?ERP?基礎數據部分的界面類似。無需寫程序代碼!!!
(2)復雜表單(對應于數據庫后臺2個表)。復雜表單類似于系統內置單據,比如銷售訂單,通過復雜表單收集的數據,也可以在系統內置表單的自定義字段中引用,如下圖。
圖:復雜表單
①建表。打開【系統設置】/【數據字典】,復雜表單對應于后臺數據庫的2個表(1個單頭,1個單身),按下圖進行操作(注意主鍵)。數據表命名規則:3字母(表示子系統) + 3數字(流水),例如:ACC030。數據字段命名規則:小寫字母 c + 3數字,例如:c010、c020、……。最后點【文件】/【保存】。
圖:建表
②表單設計。打開【系統設置】/【自定義表單】,如下圖。
圖:自定義表單
點【新增】,表單代碼的命名規則:BD+3位數字,比如 BD020。如下圖進行操作。
圖:表單設計(修改界面,新增類似)
③表單顯示。在上圖中點【保存并預覽】,可以打開“圖:復雜表單”一樣的界面,并把自定義表單集成到了系統中(參見“圖:自定義表單步驟及系統集成位置”)。
提醒:根據自定義表單設計時的規則,自動組裝生成表單,和?ERP單據部分的界面類似。無需寫程序代碼!!!
]]>