代码之家  ›  专栏  ›  技术社区  ›  dbJones

Netsuite:SalesOrders的基本搜索返回其ItemList.Item[i].Item.Type始终丢失的订单

  •  0
  • dbJones  · 技术社区  · 6 年前

    我可以很好地得到订单,每个订单都有一个 itemList 但是,所有项目 项目列表 都不见了 RecordRef type . 它甚至不是空的。只是丢失的

    (给你 NetSuite documentation 显示它应该是对象的一部分)

    我想有些东西应该是 type = RecordRef.kitItem . 其他人也应该如此 type = RecordRef.inventoryItem

    如何确保所有项目都具有RecordRef类型? 我需要在我的令牌上启用一些权限吗?

    enter image description here

    1 回复  |  直到 6 年前
        1
  •  1
  •   Will Charbonneau    6 年前

    您的文档中的项目 itemList 是类型的对象 SalesOrderItem Type 财产。为了得到 类型 属于 SalesOrderItem 类型 给定项目的内部id的项目。

    ItemSearchAdvanced customSearch = new ItemSearchAdvanced()
    {
        columns = new ItemSearchRow()
        {
            basic = new ItemSearchRowBasic()
            {
               type = new SearchColumnEnumSelectField[] { new SearchColumnEnumSelectField() },
            }
        },
    
        criteria = new ItemSearch()
        {
            basic = new ItemSearchBasic()
            {
                internalId = new SearchMultiSelectField
                {
                    @operator = SearchMultiSelectFieldOperator.anyOf,
                    operatorSpecified = true,
                    searchValue = new RecordRef[] { new RecordRef { internalId = itemInternalId } };
                }
            }
        }
    };
    
    Client.Service.searchPreferences.returnSearchColumns = true;
    SearchResult res = Client.Service.search(customSearch);
    ItemSearchRow row = (ItemSearchRow)res?.searchRowList?[0];
    return row?.basic?.type?[0].searchValue;