NetSuite SuiteQL技术问询:获取可用表及销售订单与物料关联查询
NetSuite SuiteQL 查询解决方案
1. 根据销售订单ID查询出库物料
销售订单的行项目存储在transactionline表,通过transaction关联订单主数据,再关联item表获取物料详情,注意过滤交易类型为销售订单(可用类型名称'Sales Order'或内部ID3):
SELECT t.tranid AS 销售订单编号, tl.line AS 行号, i.itemid AS 物料编码, i.displayname AS 物料名称, tl.quantity AS 出库数量, tl.amount AS 金额 FROM transaction t JOIN transactionline tl ON t.id = tl.transaction JOIN item i ON tl.item = i.id WHERE t.id = :SO_ID -- 替换为目标销售订单ID AND t.type = 'Sales Order'
2. 根据物料ID查询包含该物料的所有销售订单
反向关联item、transactionline和transaction表,过滤目标物料ID即可,可额外排除已取消的无效订单:
SELECT DISTINCT t.id AS 销售订单ID, t.tranid AS 销售订单编号, t.trandate AS 订单日期, t.entity AS 客户ID, i.itemid AS 物料编码 FROM item i JOIN transactionline tl ON i.id = tl.item JOIN transaction t ON tl.transaction = t.id WHERE i.id = :ITEM_ID -- 替换为目标物料ID AND t.type = 'Sales Order' AND t.status NOT IN ('Cancelled', 'Rejected') -- 可选:排除无效订单
3. 获取SuiteQL所有可查询表
有两种实用方式:
- SuiteQL查询元数据:直接查询系统内置信息模式表,获取所有可用表:
SELECT table_name, table_type FROM information_schema.tables WHERE table_schema = 'public' ORDER BY table_name
- NetSuite后台查看:登录NetSuite后进入
Setup > SuiteAnalytics > Analytics Browser,左侧Tables分类下可浏览所有可查询表及字段;若需表关系参考,可在SuiteAnalytics Workbook中通过拖拽表的方式查看系统自动识别的可关联字段。
内容的提问来源于stack exchange,提问作者Mule
相关产品推荐
相关产品推荐

