2014-02-14 54 views
1

如果我正确读取,在SuiteScript中,如果它们是父级子类型的记录(即使它们是自定义记录类型),则可以执行搜索,以恢复两种记录类型的联合 (例如Customer如果我理解正确的话,你可以做一个搜索,它将返回客户记录字段和与客户关联的repairHistroy条目的组合(有点像普通的SQL连接) )netsuite加入suitetalk搜索

我的问题是,可这SuiteTalk完成 - 如果有的话可以说,它是任何记录,包括自定义的 - 。如果是这样,怎么会看起来我们正在使用C#,但任何例子是可以接受的

约翰

回答

2

在Netsuite中创建一个已保存的搜索。通过SuiteTalk调用保存的搜索并添加其他标准,以便过滤搜索结果。

+1

我已经做了一个保存搜索,我打算打电话,但问题是,当我打电话给我时,我得到错误,我把以下每个尝试都在C#中失败.. – jvoigt

+1

我做了一个搜索,但在提到它在代码中,我得到的错误是“A保存搜索与内部ID 742不存在。或使用脚本ID 742保存搜索不存在或使用内部ID customsearchspike保存的搜索不存在。我确认我有一个内部ID为742的保存搜索,它被命名为'customsearchspike'。示例代码transSearchAdv = new TransactionSearchAdvanced {savedSearchId =“742”};或新的TransactionSearchAdvanced {savedSearchId =“customsearchspike”};或transSearchAdv3 =新的TransactionSearchAdvanced {savedSearchScriptId =“customsearchspike” – jvoigt

0

调用保存的搜索可能会起作用 但是,它将高度依赖搜索返回的记录类型作为结果。如果您遇到“不存在”错误问题,请确保您的代码使用正确的对象类型来捕获结果。

此外,您的一些结果可能不是有用的信息(内部IDs回来了很多事情)。在结果列中使用适当的“Table ... Fields”可以将这些范围限定在保存的搜索中正确的对象类型。但是,不能保证您能够访问这些已连接的表格字段。

如果发生这种情况,您需要抓取整个表,以便加入internalID以获取所需的值,或者更慢地更改过程,以便在处理保存过程中查找每行中的每个ID字段搜索结果。

无论哪种方式真的很糟糕。这是一个已知的问题,我用NetSuite记录了它,并收到了一个增强项目。然而,这似乎不太可能在短时间内得到解决。

0

是的,可以做到。在suitetalk中,连接是使用XXXSearch对象完成的(与xxxSearchBasic对象相反)。

CustomerSearch.basic = new CustomerSearchBasic(); 
CustomerSearch.customSearchJoin = new CustomSearchJoin[] { new CustomSearchJoin() }; 
CustomerSearch.customSearchJoin[0].customizationRef = new CustomizationRef() { scriptId = "field_id_of_parent_record_for_join" }; 
CustomerSearch.customSearchJoin[0].recordSearchBasic = new CustomRecordSearchBasic(); 

的“customizationRef”是字段引用从父记录,这相当于在加入记录‘CustomRecord(字段名)......’当你做一个连接使用保存的搜索UI。

相关问题