云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

数据库服务器_北大法宝数据库_免费

小七 141 0

数据库服务器_北大法宝数据库_免费

问题

当你在C4C中调试时,nba大数据,你有一个输出窗口,在那里你可以看到所有不同脚本文件被调用的顺序。但是,在ABSL脚本文件中,您无权访问此信息(也称为堆栈跟踪)。您的ABSL文件是盲的–它不知道何时调用它。

示例:当您将一个文档链接到另一个文档时,会调用各种脚本文件,例如:

BusinessTransactionDocumentafterModify保存前BusinessTransactionDocument根后修改保存前根目录…

…充其量,不仅是根文档,而且是目标文档。

如果您有能力在这些ABSL调用之间传递信息,那不是很好吗?

在我的例子中,我在C4C中遇到了一个非常复杂的错误(将于1802年修复),在同一个往返过程中更改两个引号时会导致无限循环。

在内部部署系统中,我会在第一个循环中设置一个静态全局变量,在第二个循环中它仍然会被设置,这样我就可以看到我在这里并且打破了循环。在C4C中,大数据精准获客,这是不可能的。

解决方案

我最终创建了一个单独的BO来存储对象的UUID、节点名和更改时间。幸运的是,changetime在无限循环期间保持不变,因此我能够检测到同一个ABSL文件是否在同一次往返中被调用了两次。

BO没有任何脚本文件,但我创建了一个重用函数来维护BO:

参数:

IV_OBJECT_UUID:UUID您要注册为触摸的对象IV_NODE:你接触过的对象的节点(根、参与方等)IV_DATETIME:对象更改的时间IV_UPDATE:如果设置为true:如果不存在则创建新条目/更新现有条目

现在在需要访问此全局数据的每个ABSL文件中,我只调用以下代码:

此示例适用于CustomerQuote。对于其他业务对象,字段和节点名称可能不同。

在我的例子中,我只需要检查由UUID、节点名称和更改时间标识的对象是否已经在同一往返中被触及。

因此在调试器中,返利购物,我已经标识了无限循环中涉及的ABSL文件。在这些文件中,我把上面的ABSL代码放在最上面。在第一次往返过程中,helper BO将填充文档的UUID、当前节点和文档的更改时间。如果没有输入,贵阳大数据,ABSL文件(保存前等)将正常执行。但是,在同一往返中的第二个循环期间,helper BO中的条目将已经存在,因为更改时间保持不变。在这种情况下,我用return语句退出ABSL文件(BeforeSave等),这打破了循环。

您可以轻松地向自定义BO添加更多字段。这样,您不仅可以检查条目是否存在,还可以在ABSL调用之间传递更详细的信息。

可选方法

建议使用临时字段。然而,在往返行程之后,瞬态磁场不会自动清除。这意味着在下一个往返过程中,瞬态场将具有相同的值。只有在用户界面上按"取消"键时,才会清除此项。

但您可以使用此项来发挥自己的优势:如果您希望存储在往返过程中持久的临时全局数据,但在离开屏幕时重置,美国云服务器,请使用临时字段。

如果您需要临时数据仅在同一往返过程中有效,请使用我的上述解决方案。

注意

此项博客文章是用C4C版本1708创建和测试的。