openyida/openyida/yida-business-rule
Claude Code and agent skill by openyida/openyida
- community
Checking that the SKILL.md file is still in the repository.
宜搭表单业务关联规则与高级函数配置。用于在表单设置中配置业务关联规则,或使用 INSERT、UPDATE、DELETE、UPSERT 高级函数实现跨表增删改。适用于需要表单间数据联动的场景。
Install
npx vskill@latest install openyida/openyida/yida-business-ruleSKILL.md
yida-business-rule — 业务关联规则高级函数
适用范围
业务关联规则是宜搭表单设置里的旧式/低频跨表联动能力。用户明确提到以下意图时使用本技能:
- "业务关联规则"、"表单事件里的公式执行"
- "高级函数"、"INSERT"、"UPDATE"、"DELETE"、"UPSERT"
- "要在表单设置里配 upsert/update/delete/insert"
- 明确不想用集成自动化,而要用公式函数做跨表增删改
配置入口
在表单设计器里进入:
业务关联规则弹窗包含三个事件输入框:
| 事件 | 触发时机 | |
|---|---|---|
单据提交 | 新增记录提交成功后 | |
单据删除 | 删除记录成功后 | |
单据编辑 | 编辑记录提交成功后 |
点击事件输入框会打开「公式执行」编辑器。配置完成后必须依次确认:公式弹窗 → 业务关联规则弹窗 → 保存表单。
关键原则:必须插入令牌
编写前通过 use_skill 加载 yida-formula,查看“写配置前先处理这些易错点”,共用函数和字段选择方法。业务动作保留目标表、当前数据、事件及完整规则;条件中的 AND/EQ 等按该动作的查询条件含义处理。通用表达式试算不执行这些写数据动作;保存回读与实际新增、修改、删除结果分别说明。
业务关联公式不是普通字段公式。普通字段公式引用字段用 #{fieldId};业务关联规则引用目标表、目标字段、当前表字段时,必须在公式编辑器左侧列表点击插入令牌。
不要直接手敲中文表单名或字段名。实际验证中,手敲下面这种文本会报非法标识符:
正确方式是在编辑器中输入函数名、括号、逗号、字符串常量,然后点击左侧字段列表插入 Upsert目标、Upsert目标.键 等令牌。最终输入框看起来可能和手敲文本相似,但内部结构不同。
高级函数签名
| 函数 | 格式 | 说明 | |
|---|---|---|---|
INSERT | INSERT(目标表, 目标列1, 目标值1, 目标列2, 目标值2, ...) | 向目标表插入新实例 | |
UPDATE | UPDATE(目标表, 主条件, 子条件, 目标列1, 目标值1, ...) | 更新目标表中满足条件的数据 | |
UPSERT | UPSERT(目标表, 主条件, 子条件, 目标列1, 目标值1, ...) | 有匹配数据则更新,无匹配数据则插入 | |
DELETE | DELETE(目标表, 主条件, 子条件) | 删除目标表中满足条件的数据 |
子条件 用于定位目标表某条数据下的子表单明细。不操作子表单时必须写 "",不能省略。
UPSERT 模板
普通主表字段 upsert:
库存类示例:
固定值探测示例:
以上示例中的表单名和字段名只是可读展示。真实配置时,所有表单和字段引用都要从左侧列表点击插入令牌。
条件规则
主条件、子条件必须由逻辑函数构造,常见为EQ()、AND()、OR()。- 除
AND()、OR()外,逻辑函数第一个参数必须是目标表组件,例如EQ(存货表.商品名, 商品名)。 - 不要把当前表字段写在
EQ()第一个参数,也不要在第一个参数里嵌套其他函数。 - 更新普通组件时,
目标列必须是目标表普通组件。 - 更新子表单明细时,
目标列必须是对应明细下的组件。 - 同一个高级函数里不要同时更新普通组件和明细组件;需要拆成多条规则或多个函数。
浏览器配置步骤
- 确认触发表单和目标表单都在同一应用内。
- 用
openyida get-schema <appType> <formUuid>查清目标字段和来源字段,避免点错。 - 打开触发表单设计器,进入
表单设置 → 表单事件 → 公式执行 → 添加业务关联规则。 - 点击要配置的事件输入框,例如
单据编辑。 - 在公式编辑器中只手动输入函数名、括号、逗号、字符串常量。
- 目标表、目标列、来源字段全部从左侧列表点击插入令牌。
- 每插入一个令牌后暂停并校验公式显示,避免 CodeMirror 光标错位。
- 点击公式弹窗「确定」。如果能回到业务关联规则弹窗,说明公式通过编辑器校验。
- 点击业务关联规则弹窗「确定」,最后点击表单设计器「保存」并确认保存成功。
用量限制
| 函数 | 目标表类型 | 用量限制 | |
|---|---|---|---|
INSERT | 主表 | 批量导入无条数限制,建议单次不超过 1000 条 | |
INSERT | 子表单插入主表 | 免费版 ≤50 条;轻享/专业/专属版 ≤500 条 | |
UPDATE | 主表 | 单次最多更新 100 条,超出会报错 | |
UPDATE | 子表单 | 免费版 ≤50 条;轻享/专业/专属版 ≤500 条 | |
UPSERT | 主表 | 单次最多 100 条,超出会报错 | |
UPSERT | 子表单 | 免费版 ≤50 条;轻享/专业/专属版 ≤500 条 | |
DELETE | 主表 | 单次最多删除 100 条 | |
DELETE | 子表单 | 轻享/专业/专属版 ≤500 条 |
常见错误
| 错误 | 原因 | 处理 | |
|---|---|---|---|
该标识符不合法 | 手敲了表单名/字段名 | 从左侧列表点击插入令牌 | |
Unexpected end of input | 公式未闭合或必填参数缺失 | 检查括号、逗号、子条件 | |
| 规则未触发 | 配在错误事件或未保存表单 | 检查 单据提交/删除/编辑 和保存结果 | |
| 更新结果过多 | 条件不够精确或超出限制 | 收紧 主条件,必要时改用集成自动化 |
参考
- 宜搭帮助中心:表单业务规则
- 宜搭帮助中心:INSERT / UPDATE / UPSERT / DELETE 业务关联公式
Security
- Security scanPassed, 96 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingyida-skills/skills/yida-business-rule/SKILL.md
Popularity
- Repository stars
- 205
- Repository forks
- 45
- 7-day trend score
- 27
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/openyida/openyida/yida-business-rule)