额外编码的查询来自哪里,它是什么意思?
Where is extra encoded query coming from and what does it mean?
我在 SI 中有以下内容
var serviceAsset=new GlideRecord('u_service_asset');
serviceAsset.addQuery('u_service',service_sys_id);
serviceAsset.addNotNullQuery('u_parent');
serviceAsset.query();
gs.log(serviceAsset.getEncodedQuery());
这会在日志中打印以下内容
u_service=305baa6fdb17d0d44bb6e126059619e1^u_parent!=NULL^sys_idNotValidnull^ORsys_idNotValidnull
sys_idNotValidnull
是什么意思,为什么将其添加为 OR 条件?
我在 table 上有一个“查询”业务规则,但该代码似乎没有引用上述内容。
业务规则代码
(function executeRule(current, previous /*null when async*/) {
var serviceassetquery;
serviceassetquery = current.addEncodedQuery("u_sourcesystem!=Wholesale^ORu_sourcesystem=NULL");
})(current, previous);
假设 sys_idNotValidnull
表示 “引用的 sys_id 不存在”。
获得编码查询的最简单和最好的方法如下:
- 导航到 table。
- 构建过滤器并运行
- Right-click 在面包屑上(您将看到复制查询选项,该选项将提供 正确编码的查询 ,请参阅随附的屏幕截图)
复制的查询示例: "active=true^state!=10^ORstate=^sys_idISNOTEMPTY
"
所以
sys_idNotValidnull^ORsys_idNotValidnull
部分是由业务规则添加的。 sys_idNotValidnull
存在的原因是 u_sourcesystem
列不存在于 table u_service_asset
呸!毕竟这是一个无效的列导致了所有问题。
我在 SI 中有以下内容
var serviceAsset=new GlideRecord('u_service_asset');
serviceAsset.addQuery('u_service',service_sys_id);
serviceAsset.addNotNullQuery('u_parent');
serviceAsset.query();
gs.log(serviceAsset.getEncodedQuery());
这会在日志中打印以下内容
u_service=305baa6fdb17d0d44bb6e126059619e1^u_parent!=NULL^sys_idNotValidnull^ORsys_idNotValidnull
sys_idNotValidnull
是什么意思,为什么将其添加为 OR 条件?
我在 table 上有一个“查询”业务规则,但该代码似乎没有引用上述内容。
业务规则代码
(function executeRule(current, previous /*null when async*/) {
var serviceassetquery;
serviceassetquery = current.addEncodedQuery("u_sourcesystem!=Wholesale^ORu_sourcesystem=NULL");
})(current, previous);
假设 sys_idNotValidnull
表示 “引用的 sys_id 不存在”。
获得编码查询的最简单和最好的方法如下:
- 导航到 table。
- 构建过滤器并运行
- Right-click 在面包屑上(您将看到复制查询选项,该选项将提供 正确编码的查询 ,请参阅随附的屏幕截图)
复制的查询示例: "active=true^state!=10^ORstate=^sys_idISNOTEMPTY
"
所以
sys_idNotValidnull^ORsys_idNotValidnull
部分是由业务规则添加的。 sys_idNotValidnull
存在的原因是 u_sourcesystem
列不存在于 table u_service_asset
呸!毕竟这是一个无效的列导致了所有问题。