为差旅审批应用构建数据模型

通过为组织构建差旅审批应用,掌握 Salesforce 数据建模的核心流程:创建 Department、Travel Approval、Expense Item 自定义对象,定义查找与主从关系,配置选项卡与页面,并导入数据端到端测试应用。...

📅 2026/10/1 ✍️ ponybai 🏷️ salesforce, admin, data-modeling, headless

学习目标

slide_2

在本项目中,你将:

  • 构建 Lightning 应用、添加选项卡并自定义页面布局。
  • 为应用创建自定义对象和字段。
  • 定义对象之间的关系。
  • 导入数据并测试应用。

项目背景

slide_3

你的组织决定实施一个自定义的差旅审批应用。此前,差旅审批流程一直依赖邮件发送电子表格,既没有中央存储库,也无法强制执行流程,导致无法对全组织的差旅审批活动进行报表分析。你需要创建一个满足以下需求的应用:

  • 每位员工必须在系统中提交未来差旅的电子申请。
  • 每份申请包含机票、酒店、租车等预估费用的清单。
  • 每份申请必须由员工经理审批,所有州外出差必须由差旅协调员审批。
  • 经理需要报表和仪表板来跟踪关键差旅申请趋势和 KPI。
  • 员工和经理必须能通过移动设备访问差旅申请、审批和仪表板。

按照本项目的步骤,你将创建一个可用的差旅审批应用原型。首先创建一个差旅审批应用,它为你接下来创建的相关差旅对象提供视图。记住:Salesforce 应用是一组选项卡的集合,让你能够访问对应对象的数据。

准备实验文件

slide_4

下载并解压 Workshop Lab Files(后续步骤会用到):2022-12-22-TravelAppWorkshopFiles.zip。

下载后解压文件,以便在后续步骤中访问其中的各个文件(如 travel.png、Departments.csv 等)。

创建 Trailhead Playground 与 Travel App

slide_5

本项目需要一个全新的 Trailhead Playground。滚动到页面底部,点击 playground 名称,再点击 Create Playground,通常需要 3–4 分钟才能创建完成。

注意:必须是全新的 Trailhead Playground!使用现有 org 或 playground 可能会导致挑战无法完成。点击页面底部的 Launch 打开新 Playground(会在新标签页打开,请保持该窗口打开)。

接下来创建 Travel App 应用:

  1. 在 Trailhead Playground 中点击 Setup 图标,选择 Setup。
  2. 在 Quick Find 中搜索并选择 App Manager。
  3. 点击 New Lightning App。

在 App Details & Branding 窗口填写:App Name=Travel App;Image 点击 Upload 选择上面下载的 travel.png。点击 Next。

  1. App Options 屏幕选择 Standard navigation,Next。
  2. Utility Items 屏幕点击 Next。
  3. Navigation Items 屏幕从 Available Items 中选择 Chatter、Reports、Dashboards,用箭头移到 Selected Items,Next。
  1. User Profiles 屏幕选择 System Administrator 加到 Selected Profiles,点击 Save & Finish。

现在通过 App Launcher 打开新 Travel App,看看它的样子。

点击 App Launcher 图标,搜索并选择 Travel App。此时窗口应有三个选项卡:Chatter、Reports 和 Dashboards。应用建好后,接下来创建数据模型——Department、Travel Approval 和 Expense Items 对象。

创建 Department 对象

slide_6

本单元创建第一个自定义对象 Department,用来存储部门名称和成本中心代码等信息,作为整个数据模型的基础。

创建 Department 对象(设置)

slide_7

创建数据模型的第一步是创建 Department 对象,它存储部门名称和成本中心代码等信息:

  1. 从 Setup 点击 Object Manager。
  2. 点击 Create,选择 Custom Object。
  3. 填写详情:Label=Department、Plural Label=Departments、Object Name=Department(自动填充)、Record Name=Department Name、Data Type=Text。

向下滚动,勾选以下选项:Allow Reports、Allow Search、Launch New Custom Tab Wizard after saving this custom object。

务必勾选 Launch New Custom Tab Wizard,它会驱动接下来的屏幕。如果漏掉了,可到 Setup 搜索 Tabs 稍后再创建自定义选项卡。点击 Save。

创建 Department 对象(选项卡与字段)

slide_8

保存后进入自定义选项卡向导,定义选项卡设置:

  1. 点击 Tab Style 旁的放大镜图标,选择 Books。
  1. 点击 Next,下一屏保持默认再点击 Next。
  2. 点击列顶部的 Include Tab 取消所有应用,仅勾选 Travel App,点击 Save。

接着创建 Department Code 字段:

  1. 点击 Fields & Relationships,再点 New。
  2. 数据类型选 Text,Next。
  3. Field Label=Department Code、Length=10、勾选 Required、勾选 Unique(再勾选 case sensitive)。
  4. 点击 Next,字段级安全屏幕保持默认 Next,页面布局屏幕保持默认 Save。

Department 对象创建完成,接下来创建 Travel Approval 对象,它存储员工出行目的地和行程时长等基本信息。

创建 Travel Approval 对象

slide_9

本单元创建差旅审批的核心对象 Travel Approval,存储出行目的地、日期、状态等信息,并与 Department 建立查找关系。

创建 Travel Approval 对象(设置)

slide_10

前面已经用 Lightning App Builder 创建了 travel app 和 Department 对象,现在创建存储差旅审批申请的对象:

  1. 回到 Object Manager。
  2. 点击 Create,选择 Custom Object。
  3. 填写详情:Label=Travel Approval、Plural Label=Travel Approvals、Object Name=Travel_Approval(自动填充)、Record Name=Travel Approval #、Data Type=Auto Number、Display Format=TA-{00000}、Starting Number=1。

