NC56 自定义查询的维护

2023-10-13 04:20
文章标签 自定义 查询 维护 nc56

本文主要是介绍NC56 自定义查询的维护,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

昨天收到一个业务反馈,某公司自定义查询的销售订单、和手工核销的数据对不上了。于是进行了简单的排查和分析。顺带了解了 NC56 的自定义查询的维护方法。

操作位置

在【客户化 - 自定义查询 - 查询引擎 -  查询引擎管理 】找到对应的自定义查询。并且点击右上方菜单的 “业务向导” 来编辑里面的参数。

具体方法

首先点击对应的自定义查询。然后,点击上方菜单的“业务向导 - 查询设计向导”。

在 “1.参数设计” 页签中,找到 “查询参数定义”。这些参数可以在后面的 “参数过滤” 用到。

然后点击 “2.SQL设计” 页签。这里常用的有 “连接条件” 、 “选择字段” 、“筛选条件” 。当你需要查看目前使用的 SQL 片段、找到查询设计窗体的空白处并双击两下;这时会弹出包含 SQL 片段的窗口

当时没发现上面的快捷方法、于是花了两个钟梳理了下面的查询逻辑( 哎 ~~)。根据用户描述找不到销售应收的供应商名字,做如下查询。

select sale.vreceiptcode , -- 1销售单据编号sale.dbilldate, --2单据日期cubas.custname, --4客商名称psn.psnname, --5销售员名字mea.measname, --6单位orderb.nnumber, --7数量round(exe.vdef10,2) vdef10, --8柜*小时orderb.nsummny nsummny, --9本币价税合计round(exe.vdef9,2) vdef9, --10运输费round(exe.vdef8,2) vdef8, --11装卸费orderb.nsummny-nvl(exe.vdef9, 0)-nvl(exe.vdef8, 0) nsummny0, --12收入净额exe.ntotalpaymny, --13销售单据贷方金额round((orderb.nsummny-nvl(exe.vdef9, 0)-nvl(exe.vdef8, 0))/(case  when exe.vdef10 = '0.00' then '1'  when exe.vdef10 is null then '1' else exe.vdef10 end),2)nsummny2, --14综合工时价格balance.dlastdate,-- 15报销日期orderb.cconsigncorpid, -- !筛选条件:发货公司名称/* where 条件 */sale.dr, orderb.dr, exe.dr, gb.dr,/*  */orderb.nsummny --本币价税合计
from so_sale sale
left join so_saleorder_b orderb 
on orderb.csaleid = sale.csaleidleft join bd_invbasdoc inv 
on orderb.cinvbasdocid=inv.pk_invbasdocleft join bd_invcl invcl 
on inv.pk_invcl=invcl.pk_invcl left join bd_invmandoc invman 
on inv.pk_invbasdoc=invman.pk_invbasdoc left join arap_djfb djfb 
on orderb.corder_bid=djfb.ddhid left join bd_measdoc mea 
on inv.pk_measdoc=mea.pk_measdocleft join so_saleexecute exe 
on orderb.corder_bid = exe.csale_bidleft join bd_psndoc psn 
on sale.cemployeeid=psn.pk_psndocleft join bd_cumandoc cuman 
on (sale.ccustomerid=cuman.pk_cumandoc)left join bd_cubasdoc cubas 
on (cuman.pk_cubasdoc=cubas.pk_cubasdoc)left join so_balance balance 
on balance.csaleid = sale.csaleidleft join ic_general_b gb 
on sale.csaleid=gb.cfirstbillhid and nvl(gb.dr,0)=0where 
cubas.CUSTNAME in('珠海威生化妆品有限公司')
and balance.dlastdate > '2023-08-31'
and (nvl(sale.dr,0)=0 and nvl(orderb.dr,0)=0 and nvl(exe.dr,0)=0  and nvl(gb.dr,0)=0)
and nvl(gb.dr,0)=0
and nvl(djfb.dr,0)=0

结果销售订单记录还在、而且查得出来。但是发货公司字段是没有值的。于是再次把目光放到了“筛选条件” 的 “公司” 这个地方(图为修改好之后的):

毕竟当时想到取销售附件表( so_saleorder_b)的 发货公司字段 来关联 “查询参数定义” 中的 “公司” 、也是相当奇葩了。赶紧改成用销售表头( so_sale)中的公司字段,用户复核之后自定义查询数据与手工核销记录一致、问题解决。

