随着时间的推移,应用程序发生了更改,因此可能要对业务对象及其属性和变量进行重命名。但是,业务流程的许多部分可能引用或依赖于业务对象、属性或变量。因此,重命名可能会产生意外结果。要对业务对象、属性或变量进行重命名并查看重命名所造成的影响,请使用重命名功能。
以下部分中包含了对业务对象及其属性和变量进行重命名的过程。
重命名业务对象和属性
要查找业务对象,请从导航中选择数据。要重命名业务对象,请执行以下步骤:
- 右键单击您要重命名的业务对象。从菜单中选择重命名。
- 在所打开窗口的新建名称字段中更改业务对象的名称。缺省情况下,单击确定时,您会在后续“重构”窗口中看到对该业务对象的引用。
但是,您可以选择取消选中更新引用。
在这种情况下,不会更新对该业务对象的任何引用。
- 在“重构”窗口中,窗格显示了引用业务对象的业务流程和服务。
选择希望更新的业务流程和服务,然后单击确定。
如果不存在引用,那么窗格为空白,但请继续单击确定以重命名业务对象。
如果希望以后分析列表,可通过单击复制到剪贴板,将业务流程和服务的名称复制到剪贴板。
- 然后,检查您期望更新的所有工件,尤其是 JavaScript 部分。对于旧业务对象和旧业务对象列表,重构功能可更新以关键字 new 实例化的所有标准引用;例如 new tw.object.OldBusinessObject 或 new
tw.object.listOf.OldBusinessObject。
业务对象本身是由其他变量组成,这些变量称为属性。
您可以重命名业务对象的属性,重命名功能会向您显示受影响的业务流程和服务。要重命名属性,请执行以下步骤:
- 单击数据,然后双击菜单中包含您要重命名的属性的业务对象。
- 在参数列表中选择要重命名的属性。在名称字段中更改名称时,会显示一条消息,表明要重构值,需要按 Alt + Shift + R。按此组合键将启动“重命名”窗口。
在新建名称字段中更改属性名称。
缺省情况下,单击确定时,您会在后续的“重构”窗口中看到对该属性的引用。
但是,您可以选择取消选中更新引用。
在这种情况下,不会更新对该属性的任何引用。
- 在“重构”窗口中,窗格显示了引用业务对象的业务流程和服务。
选择希望更新的业务流程和服务,然后单击确定。
如果不存在引用,那么窗格为空白,但请继续单击确定以重命名该属性。
如果希望以后分析列表,可通过单击复制到剪贴板来将业务流程和服务的名称复制到剪贴板。
- 然后,检查您期望更新的所有工件,尤其是 JavaScript 部分。
在以下情况下,重构功能会更新对象上的属性:
- 将该对象分配给以关键字 new 实例化的标准业务对象,或该对象的任何原始属性。将重构的原始属性的一个示例为 GreatGrandparentBusObj.GrandparentBusObj.ParentBusObj.busobj.name。
- 将该对象分配给不具有“任何”类型的局部变量,或该对象的任何原始属性。
在第一个示例中,将更新 name。
在接下来的两个示例中,将更新 id。
var businessobject = new tw.object.BusinessObject();
businessobject.name = "John";
tw.local.customerInfo.id = 1234;
var customer = tw.local.customerInfo;
customer.id = 5678;
如果您重构一个业务对象,并且该对象的一个引用目前正由另一个用户编辑,那么不会选择重构此引用。
将出现一条消息,指出正在编辑此引用的用户。
在启动重构窗口时,正在重构的业务对象将被锁定,因为存在已选择要重构的任何引用。
重构操作完成后,会对业务对象和引用解锁。
局限性:
- Coach 中的 JavaScript 代码不会更新。
- 要列为可选择用于重构,业务流程或服务必须使用变量选项卡中找到的变量或变量字段引用业务对象。
- 在使用方括号表示法时,不会更新属性名;例如,在以下代码中,将不会更新 firstname:customer['firstname'] = "John"。
- 当业务对象参数名称发生更改时,重构不会更新绑定。
重命名变量
在业务流程或服务中找到变量。换言之,重命名变量不会影响另一个业务流程和服务。
重命名变量可能会影响同一业务流程或服务中对该变量的引用。要重命名变量,请执行以下步骤:
- 单击变量选项卡,并选择要重命名的变量。
- 在名称字段中更改名称时,会显示一条消息,表明要重构值,需要按 Alt + Shift + R。按此组合键将启动“重命名”窗口。
在新建名称字段中更改变量名称。
缺省情况下,单击确定时,会更新对该变量的所有引用。
但是,您可以选择取消选中更新引用。在这种情况下,不会更新对该变量的任何引用。与重命名业务对象或属性不同,您看不到可在其中选择引用的后续面板或者不会显示任何引用。