先别点 Save,向下滚动继续勾选:Allow Reports、Allow Activities、Track Field History、Allow Search、Add notes and Attachments related list to default page layout、Launch New Custom Tab Wizard after saving this custom object。点击 Save。

  1. 点击 Tab Style 旁的图标,选择 Airplane,Next。
  2. Add to profiles 屏幕保持默认,Next。
  3. Add to Custom Apps 屏幕取消 Include Tab,仅选 Travel App,Save。

对象建好后,接着为它添加自定义字段。

创建 Travel Approval 自定义字段

slide_11

在对象配置页点击 Fields & Relationships → New,逐个创建以下字段:

  • Purpose of Trip — Data Type 选 Text Area,Next,Field Label 填 Purpose of Trip,Next、Next、Save & New。
  • Status — Data Type 选 Picklist,选择「Enter values, with each value separated by a new line」,逐行输入 New、Submitted、Pending Approval、Approved、Rejected、Draft。
  • Trip Start Date — Data Type 选 Date。
  • Trip End Date — Data Type 选 Date。
  • Out-of-State — Data Type 选 Checkbox。
  • Destination State — Data Type 选 Text,Length 设为 2。
  • Department — Data Type 选 Lookup Relationship,Related To 选 Department,点击 Next 4 次,Save。

至此,Travel Approval 对象创建完成,并与 Department 建立了查找关系。接下来创建 Expense Item 对象,用于存放每份差旅申请的费用明细。

创建 Expense Item 对象

slide_12

本单元创建 Expense Item 对象,存储每次行程的费用明细(如机票、酒店、租车),并通过主从关系关联到 Travel Approval。

创建 Expense Item 对象(设置)

slide_13

最后创建 Expense Item 对象,让应用能提供机票、酒店、租车等费用的预估:

  1. 回到 Object Manager。
  2. 点击 Create,选择 Custom Object。
  3. 填写详情:Label=Expense Item、Plural Label=Expense Items(勾选 Starts with vowel sound)、Object Name=Expense_Item(自动填充)、Record Name=Expense Item Number、Data Type=Auto Number、Display Format=E-{00000}、Starting Number=1。
  4. 勾选 Allow Reports。

注意:不要勾选 Launch New Custom Tab Wizard。Expense Items 不需要单独的选项卡——用户会通过 Travel Approval 选项卡进入具体记录,再钻取到费用明细。点击 Save。

创建 Expense Item 自定义字段

slide_14

保存后进入 Expense Item 对象配置页,开始创建字段:

  • Amount — Data Type 选 Currency,Next,Field Label=Amount、Length=16、Decimal places=2、勾选 Required,Next、Next、Save & New。
  • Expense Type — Data Type 选 Picklist,选择「Enter values, with each value separated by a new line」,逐行输入 Airfare、Hotel、Rental car、Meals、Other,勾选 Required,Next、Next、Save & New。
  • Travel Approval — Data Type 选 Master-Detail Relationship,Next,Related To 选 Travel Approval,点击 Next 4 次,Save。

现在看看差旅审批应用的样子。点击 App Launcher 图标,搜索并选择 Travel App,可以看到刚创建的两个新选项卡。

导入数据并测试应用

slide_15

本单元导入部门样本数据,并端到端测试完整应用——创建差旅申请并关联费用明细。

导入 Departments 数据

slide_16

你已完成数据模型,界面和 SOAP/REST API 层也自动生成。最后一步导入数据并测试应用。先向 Departments 对象加载样本数据:

  1. 从 Setup 点击 Home 选项卡。
  2. Quick Find 搜索并选择 Data Import Wizard。
  3. 点击 Launch Wizard!
  1. 点击 Custom objects 选项卡,选择 Departments 对象。
  2. 选择 Add new records。
  3. 把第一单元下载的 Departments.csv 拖到上传区(或点 CSV 图标浏览选择),点击 Next。
  4. CSV 列名与对象字段名相同,字段会自动映射,点击 Next。
  1. 在导入摘要屏幕点击 Start Import。
  2. 弹窗点击 OK。

这会进入批量导入摘要窗口,显示 16 条记录已成功导入,同时你会收到确认导入的邮件通知。

测试应用

slide_17

导入部门数据后,测试应用:

  1. 点击 App Launcher 图标,返回 Travel App。
  2. 点击 Departments 选项卡。
  3. 点击 Recently Viewed,选择 All。

点击任意部门钻取到详情,例如 Contract Management,查看部门详情,包括你创建的 Department Code 字段和一些默认字段。

接下来创建一份差旅申请并关联几个费用预估:

  1. 点击 Travel Approvals 选项卡,点击 New。
  2. 填写:Purpose of Trip、Status=Draft、Trip Start Date(任选)、Trip End Date(任选)、Out-of-State(勾选)、Destination State、Department=Technology。
  3. 点击 Save,得到一条差旅审批记录。

最后添加机票和酒店的费用预估:点击 Related 选项卡,点击 New,输入 Amount=450、Expense Type=Airfare,Save & New;再点击 New,输入 Amount=870、Expense Type=Hotel,Save。

恭喜!你为组织成功创建了差旅应用——创建了 Departments、Travel Approvals、Expense Items 三个自定义对象,导入了部门数据,并通过创建第一条差旅审批记录测试了应用。


文章来源:Trailhead - Build a Data Model for a Travel Approval App