0

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

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

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

4

3 回答 3

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/

于 2013-05-02T16:36:52.380 回答
0

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

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

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

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

如果您有兴趣,我的博客上有几个使用 PHP_Toolkit 进行搜索的示例:

于 2012-10-18T02:05:02.617 回答
0

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

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

应该很快。

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

于 2013-07-08T04:13:53.607 回答