【问题标题】:Netsuite - get a list of all items optimisationNetsuite - 获取所有项目优化的列表
【发布时间】:2012-10-18 00:45:36
【问题描述】:

我刚刚开始为客户端使用 Netsuite,我需要获取所有项目的列表。我搜索了一下,但找不到任何东西,而且非常紧急。此刻我可以搜索,但它会返回整个记录列表,然后我必须循环并从每个记录列表中获取 salesDescription 对象以放入数组中。

来自 PHP,这似乎令人难以置信的冗长,无疑是错误的,有没有人有任何这样的更好的搜索方式的例子,因为它需要大约 10 秒来运行搜索?

10 分钟!我知道它会很慢,所以我正在做一个 cron 来将列表缓存到一个 json 对象,所以它不是很重要,但一定有更好的方法吗?

【问题讨论】:

  • 您能否澄清一下您的问题。目前尚不清楚您要检索什么。另外,您使用的是 PHP_Toolkit 吗?

标签: php list search netsuite


【解决方案1】:

换个角度来看问题,提取信息时使用NetSuite的只读ODBC驱动效率更高。

唯一的缺点是,这种方法需要激活 NetSuite 分析模块,并且您的客户每月需要支付大约 300 美元的费用。

SuiteAnalytics 模块信息:http://www.netsuite.com/portal/products/suiteanalytics.shtml

ODBC 设置步骤(来自第 3 方网站): http://blog.prolecto.com/2009/03/27/netsuite-delivers-on-odbc/

【讨论】:

    【解决方案2】:

    如果您使用的是 PHP_Toolkit,Netsuite API 允许您运行搜索。您应该能够搜索您需要的条件并且只接收匹配的记录。您还可以将搜索首选项设置为仅返回一定数量的结果(即仅返回前 100 个结果)。

    我不太确定您要优化什么,但这里有一些选项:

    1. 如果您想要所有记录,请不要进行搜索,请执行获取所有请求
    2. 如果您只需要某些记录,请进行搜索以避免不必要的结果
    3. 通过设置搜索首选项限制返回的记录数,以便您可以批量处理它们。
    4. 如果您要查找的只是获取销售说明字段而没有其他记录,我认为无法通过 API 完成。不过,您可以尝试进行保存的搜索,然后使用 API 来获取您保存的搜索。

    通常我发现使用 PHP_Toolit 进行 Netsuite 搜索需要 20 秒或更短的时间。但是,如果您以多个用户的身份运行代码,conflicting wsdls 就会出现问题。

    如果你有兴趣,我有几个examples 在我的博客上使用 PHP_Toolkit 进行搜索:

    【讨论】:

      【解决方案3】:

      使用搜索条件和结果列在 NetSuite 中创建保存的搜索。您可以添加排序和其他搜索功能。

      使用 ItemSearchAdvanced 对象调用您保存的搜索并处理您的记录。

      应该很快。

      在您的搜索首选项中,您可以在一次调用中定义页面大小(返回的记录数),然后使用 SearchMoreWithSearchId 函数对结果进行分页。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-03-17
        • 1970-01-01
        • 2019-11-02
        • 1970-01-01
        • 2015-08-28
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多