采购订单,只显示字段标题,不显示数据
金蝶云社区-云社区用户9kV62015
云社区用户9kV62015
0人赞赏了该文章 2,221次浏览 未经作者许可,禁止转载编辑于2016年05月17日 09:38:19


采购订单,当序时薄过滤时,表格设置,勾选商品品牌后,不显示数据。
不勾选商品品牌,则显示数据。


追踪sql得到如下

select top 40
v1.FTranType AS FTranType,
v1.FCheckerID AS FCheckerID,
v1.FInterID AS FInterID,
u1.FEntryID AS FEntryID,
t3.FName AS FSupplyIDName,
v1.Fdate AS Fdate,
v1.FBillNo AS FBillNo,
v1.FPrintCount AS FPrintCount,
v1.FChangeDate AS FChangeDate,
v1.FChangeCauses AS FChangeCauses,
v1.FVersionNo AS FVersionNo,
case when v1.FCheckerID>0 then 'Y' when v1.FCheckerID<0 then 'Y' else '' end AS FCheck,
CASE WHEN v1.FStatus = 3 OR v1.FClosed = 1 THEN 'Y' ELSE '' END AS FClose,
t14.Fname AS FItemName,
t14.Fmodel AS FItemModel,
t17.FName AS FUnitIDName,
t10.FName AS FDeptIDName,
t11.FName AS FEmpIDName,
u1.FAuxQty AS FAuxQty,
ISNULL(u1.FDate, '') AS FSenddate,
t18.FName AS FBaseUnitID,
case when v1.FCancellation=1 then 'Y' else '' end AS FCancellation,
case when u1.FMRPClosed=1 then 'Y' else '' end AS FMRPClosed,
v1.FSupplyID AS FSupplyID,
t14.FQtyDecimal AS FQtyDecimal,
t14.FPriceDecimal AS FPriceDecimal,
t14.FNumber AS FFullNumber,
Case WHEN t14.FOrderUnitID=0 THEN '' Else t500.FName end AS FCUUnitName,
Case When v1.FCurrencyID is Null Or v1.FCurrencyID='' then (Select FScale From t_Currency Where FCurrencyID=1) else t503.FScale end AS FAmountDecimal,
u1.FReceiveAmountFor_Commit AS FReceiveAmountFor_Commit,
u1.FSecCoefficient AS FSecCoefficient,
u1.FSecQty AS FSecQty,
t505.FName AS FSecUnitName,
tpl1.FWebTplName AS FWebTplType,
tpl.FWebtplName AS FWebtplID,
u1.FBarCode AS FBarCode,
t1032.FName AS FComBrandID from POOrder v1 INNER JOIN POOrderEntry u1 ON v1.FInterID = u1.FInterID AND u1.FInterID <>0
LEFT OUTER JOIN t_Supplier t3 ON v1.FSupplyID = t3.FItemID AND t3.FItemID <>0
LEFT OUTER JOIN t_Department t10 ON v1.FDeptID = t10.FItemID AND t10.FItemID <>0
LEFT OUTER JOIN t_Emp t11 ON v1.FEmpID = t11.FItemID AND t11.FItemID <>0
INNER JOIN t_ICItem t14 ON u1.FItemID = t14.FItemID AND t14.FItemID <>0
INNER JOIN t_MeasureUnit t17 ON u1.FUnitID = t17.FItemID AND t17.FItemID <>0
LEFT OUTER JOIN t_MeasureUnit t18 ON t14.FUnitID = t18.FMeasureUnitID AND t18.FMeasureUnitID <>0
LEFT OUTER JOIN t_MeasureUnit t500 ON t14.FOrderUnitID = t500.FItemID AND t500.FItemID <>0
LEFT OUTER JOIN t_Currency t503 ON v1.FCurrencyID = t503.FCurrencyID AND t503.FCurrencyID <>0
LEFT OUTER JOIN t_MeasureUnit t505 ON t14.FSecUnitID = t505.FItemID AND t505.FItemID<>0
LEFT OUTER JOIN IC_WebtplToStorage tpl ON u1.FTplEStock = tpl.FWebtplID AND tpl.FWebtplID<>''
LEFT OUTER JOIN IC_WebtplFlat tpl1 ON u1.FTplEflat = tpl1.FWebTplType AND tpl1.FWebTplType<>''
LEFT OUTER JOIN t_ICItem t1033 ON u1.FItemID = t1033.FItemID AND t1033.FItemID<>0
--此处缺少 left outer join t_Item t1032 on u1.FComBrandID = t1032.FItemID 导致sql出错,查不出数据
where (v1.FInterID=1154 and u1.FEntryID=1) order by ISNULL(t1032.FName,'') DESC, v1.FInterID,u1.FEntryID

【通过测试新的账套(没打补丁,没有添加触发器,没有添加隐藏字段)没有出现此问题。】
请问这是怎么回事?单据下查采购订单也会出现此问题。
我在采购订单上,隐藏了很多字段,也添加了几个字段。配置了销售订单到采购订单的单据转换流程。打过 KIS旗舰版4.0综合补丁PT098156和PT099499 补丁。
添加过触发器:从帖子上拷贝的,解决采购订单下推出库单,没有记录的问题。

if (object_id('tgr_poorder_fvalidflag_insert', 'tr') is not null)
drop trigger tgr_poorder_fvalidflag_insert
go
create trigger tgr_poorder_fvalidflag_insert
on poorder for insert,update
as
declare @flag int,@fid int
select @flag = FValidFlag,@fid=FInterID from inserted;
if(@flag=0)
update POOrder set FValidFlag =1 where FInterID=@fid
update POOrder set FValidFlag=1 where FValidFlag =0

在社区,查过类似的帖子,专家给出的建议是,在新的账套测试一下;总部内部没有还原此类问题。
希望高手,专家能够给点建议,指出,什么错误操作可能引起此问题,我好改正错误,谢谢!!

捕获.PNG(54.06KB)

捕获2.PNG(54.25KB)

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

请选择打赏金币数 *

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