new { X = ((S-6ren">
gpt4 book ai didi

c# - NetSuite SuiteTalk - 从 "SearchColumnSelectCustomField"检索值字符串

转载 作者:太空宇宙 更新时间:2023-11-03 21:07:06 25 4
gpt4 key购买 nike

我有一个小应用程序,它迭代“保存的搜索”的结果,从多个自定义列中检索值(简化示例):

var results = searchResults.Select(a => new
{
X = ((SearchColumnBooleanCustomField)a.basic.customFieldList
.First(b => b.scriptId == "custentityX")).searchValue
Y = ((SearchColumnDateCustomField)a.basic.customFieldList
.First(b => b.scriptId == "custentityY")).searchValue
Z = ((SearchColumnSelectCustomField)a.basic.customFieldList
.First(b => b.scriptId == "custentityZ")).searchValue.name
}

对于大多数返回的列类型,我得到一个与类型(bool/date/etc...)一致的值,但是对于“SearchColumnSelectCustomField”,我在返回的“searchValue.name”中没有得到任何值,它总是null,但是始终填充“searchValue.internalID”列。所以出于某种原因,它获得了选择但没有从该选择中返回值。

如何从 SuiteTalk("searchValue.name") 访问我可以从 NetSuite 界面看到的文本值?我是否必须执行另一个查询来检索与该 internalID 相关的所有值键对?对于每个自定义字段?如果是这样,那么首先名称字段的目的是什么?

我试过四处搜索这个,但是并没有真正分配关于这个主题的文档(或者一般的 SuiteTalk),在其他语言(PHP/Java)中人们提到“getSelectValue”( here ,并简要地here ),我可以在 C# 中尝试这个,但我不确定这些是否适用,或者是否可以为自定义值选择完成。然后有一些用于在搜索之前确定值的引用,this对我来说似乎有点矫枉过正,真的有那么难吗?我有几十个 CustomFields 我想在我的最终应用程序中访问。似乎应该有更简单的方法......

最佳答案

据我所知,Web 服务响应将只包含 SearchColumnSelectCustomField 的 internalId 和 typeId。为了获得名称,您必须首先查询 NetSuite 以查找所有自定义列表及其值。

您可以使用 CustomListSearch 并将 bodyFieldsOnly 搜索首选项设置为 false 来执行此操作。不向 CustomListSearch 传递任何条件,您将返回每个自定义列表及其值。只需将结果存储在内存中,并在从您保存的搜索中读取列值时引用它。

关于c# - NetSuite SuiteTalk - 从 "SearchColumnSelectCustomField"检索值字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40496157/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com