如何通过SuiteTalk/NetSuite从已保存搜索获取显示列?
NetSuite SuiteTalk v2017_2_0: 获取已保存搜索列/排序及参考资源
获取已保存搜索的列与排序配置
你猜的方向完全正确!用netsuite.service.get()确实能拿到已保存搜索的完整配置(包括网站端显示的列和排序规则)。你需要指定的类型是SavedSearch(对应你WSDL里的命名空间,比如你代码里用的ns19,所以类型是ns19:SavedSearch)。
具体代码示例:
# 先获取SavedSearch类型 SavedSearch = netsuite.get_type('ns19:SavedSearch') # 调用get方法传入已保存搜索的internalId saved_search_config = netsuite.service.get(SavedSearch(internalId=search))
返回的saved_search_config对象里,searchColumns字段对应网站端显示的列配置,sortColumns字段则包含排序规则,完全和你在NetSuite网站上看到的已保存搜索设置一致。
另外补充个小技巧:如果你希望search返回的结果列和网站端已保存搜索完全匹配,其实不需要手动指定columns=TransactionSearchRow(),直接调用search时只传savedSearchId就可以了——SuiteTalk会自动复用已保存搜索的列和排序配置:
r = netsuite.service.search(TransactionSearchAdvanced(savedSearchId=search))
可靠的对象/枚举参考资源
你不需要依赖外部链接,Zeep客户端本身就能给你最准确的类型参考:
- 查看所有定义的类型:直接访问
netsuite.wsdl.types,里面包含WSDL里的所有对象结构 - 查看所有枚举类型:访问
netsuite.wsdl.enums,能看到所有可用的枚举值 - 查看单个类型的详细结构:用
print(netsuite.get_type('ns19:SavedSearch'))这类命令,Zeep会输出该类型的所有字段、嵌套结构和类型约束,比文档更直观。
内容的提问来源于stack exchange,提问作者Neil C. Obremski
相关产品推荐
相关产品推荐

