大型ERP系統必不可少的通用性功能:自定義單據

4 評論 20013 瀏覽 131 收藏 12 分鐘

「自定義單據」功能相對比較獨立,應用場景也很廣泛,可以在ERP、電商平臺、內容管理、表單收集等多種類型的軟件系統中通用。本文重點介紹了「自定義單據」功能的設計,與大家分享!

B端企業客戶的管理模式大都極具個性化,尤其是報表和單據的格式最為復雜多樣。因此,大多數ERP軟件廠商都會選擇開發「自定義單據」和「自定義報表」服務程序,來應對客戶多變的業務需求。

一、為什么要做「自定義單據」功能

  • 從業務屬性上劃分,單據的種類有財務單據、物流單據等等;
  • 從業務功能上劃分,財務單據又包括報銷單、借款單、還款單等;
  • 報銷單根據報銷類型,又可以細化到差旅費報銷單、辦公費報銷單等;
  • 同樣地,差旅費報銷單又有市內交通費、外埠交通費之分;
  • 外埠交通費還可以細分到飛機票、火車票、汽車票……

總之,B端客戶的需求只有你想不到的,沒有業務方做不出來的。

這些分類與劃分代表一家企業對于自身業務的管理細度。以財務管理為例,有的企業只細化到報銷單,留給員工很靈活的費用報銷空間,這樣可以賦予下級單位自主性,快速響應突發事件。

有的企業可能會細分到費用類型,按照報銷人的級別控制可報銷的金額,這樣可以大幅減少管理費用的浪費。

但作為乙方的軟件企業,不可能為每一家客戶都單獨做一個定制版本,這樣不僅不利于后期維護升級,還容易造成自身版本管理的混亂。

因此,「自定義單據」與系統的公共數據管理和系統安全一樣,作為一項使用頻率較高的基礎管理模塊,需要納入產品升級規劃中。

二、「自定義單據」具體要實現什么

  • 實現用戶自定義單據界面:如單據頁面中內容的格式與顯示方式。
  • 實現對各類單據的操作功能,如增、刪、改、查、導出打印等。
  • 實現各業務部門之間的數據共享:如填寫報銷單時,實時反饋是否超出當期可用預算;在填寫還款單時,能夠選擇前置借款單;同時也包含對于信息的提?。ㄈ绨l票的OCR識別、掃碼識別;系統初始化時對歷史單據臺賬的批量導入)。
  • 實現根據員工權限限制功能操作和數據訪問:某些單據頁面、操作功能對沒有權限的用戶屏蔽,如倉管部門只能設計出庫單、入庫單,不能設計合同和物流單據。

三、「自定義單據」的業務流程

如圖所示:

(1)管理員

管理員或軟件實施人員根據企業需求,配置某項業務流程中所需的業務單據(如報銷單、借款單、還款單等),以及單據包含的信息(單據屬性、流程定義、入口定義、字段信息、功能鍵按鈕等);

(2)開發人員

  • 開發人員根據業務需求,在數據庫中定義存儲單據頁面數據字段的表結構;
  • 當管理員使用「自定義單據應用程序」對單據頁面進行增刪改查等操作時,實際上是對字段信息(頁面標識、文本框、單選框、附件上傳、功能鍵按鈕等)進行相應的操作。

(3)普通用戶

  • 系統應用程序和「自定義單據應用程序」會同時部署在同一臺服務器上;
  • 當普通用戶登錄系統后,系統會通過識別用戶角色和擁有權限來限制對單據頁面的操作和數據訪問;「自定義單據應用程序」也會實時監控用戶通過瀏覽器發送的請求;
  • 當服務器接收到用戶請求后,服務器會向數據庫轉達這一請求,從而讀取并將數據庫中相關單據及頁面信息實時反饋到瀏覽器(用戶終端);
  • 此外,系統應用程序還可以內置一系列有效性校驗規則,當用戶輸入信息與數據類型不符,或輸入信息不滿足預設條件時,能夠彈出錯誤提示幫助用戶改正。

四、「自定義單據」的功能框架與界面草圖

1. 權限管理和系統管理

  • 權限管理主要指:根據用戶權限對功能操作和數據訪問進行限制,常見的方式有隱藏菜單、隱藏按鈕、字段屏蔽等;
  • 系統管理主要指:對系統的日常維護。如數據的導入導出接口、日志更新、數據庫同步等;

以上兩部分一般都沿用系統原有設計,此處不再展開介紹。