总结

制作 NC 自定义查询的时候,关联字段尽量选择表头(如销售表头)中常见的字段。同时需要熟练掌握 NC 公司基础档案 bd_corp 表中、pk_corp 公司主键 | unitname 公司名称 | fathercorp 上级公司主键 这些常见字段的应用。

(完)

这篇关于NC56 自定义查询的维护的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/200712

相关文章

Oracle查询表结构建表语句索引等方式

《Oracle查询表结构建表语句索引等方式》使用USER_TAB_COLUMNS查询表结构可避免系统隐藏字段(如LISTUSER的CLOB与VARCHAR2同名字段),这些字段可能为dbms_lob.... 目录oracle查询表结构建表语句索引1.用“USER_TAB_COLUMNS”查询表结构2.用“a

解密SQL查询语句执行的过程

《解密SQL查询语句执行的过程》文章讲解了SQL语句的执行流程,涵盖解析、优化、执行三个核心阶段,并介绍执行计划查看方法EXPLAIN,同时提出性能优化技巧如合理使用索引、避免SELECT*、JOIN... 目录1. SQL语句的基本结构2. SQL语句的执行过程3. SQL语句的执行计划4. 常见的性能优

Linux系统中查询JDK安装目录的几种常用方法

《Linux系统中查询JDK安装目录的几种常用方法》:本文主要介绍Linux系统中查询JDK安装目录的几种常用方法,方法分别是通过update-alternatives、Java命令、环境变量及目... 目录方法 1:通过update-alternatives查询(推荐)方法 2:检查所有已安装的 JDK方

springboot自定义注解RateLimiter限流注解技术文档详解

《springboot自定义注解RateLimiter限流注解技术文档详解》文章介绍了限流技术的概念、作用及实现方式,通过SpringAOP拦截方法、缓存存储计数器,结合注解、枚举、异常类等核心组件,... 目录什么是限流系统架构核心组件详解1. 限流注解 (@RateLimiter)2. 限流类型枚举 (

SpringBoot 异常处理/自定义格式校验的问题实例详解

《SpringBoot异常处理/自定义格式校验的问题实例详解》文章探讨SpringBoot中自定义注解校验问题,区分参数级与类级约束触发的异常类型,建议通过@RestControllerAdvice... 目录1. 问题简要描述2. 异常触发1) 参数级别约束2) 类级别约束3. 异常处理1) 字段级别约束

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口

MySql基本查询之表的增删查改+聚合函数案例详解

《MySql基本查询之表的增删查改+聚合函数案例详解》本文详解SQL的CURD操作INSERT用于数据插入(单行/多行及冲突处理),SELECT实现数据检索(列选择、条件过滤、排序分页),UPDATE... 目录一、Create1.1 单行数据 + 全列插入1.2 多行数据 + 指定列插入1.3 插入否则更

MySQL 多列 IN 查询之语法、性能与实战技巧(最新整理)

《MySQL多列IN查询之语法、性能与实战技巧(最新整理)》本文详解MySQL多列IN查询,对比传统OR写法,强调其简洁高效,适合批量匹配复合键,通过联合索引、分批次优化提升性能,兼容多种数据库... 目录一、基础语法:多列 IN 的两种写法1. 直接值列表2. 子查询二、对比传统 OR 的写法三、性能分析

SpringBoot+EasyExcel实现自定义复杂样式导入导出

《SpringBoot+EasyExcel实现自定义复杂样式导入导出》这篇文章主要为大家详细介绍了SpringBoot如何结果EasyExcel实现自定义复杂样式导入导出功能,文中的示例代码讲解详细,... 目录安装处理自定义导出复杂场景1、列不固定,动态列2、动态下拉3、自定义锁定行/列,添加密码4、合并

从入门到精通MySQL联合查询

《从入门到精通MySQL联合查询》:本文主要介绍从入门到精通MySQL联合查询,本文通过实例代码给大家介绍的非常详细,需要的朋友可以参考下... 目录摘要1. 多表联合查询时mysql内部原理2. 内连接3. 外连接4. 自连接5. 子查询6. 合并查询7. 插入查询结果摘要前面我们学习了数据库设计时要满