客戶資料
# FastERP 進銷存模板開發 客戶資料
客戶分類模組位於功能表欄中的 [基礎資料]-[客戶資料]
。使用的模組型別為列表窗體,關於列表的建立模式請參考 列表。
# 1. 數據表結構
客戶資料使用的數據表名稱為 Basic_Cust
。建立的SQL如下:
CREATE TABLE [dbo].[Basic_Cust](
[FInterID] [int] NOT NULL,
[FCustCode] [nvarchar](100) NULL,
[FCustName] [nvarchar](200) NULL,
[FShortName] [nvarchar](100) NULL,
[FForeignName] [nvarchar](100) NULL,
[FGroupID] [int] NULL,
[FCorporation] [nvarchar](100) NULL,
[FAddress] [nvarchar](200) NULL,
[FEMail] [nvarchar](200) NULL,
[FPhone1] [nvarchar](20) NULL,
[FPhone2] [nvarchar](20) NULL,
[FTel] [nvarchar](50) NULL,
[FZipCode] [nvarchar](10) NULL,
[FDeptID] [nvarchar](36) NULL,
[FDeptCode] [nvarchar](10) NULL,
[FDeptName] [nvarchar](50) NULL,
[FEmpID] [int] NULL,
[FEmpCode] [nvarchar](10) NULL,
[FEmpName] [nvarchar](10) NULL,
[FHouseBank] [nvarchar](100) NULL,
[FHouseBnkAct] [nvarchar](100) NULL,
[FContacts] [nvarchar](100) NULL,
[FfrozenFor] [bit] NULL,
[FFax] [nvarchar](100) NULL,
[FNote] [nvarchar](400) NULL,
[FCreateDate] [datetime] NULL,
[FCreater] [nvarchar](100) NULL,
[FCheckDate] [datetime] NULL,
[FChecker] [nvarchar](100) NULL,
[FLstModDate] [datetime] NULL,
[FSaleType] [nvarchar](50) NULL,
[FInvoiceType] [nvarchar](50) NULL,
[FPayItemID] [int] NULL,
[FPayItemName] [nvarchar](50) NULL,
[FSettleID] [int] NULL,
[FSettleName] [nvarchar](50) NULL,
[FInvoiceCustID] [int] NULL,
[FInvoiceCustCode] [nvarchar](50) NULL,
[FInvoiceCustName] [nvarchar](100) NULL,
[FCurrencyID] [int] NULL,
[FCurrencyCode] [nvarchar](8) NULL,
[FCurrencyName] [nvarchar](8) NULL,
[FExchangeRate] [decimal](19, 8) NULL,
[FDistrict] [nvarchar](100) NULL,
[FCustomertype] [nvarchar](10) NULL,
[FCreditLine] [decimal](19, 8) NULL,
[FCreditLineDay] [int] NULL,
[FCustLogo] [image] NULL,
[FStatus] [int] NULL,
[FTaxCode] [varchar](50) NULL,
CONSTRAINT [PK_Basic_Cust] PRIMARY KEY CLUSTERED
(
[FInterID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
# 2. 模組設計
登陸FastERP,打開[主頁]
->[平臺設計]
->[系統設計]
->[模組設計]
。在模組設計列表左側中找到 進銷存-基礎資料-客戶資料
,單擊選擇,點選功能表欄中的 [編輯]
按鈕。打開 模組設計
界面。
在模組設計界面中,基本資訊處設定下文模板為客戶資料編輯界面CustEdit
,需要使用下文模式的數據集序號為1。將關聯上下文
與打開數據
勾選,下方需勾選 允許導出表格
與 允許定製表格
。
# 2.1. 客戶分組模組設定
窗體設計界面中需設計兩個數據集,分別用於展示客戶的分組資訊與客戶列表資訊。上圖展示的是客戶分類的數據集設定資訊。注意主控制元件需設定為 dbTree
。
select A.*,a.FGroupName + '('+a.FGroupCode+')' as FCaption
from Basic_CustGroup A
Order By A.FGroupCode
2
3
切換至 欄位資訊
選項卡,首先需點選 [載入欄位]
,點選完成後,系統根據填寫的SQL語句資訊構造建立數據集的表結構資訊並顯示在欄位資訊列表中。主要需要修改 欄位標籤
,將其改為中文名稱,這樣在後續的界面設計中可顯示標題名稱。
接下去為需要顯示在界面中的欄位設定控制元件型別,取消所有欄位預設的控制元件型別選擇,按照上圖顯示的內容設定各項的控制元件選項。
# 2.2. 客戶資料模組設定
在左側的數據集列表中空白處使用滑鼠單擊,按下↓方向按鍵新增一行,在右側按照圖中顯示的內容進行填寫。其中需要注意的是主數據集、關聯欄位與排序欄位的設定。這三個欄位是作為分組過濾排序欄位使用的,其中 主數據集
是指向排序的主數據集序號。關聯欄位
是指向主數據集分組依據的欄位名稱。排序欄位
中填寫的兩個欄位使用分號分隔,第一個欄位為第二個欄位分組依據的ID(外來鍵),第二個欄位為分組後排序的依據欄位。
select A.*
from Basic_Cust A
Order By A.FCustCode
2
3
條件程式碼部分需等查詢條件建立完成後再進行補充。
接下去為需要顯示在界面中的欄位設定控制元件型別,可設定預設使用的型別,右側的 可見
選項用於勾選要顯示于表格中的欄位。分別選擇 FCustCode
與 FCustName
,依次點選 [新增到查詢條件]
,將兩個欄位加入至查詢條件列表中。
點選 [查詢條件]
選項,列表中顯示已新增的查詢條件資訊。將客戶名稱的控制元件型別修改爲 dbLookUp
,控制元件模式修改爲 EditList
。條件欄位修改爲 isnull(FShortName,'') + isnull(FCustName,'')
,參照型別設定為 參照
,參照內容設定為 LKUP_CUST
。比較符預設值兩個欄位均設定為LIKE
。設定鎖定比較符,快捷條件與速查。
以上資訊設定完成後,點選 [儲存]
按鈕儲存設定。有必要時可關閉並重新打開編輯界面,在第二個數據集數據集資訊中設定快捷查詢的條件程式碼。設定完成後重新點選 [儲存]
按鈕儲存。
# 3. 設計佈局
點選模組設計功能表欄中的 設計佈局-列表窗體
,在FastERP的主視窗中會顯示一個新建立的標籤頁,點選功能表欄中的 設計-設計佈局
,會打開自定義視窗,其中會顯示可使用的元件,首先在自定義視窗中 可用專案
處使用滑鼠右鍵點選,建立一個分組,命名為 客戶分類
,拖動置於標籤頁面中,將 客戶分類
元件拖動置入標籤頁的 客戶分類
分組框中,將快捷查詢:客戶資訊
與客戶資訊
拖入至標籤頁面,拖入后,選擇拖入的元件,通過滑鼠右鍵來調整對齊方式,取消 標題
的勾選。
在功能表欄中使用滑鼠右鍵,點選選擇自定義
選項,在打開界面時,將功能表按鈕中多餘的按鈕([上頁]
、[下頁]
、[首頁]
、[末頁]
等)通過滑鼠點選拖動的方式置入自定義視窗中實現移除的效果。
最終設定完成的界面如下。
設定完成後,點選功能表欄中的 [設計]-[儲存佈局]
,在彈出的確認儲存佈局視窗中選擇 [確認]
按鈕,等待儲存完成時彈出 儲存成功
的提示,至此完成佈局的儲存。
# 4. 設計指令碼
點選模組中的 [設計]-[指令碼設計]
,在元件欄位中選擇 功能表按鈕 - [顯示全部記錄]
,下方的事件中雙擊 OnClick
事件,右側的指令碼編輯區域將自動產生關聯的程式碼。
在 tbAllRecordsOnClick
事件中,填寫的指令碼如下:
procedure TMyHandler.tbAllRecordsOnClick(Sender: TObject);
begin
FThis.dts1.MasterSource := nil;
FThis.CurrID := '';
end;
2
3
4
5
填寫完成後,點選 [測試]
按鈕,提示資訊中出現測試通過
按鈕時,表示程式碼無語法錯誤,此時可點選 [儲存]
按鈕儲存模組。
# 5. 設計功能表
關閉模組設計視窗,點選功能表欄中的 [平臺設計]-[功能表設計]
,打開功能表設計界面。示例中的功能表建立于基礎資料-客商資料-客戶資料
中,選擇這個功能表項,注意功能表項的設定中模組型別需設定為 打開列表窗體
,模組編碼選擇建立的模組編碼CustList
。儲存功能表設定。