客户资料
# 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
。保存菜单设置。
