跳转至

动态逻辑(Dynamic Logic)

动态逻辑让表单「随数据变化」:某字段填了某值后,才显示/必填/只读其他字段,或切换下拉选项。

参考:Dynamic Logic(英文)

入口

管理 → 动态逻辑

或在 布局管理器 编辑面板/字段时配置 Conditions making visible/required/read-only

可配置项

作用
Conditions making field visible 满足条件才显示字段
Conditions making field required 满足条件才必填
Conditions making field read-only 满足条件才只读
Conditional options Enum/Multi-Enum 在不同条件下不同选项集

条件语法(界面 Builder)

典型条件:

  • {fieldName} equals 某值
  • {fieldName} is not empty
  • AND / OR 组合

Bring 示例 1:贸易条款与港口

  • 实体:CShippingOrder 或自定义字段
  • tradeTerms equals FOB → 显示自定义字段 loadingPort(装运港)

Bring 示例 2:付款方式与账期

  • paymentMethod equals T/T → 显示 advancePercent(预付比例)并设为必填

Bring 示例 3:面板级

  • 编辑 Detail 布局 → 财务面板 → 动态逻辑:仅当用户角色为 Admin 或 {status} equals 已结束 时显示

Conditional Options 示例

字段 rejectReason(未成交原因):

  • status equals 未成交 → 选项:价格、交期、质量…
  • 否则 → 空选项(或不显示字段)

与 Disable Inline Edit

字段设 Disable Inline Edit 后,常配合动态逻辑在详情编辑时控制行为。

限制

  • 动态逻辑在前端表单生效;API 导入不一定触发相同校验,重要规则应用公式或后端验证
  • 条件过多会增加表单复杂度,建议单实体控制在合理数量

相关文档


← Espo 平台配置概述