SuperAPI AI 工具集

role-compile

编程与开发

查看项目

更新于 10-15 17:18

技能介绍

role-compile 用于从 JSON 定义生成 1C 角色(Roles)。它接收 JSON 角色定义,生成 Roles/Имя.xml 元数据与 Roles/Имя/Ext/Rights.xml 权限文件,UUID 自动生成,并把 <Role>ИмяРоли</Role> 自动加入 Configuration.xml 的 <ChildObjects>(该文件预期位于 RolesDir 的上级目录)。

用法:JsonPath 为 JSON 定义路径,RolesDir 为配置源码中的 Roles/ 目录。命令为:powershell.exe -NoProfile -File .claude/skills/role-compile/scripts/role-compile.ps1 -JsonPath "<json>" -OutputDir "<RolesDir>"。

JSON DSL 结构为 {"name": "ИмяРоли", "synonym": "显示名", "objects": [...], "templates": [...]}。可选字段:comment(默认空)、setForNewObjects(默认 false)、setForAttributesByDefault(默认 true)、independentRightsOfChildObjects(默认 false)。objects 支持简写字符串 "Catalog.Номенклатура: @view" 或 "Тип.Имя: Право1, Право2",也支持对象形式,含 preset、rights 覆盖与 rls 限制。预设 @view 表示查看(Read、View,对目录和文档还含 InputByString;对处理与报表含 Use+View);@edit 表示完整编辑(CRUD、Interactive*、文档过账 Posting)。简写中 @ 必须写,对象形式 preset 不带 @。WebService、HTTPService、IntegrationService 未定义预设,需显式写权限,如 "WebService.Имя: Use"。支持俄语类型与权限别名,如 Справочник→Catalog、Чтение→Read,可混用。

RLS 模板:templates 中每条含 name 与 condition,如 "condition": "ГДЕ Организация = &ТекОрг",在 rls 中以 #模板名("") 引用,& 会自动在 XML 中转义。

验证与查看:/role-validate <RightsPath> [MetadataPath] 检查 XML、权限与 RLS 正确性;/role-info <RightsPath> 输出结构可视化摘要。更详细的预设、俄语别名与示例见 dsl-reference.md。