enterprise-architect - 如何使用来自适当序列的名称从 API 创建元素?
问题描述
我想使用 EA 以编程方式生成需求元素。在“添加元素...”对话框中按下“自动”按钮时,我需要使用与 GUI 相同的序列编号 (REQ00000xy),以便为从 GUI 或 API 创建的需求元素保持一致的编号。
从现有的 Requierement 元素中选择最后使用的序列号将无济于事,因为它不会向上移动序列号和从 GUI 创建的下一个 Requirement 。
有没有办法通过 EA API 或 EA SQL 获取(并正确使用)序列号?
解决方案
您要查找的表是t_trxtypes
。这包含类似(EA的输出)
描述;数字重量;备注;TRX;TRX_ID;样式;
Autocount;1,00;prefix=bla;suffix=x;active=1;active_a=0;counter=126;;Class;1; ;
您对Notes
保存为 CSV 列表的列感兴趣,例如
前缀=bla;后缀=x;活动=1;活动_a=0;计数器=126;
这是当前编号为 126 的类的测试设置。因此下一个创建的类将被命名bla126x
并且条目将更改为
前缀=bla;后缀=x;活动=1;活动_a=0;计数器=127;
只需保持列t_trxtypes.notes
与您的创作同步即可。
注意EA 不(似乎)允许直接访问数据库。但是,它有一个经过验证的后门:
Repository.Execute("UPDATE t_trxtypes SET Notes='prefix=bla;suffix=x;active=1;active_a=0;counter=127;' WHERE TRX_ID=<your id>")
将进行更新(替换<your id>
为适当的密钥)。虽然Execute
没有记录,但它从那时起就可以工作,并且可以肯定 Sparx 不会像现在每个人都依赖它那样限制它。
附带说明:此计数器不安全。有很多方法(最简单的是简单的重命名)来破坏它。您需要一些脚本/插件来定期检查您的编号是否仍然一致。如果您依赖需求编号,您最好使用外部系统,我敢说,DOORS。
推荐阅读
- c# - 将 DependencyProperty 实现到 TemplateBinding 时发生 XDG0008 错误
- ruby-on-rails - mongoid enum ArgumentError:参数数量错误(给定 1,预期 2..3)
- javascript - 我收到错误为 Uncaught TypeError: Cannot read property 'use' of undefined
- fortran - 使用 OMP 加速计算对称矩阵
- node.js - 创建要在 mongodb 中发送的数据时出现错误
- python - 如何从 HTML 源中找到结合了字母、符号和数字的标签?
- django - 在 Django Admin Detail 视图中显示 ManyToManyField
- python - 如何打开任何文本文件以在我用 python 制作的文本编辑器中打开,只需双击?
- fortran - 发送/接收 MPI 对的奇怪事件
- python - 使用 apis rest 框架在产品中设置类别