销售出库汇总表无法显示查询的结果
金蝶云社区-lmssfly
lmssfly
0人赞赏了该文章 559次浏览 未经作者许可,禁止转载编辑于2016年07月06日 13:50:34

按物料自定义字段(品牌)查询某段时间的销售出库汇总表时,发现前端查询没有结果,实际这段时间是有销售出库业务发生的。
初步排除并非“品牌”字段超长

后经SQL跟踪发现,原来在查询到值写入临时表#Data有列字段(FConsignPrice Decimal(32,10) Null,)的值超长了,提示被截断了,故查询没有结果展示,通过SELECT该部分数据显示此列存在15位小数以上的内容(48.2850943396226),请总部老师给予解决办法,谢谢!

如分析有误,请指正找出解决办法。{:3_53:}

1.临时表SQL
CREATE TABLE #DATA(
FProp1034 varchar(355) null,
FNumber varchar(355) null,
FShortNumber varchar(355) null,
FBarCode varchar(355) null,
FName varchar(355) null,
FModel varchar(355) null,
FUnitName varchar(355) null,
FQtyDecimal smallint null,
FPriceDecimal smallint null,
FOutQty Decimal(28,10) null,
FOutAmount Decimal(32,10) null,
FConsignAmount Decimal(32,10) NUll,
FConsignPrice Decimal(32,10) Null,
FCommitQty Decimal(28,10) null,
FCommitAmount Decimal(32,10) null,
FNotCommitAmount Decimal(32,10) null,
FNotCommitQty Decimal(28,10) null,
FCUUnitName varchar(355) null,
FCUUnitOutQty Decimal(28,10) null,
FCUUnitCommitQty Decimal(28,10) null,
FCUUnitNotCommitQty Decimal(28,10) null,
FSumSort smallint not null Default(0),
FID int IDENTITY )

2.待写入临时表数据SQL
INSERT INTO #DATA SELECT CASE WHEN GROUPING(t1.F_103)=1 THEN '合计' WHEN GROUPING(t1.FNumber)=1 THEN CONVERT(varchar(355),t1.F_103)+'(小计)' ELSE CONVERT(varchar(355),t1.F_103) END,
t1.FNumber,'', '', '', '', '', 6, 4,
ROUND(SUM(ISNULL(V1.FOUTQTY,0)),6),
sum(isnull(v1.FOutAmount,0)),
sum(Isnull(v1.FConsignAmount,0)),
CASE WHEN ROUND(SUM(ISNULL(V1.FOUTQTY,0)),6)=0 THEN 0 ELSE sum(isnull(v1.FConsignAmount,0)) / ROUND(SUM(ISNULL(V1.FOUTQTY,0)),6) END,
sum(isnull(v1.FCommitQty,0)),sum(isnull(v1.FCommitAmount,0)),0,0,'',
SUM(ISNULL(v1.FOutQty,0)/(Case When ISNULL(t3.FCoefficient,0)=0 Then 1 Else t3.FCoefficient End )),
SUM(ISNULL(v1.FCommitQty,0)/(Case When ISNULL(t3.FCoefficient,0)=0 Then 1 Else t3.FCoefficient End )),
0, CASE WHEN GROUPING(t1.F_103)=1 THEN 101
WHEN GROUPING(t1.FNumber)=1 THEN 102 ELSE 0 END From #DATA2 v1
Inner Join t_ICItem t1 On v1.FItemID=t1.FItemID
Inner Join t_Organization t2 On v1.FCustID=t2.FItemID
Inner Join T_MeasureUnit t3 On t1.FSaleUnitID = t3.FMeasureUnitID
WHERE 1=1
GROUP BY t1.F_103,t1.FNumber WITH ROLLUP

查询结果如下:
NULL DELIXI.DZ47LE1251D100 6 4 36 0.0000000000 1221.1700000000 33.9213888888889 6 249.2700000000 0 0 36 6 0 0
NULL DELIXI.DZ47LE1252D100 6 4 53 0.0000000000 2559.1100000000 48.2850943396226 12 643.9500000000 0 0 53 12 0 0

您的鼓励与嘉奖将成为创作者们前进的动力,如果觉得本文还不错,可以给予作者创作打赏哦!

请选择打赏金币数 *

10金币20金币30金币40金币50金币60金币
可用金币: 0