Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# NetSuite SuiteTalk已加入对自定义对象的搜索_C#_Netsuite_Suitetalk - Fatal编程技术网

C# NetSuite SuiteTalk已加入对自定义对象的搜索

C# NetSuite SuiteTalk已加入对自定义对象的搜索,c#,netsuite,suitetalk,C#,Netsuite,Suitetalk,我有两个自定义对象。父对象是一个顺序,它有一个与之关联的部分类型列表。我试图获取一个字段中带有值“Inventory Item”的零件列表,但仅针对特定的订单 我有订单的名称和数字内部ID,但问题是这些字段(据我所知)不是可搜索的“字段”,没有“内部ID”来告诉它搜索其中一个字段 在下面的代码中,如果我没有尝试在订单上搜索,它就可以正常工作。我可以使用“库存项目”类型获取所有零件 我想我需要使用联合搜索?我的尝试如下。这会在运行时产生SOAP错误: Additional information:

我有两个自定义对象。父对象是一个
顺序
,它有一个与之关联的
部分
类型列表。我试图获取一个字段中带有值“Inventory Item”的
零件列表,但仅针对特定的
订单

我有
订单
名称
和数字
内部ID
,但问题是这些字段(据我所知)不是可搜索的“字段”,没有“内部ID”来告诉它搜索其中一个字段

在下面的代码中,如果我没有尝试在订单上搜索,它就可以正常工作。我可以使用“库存项目”类型获取所有
零件

我想我需要使用联合搜索?我的尝试如下。这会在运行时产生SOAP错误:

Additional information: org.xml.sax.SAXException: 'customizationRef' on
 {urn:common_2015_1.platform.webservices.netsuite.com}CustomSearchJoin is
 required
代码

private static SearchResult NetSuiteSearchOrderItems(NetSuiteService netSuiteService, string order_name, string order_internalId)
{
    CustomRecordSearch searchParts = new CustomRecordSearch();
    CustomRecordSearchBasic basicRecordSearchParts = new CustomRecordSearchBasic();
    basicRecordSearchParts.recType = new RecordRef { internalId = "64" }; //"Order Item" NetSuite Type ID

    //adding a search filter on a String Custom Field
    SearchStringCustomField partTypeFieldSearch = new SearchStringCustomField();
    partTypeFieldSearch.@operator = SearchStringFieldOperator.@is;
    partTypeFieldSearch.internalId = "896"; //ID of the Part object's "Type" field
    partTypeFieldSearch.operatorSpecified = true;
    partTypeFieldSearch.searchValue = "Inventory Item"; //only want inventory item parts


    //Show me only parts on a certain Order                           
    CustomSearchJoin orderSearchJoin = new CustomSearchJoin();
    CustomRecordSearchBasic orderBasicSearch = new CustomRecordSearchBasic();
    orderBasicSearch.recType = new RecordRef { internalId = "56" }; //"Order" NetSuite Type ID


    //--   WHAT GOES HERE INSTEAD OF SearchStringCustomField?

    //adding a search filter on a String Custom Field
    SearchStringCustomField fsoItemTypeSearch = new SearchStringCustomField();
    fsoItemTypeSearch.@operator = SearchStringFieldOperator.@is;
    fsoItemTypeSearch.internalId = "name"; //I have the "name" and numeric "internal id" of the order available.
    fsoItemTypeSearch.operatorSpecified = true;
    fsoItemTypeSearch.searchValue = order_name;//search filter value

    orderSearchJoin.searchRecordBasic = orderBasicSearch;

    //add in the things we want to search on
    basicRecordSearchParts.customFieldList = new SearchCustomField[] { partTypeFieldSearch };

    //add the basic search and join search and then perform the search
    searchParts.basic = basicRecordSearchParts;
    searchParts.customSearchJoin = new CustomSearchJoin[] { orderSearchJoin };
    SearchResult response = netSuiteService.search(searchParts);
    return response;
}