如何使用 SuiteTalk 仅搜索库存项目

本文关键字:项目 搜索 何使用 SuiteTalk | 更新日期: 2023-09-27 18:35:19

我在VS 2013中使用C#。

我使用此代码:

    var request = new ItemSearchBasic
    {
        type = new SearchEnumMultiSelectField
        {
            searchValue = new string[]
            {
                "_inventoryItem"
            },
            @operator = SearchEnumMultiSelectFieldOperator.anyOf,
            operatorSpecified = true
        }
    };

我不仅得到库存物品,还得到其他类型的物品。

我的肥皂请求如下所示:

<soap:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soap:Header>
        <passport xmlns="urn:messages_2014_2.platform.webservices.netsuite.com">
            <email xmlns="urn:core_2014_2.platform.webservices.netsuite.com">xxxxxxxxx</email>
            <password xmlns="urn:core_2014_2.platform.webservices.netsuite.com">********************</password>
            <account xmlns="urn:core_2014_2.platform.webservices.netsuite.com">xxxxxxxxx</account>
            <role internalId="3" xmlns="urn:core_2014_2.platform.webservices.netsuite.com"/>
        </passport>
        <searchPreferences xmlns="urn:messages_2014_2.platform.webservices.netsuite.com">
            <bodyFieldsOnly>false</bodyFieldsOnly>
            <pageSize>5</pageSize>
        </searchPreferences>
    </soap:Header>
    <soap:Body>
        <search xmlns="urn:messages_2014_2.platform.webservices.netsuite.com">
            <searchRecord xsi:type="q1:ItemSearchBasic" xmlns:q1="urn:common_2014_2.platform.webservices.netsuite.com">
                <q1:type operator="anyOf">
                    <searchValue xmlns="urn:core_2014_2.platform.webservices.netsuite.com">_inventoryItem</searchValue>
                </q1:type>
            </searchRecord>
        </search>
    </soap:Body>
</soap:Envelope>

NetSuite帮助没有提到如何按项目类型过滤,我已经从各种非NetSuite网页中猜到了这种方法。

如果我删除类型过滤器,则我的搜索将返回库存项目、序列化库存项目、批次编号库存项目和非库存购买项目。

如果我使用 _inventoryItem 过滤器,那么我会得到 inventoryItem、serializedInventoryItem 和 lotNumberedInventoryItem。因此,也许NetSuite认为serializedInventoryItem和lotNumberedInventoryItem都是inventoryItem。

如何使用 SuiteTalk 仅搜索库存项目

如果您需要更详细地区分(库存)商品,您可以在搜索请求中使用"isSerialItem"、"isLotItem"和"子类型"(用于购买/转售/销售)搜索过滤器。