用一个查询从销售订单直通供应商账单-NetSuite

news/2024/9/30 9:27:51

image-20240419110043185

有什么用

用一个查询从销售订单直通供应商账单 NetSuite: 从SO销售订单,到PO采购订单,到Bill供应商账单

下面文章的分享仅作为演示在SuiteQL Query Too中的展示,现实情况下的应用可以非常灵活(由于范围广泛无法此文章中展开)

怎么用

`SELECT Transaction.ID,Transaction.TranDate,BUILTIN.DF(Transaction.Type)  AS Type,Transaction.TranID,REPLACE(BUILTIN.DF(Transaction.Status), BUILTIN.DF(Transaction.Type) || ' : ', '') AS Status,Transaction.ForeignTotalFROM TransactionWHERE Transaction.ID IN (-- 这是第一个嵌套SELECT DISTINCT TransactionLine.TransactionFROM TransactionLineWHERE (TransactionLine.CreatedFrom in (-- 这是第二个嵌套SELECT DISTINCT TransactionLine.TransactionFROM TransactionLineWHERE (TransactionLine.CreatedFrom = 50878826))))`

背景

SO销售订单,自动生成多个PO采购订单;这些设置是定义了销售货品属于Speical Order或者Drop Ship。

当SO销售订单审批通过以后,这些PO采购订单就会自动生成,然后走采购流程,收货,预付款或最后供应商发账单Bill。另外一边继续走销售订单的系统及现实流程

那么如何通过最起初原始的一张SO销售订单,查询到一共关联到了具体哪些供应商的账单呢?

用上面那一个查询即可得出:

image-20240419111639828

而它对应了系统中的多个流程和交易订单。

分析该query查询

最小的第二个嵌套

SELECT DISTINCT TransactionLine.Transaction
FROM TransactionLine
WHERE (TransactionLine.CreatedFrom = 50878826)

查询哪些PO采购订单是创建于特定的SO销售订单(50878826),这借助了NetSuite中采购订单的ID是链接存储与SO销售订单的Item列表中(可通过‘Create PO’来查询)。

查询系统交易的交易行表(TransactionLine),通过TransactionLine.CreatedFrom指定SO销售订单,然后向上一级查询当前交易行的系统交易/订单ID。

这个查询得到了3个PO号码:

image-20240419112503073

第一个嵌套

 SELECT DISTINCT TransactionLine.TransactionFROM TransactionLineWHERE (TransactionLine.CreatedFrom in (-- 这是第二个嵌套SELECT DISTINCT TransactionLine.TransactionFROM TransactionLineWHERE (TransactionLine.CreatedFrom = 50878826)))

这个查询其实已经查到供应商的账单了,

原理是通过已知的PO采购订单,来查询哪些交易是创建自这些PO采购订单的,而Bill供应商账单就是创建自PO采购订单的,而且他们二者通过CreatedFrom来链接。

image-20240419112939609

最上级查询

SELECT Transaction.ID,Transaction.TranDate,BUILTIN.DF(Transaction.Type)  AS Type,Transaction.TranID,REPLACE(BUILTIN.DF(Transaction.Status), BUILTIN.DF(Transaction.Type) || ' : ', '') AS Status,Transaction.ForeignTotalFROM TransactionWHERE Transaction.ID IN (--  ...)

该最上级查询是用于输出用户友好的结果,比如一个NS系统内部的链接(当然也可以挂一个SuiteLet链接下一步交易事务处理)

这是一个非常灵活的应用query的例子,可以无限延展出很多实例和应用,如果你有什么想法,欢迎留言或meeting

相关内容

灵感来源

NetSuite: SuiteQL and Related Transactions (Revisited)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/29842.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

ArrayList in C#

https://dotnettutorials.net/lesson/arraylist-collection-csharp/ c#中的数组列表是什么?c#中的ArrayList是一个非泛型集合类,它的工作方式类似于数组,但提供了动态调整大小、从集合中间添加和删除元素等功能。c#中的ArrayList可以用来添加未知数据,也就是说,当我们不知…

bzoj4399: 魔法少女LJJ

先上头图:诈骗题认真读题 c<=7 只需要考虑前七个操作 一.动态开点即可 二.线段树合并 三.四.对于这两个操作,可以先统计出有多少个数小于/大于x,然后删除所有小于/大于x的数,并在x位置加上这些数 五.下放标记查询即可 六.每个数最大为1e9,直接乘肯定会炸,所以可以用do…

企业数据保护,从严防内部信息泄露开始

在当今的数字化时代,数据已成为企业最宝贵的资产之一。然而,随之而来的是数据安全威胁,尤其是内部信息泄露,这不仅会导致企业面临巨大的经济损失,还可能损害企业的品牌形象和客户信任。因此,从严防内部信息泄露开始,成为企业数据保护策略中的重要一环。确立内部数据分类…

实验四--代码审查

一、实验题目 :代码审查 二、实验目的 1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查; 2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。 三、实验内容 1、IDEA环境和PyCharm环境二选一; IDEA环境 (1)预先准备在IDEA环境下实现对输…

选择排序桌面检查

码云代码:https://gitee.com/yibo886/codes/0ihau3t9pj6bkfqzxcmnl93 博客园: 一、实验题目 :代码审查 二、实验目的 1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查; 2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。 三、实验内容…

docker的一些命令 以及dockerFile语法

文件夹重新命名mv node-v14.18.1-linux-x64 node-v14.18.1 dokcer 命令 将linux的文件复制到docker容器里面 docker cp /usr/local/node-v14.18.1/ 8ec26052dfad:/usr/local/node-v14.18.1 将docker容器里面的文件复制到linux docker container cp ng…

实验四:代码审查

一、实验题目 :代码审查 二、实验目的 1、熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查; 2、根据代码规范制定代码走查表,并按所制定的审查规范互审代码。 三、实验内容 1、IDEA环境和PyCharm环境二选一; IDEA环境 (1)预先准备在IDEA环境下实现对输…

代码审查

一、实验题目 :代码审查 二、实验目的熟悉编码风格,利用开发环境所提供的平台工具对代码进行自动格式审查;根据代码规范制定代码走查表,并按所制定的审查规范互审代码。三、实验内容 PyCharm环境预先准备在PyCharm环境下实现对输入的n个整数进行排序的代码;利用Code Inspe…