2. 提示信息管理

  • 用戶在進行實際操作時可能會違反系統操作規范,也可能遇到系統本身出錯的情況,因此需要為用戶提供錯誤信息提示,以便幫助用戶更正操作;
  • 該部分設計工作因產品而異,大型ERP產品會以接口的形式,把錯誤信息提示的編輯功能放在前端,管理員可以自定義信息提示;小型ERP一般都是寫死在系統;
  • 不過是哪種情況,產品經理都需要把給予提示的內容整理出來,說明何種情況下需要提示,提示什么內容,給予何種引導(最好以表格的形式來整理,看起來比較清晰)。

3. 單據模板設計

單據模板設計是「自定義單據」功能最重要的部分,決定了用戶在前端會看到什么,如何操作。如下圖所示:

「單據模板設計」一共分為三部分,也可以說是由三個頁面(或彈窗)組成:

1)列表頁

首先是列表頁,通過該頁面,用戶可以查詢并看到已設計的單據模板;同時該頁面還為用戶提供了「新增」「編輯」「刪除」等操作按鈕。

需要注意:

  • 雖然提供刪除按鈕,但是已經生效過的單據模板是不可以刪除的,可以通過取消對所有用戶的授權來達到廢棄單據的目的;
  • 在編輯已生效單據時,只可以增加字段,不可以刪除字段;可通過字段維護頁面的“隱藏字段”來達到“刪除”的目的。

2)單據模板設計頁面

單據模板設計頁面可以直接放在菜單欄,也可以做成彈窗的樣式隱藏在「列表頁」之后。該頁面主要包含五個部分:

  1. 模板定義:模板屬性(單據名稱、單據類別、單據首位、頁面地址等);流程定義(單據的審批流程);入口定義(通過哪個菜單或按鈕可以訪問單據頁面)。
  2. 字段維護:即單據內包含的字段名稱(含控件類型、占位規格、校驗規則等);提供增、刪、改、排序等操作;點擊“編輯”,跳轉至字段維護的詳情頁。
  3. 組件維護:即包含多個字段的組件維護,提供“新增”“展開”等交互按鈕;例如一張報銷單可能包含多筆費用,而管理員并不知道每個報銷人會報幾筆,因此需要提供一個“新增”的按鈕,報銷人可以自行選擇新增幾筆費用(一筆費用由多個字段組成)。
  4. 字段查詢:一張單據可能包含很多字段,因此需要提供一個簡單的查詢功能。
  5. 單據預覽:可以放置在操作界面的右側,也可以提供“預覽”按鈕,方便用戶隨時查看自己設計的單據外觀。

3)字段/組件/功能按鈕維護頁面

該頁面包含的信息相對比較瑣碎,因為涉及到數據庫設計,非技術出身的產品可能搞不定。建議提前跟開發溝通設計思路,待數據庫設計初步完成后再進行具體的界面設計。

關于界面草圖中具體名詞的解釋,本文不再贅述。大概可以理解設計思路即可,具體情況要視業務需求而定。

字段維護

組件維護

功能按鈕維護

 

作者:產品路漫漫;微信公眾號:產品路漫漫

本文由 @產品路漫漫 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 您好,請問原型文件能分享一下嗎,有償。

    來自山東 回復
  2. 請問下:自定義表單,是一個表單對應一個數據庫表,還是所有的表單都是一個數據庫表?

    來自江蘇 回復
    1. 其實我沒太明白你定義的“數據庫表”是啥意思,是單張表,還是有父子關系的組表(實體表?)……跑題的話再接著討論哈~

      1、文章說的自定義表單,其實應該是“自定義表單模板”,一般只能由管理員來設置,所以應該有兩個概念“表單”和“表單模板”;

      2、如果把表單模板的設計看做“數據庫設計”,那么這張“表”應當由多張“子表”組成,比如定義單據類別的表、定義數據處理類別的表、定義功能按鈕的表、定義字段的表等等,這些“子表”共同組成一張大表,可以給它命名為“頁面表”;

      3、經過管理員編輯的“頁面表”及其“子表”,就是前端所說的“單據模板”;

      4、普通用戶在填單據時,選中一張“單據模板”填寫信息,數據庫會分別將該用戶填寫的信息記錄在“頁面表”和它下面的“子表”中(不是只記錄在單張表里)。

      5、最后就是為單據列表或查詢按鈕賦值,分別返回所需的數據。

      來自北京 回復
    2. 我就是在想,最后填寫完表單后數據是怎么存儲的。之前看過一個比較老的方案。每涉及一個自定義的表單,就會在數據庫中創建一張表來記錄別人提交的數據。但是我又感覺這種方案會不停在數據庫中建表,感覺不優雅。所以有此一問

      來自浙江 回復