【发布时间】:2015-10-14 12:55:28
【问题描述】:
assigned_to 字段未被过滤
代码:
__encoded_query = "assigned_toCONTAINSsteve"
实际上有 2 条记录包含带有 steve 的值,但上面的代码没有返回。 related_records 字段也不适用于 __encoded_query
【问题讨论】:
标签: c# .net servicenow
assigned_to 字段未被过滤
代码:
__encoded_query = "assigned_toCONTAINSsteve"
实际上有 2 条记录包含带有 steve 的值,但上面的代码没有返回。 related_records 字段也不适用于 __encoded_query
【问题讨论】:
标签: c# .net servicenow
assigned_to 是一个引用字段,它存储引用的 sys_user 记录的 sys_id,但您查询的是我假设的显示值 (name)。如果您想查询 assigned_to 字段引用的用户名称包含“steve”的记录,请尝试像这样遍历引用:
__encoded_query = "assigned_to.nameCONTAINSsteve"
对于它的价值,这可能是一个性能不佳的查询,您最好执行STARTSWITH 查询,它更可优化(从数据库的角度来看):
__encoded_query = "assigned_to.nameSTARTSWITHsteve"
这是我刚刚在演示实例上运行的测试中完整的 SOAP 请求负载的样子(我没有任何 steves,但我有一个 Fred!):
<Envelope xmlns="http://schemas.xmlsoap.org/soap/envelope/">
<Body>
<getRecords xmlns="http://www.service-now.com/incident">
<__encoded_query xmlns="">assigned_to.nameSTARTSWITHfred</__encoded_query>
</getRecords>
</Body>
</Envelope>
【讨论】:
related_records
related_records 字段中获取包含值prj12345 的记录。我尝试了related_recordsCONTAINSprj12345,但没有成功。请提供解决方案。我也试过related_records.nameCONTAINSprj12345。
related_records 字段的类型。我假设它是一个 glide_list,在这种情况下,它可能会存储一个逗号分隔的 sys_id 列表,因此您首先需要获取目标记录的 sys_id,然后使用它进行包含搜索(例如“related_recordsCONTAINS