选择专家

2020-08-24 00:59发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家您好, 我是Crys...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


专家您好,

我是Crystal报表的新手,老实说,我不是那种精通计算机的人,而是试图修改一些报表以适应雇主的需求。 我有一个报告来跟踪我的公司资产,并且我正在努力使报告根据我在报告启动器上输入的内容为我提供某些数据。 我尝试使用选择专家来过滤数据,如下所示:

{?SortByCatOrAsset} = ['C','A']和
(如果{{BegCat} <>''则{HRCA.AssetCategory}> = {?BegCat}否则为1 = 1)和< br>(如果{?EndCat} <>'zzzzzzzzzzzz',则{HRCA.AssetCategory} <= {?EndCat}否则为1 = 1),并且将{?BegAsset}中的{HRCA.Asset}更改为{?EndAsset},
{HRCA.HRCo} = {?Company}和
(如果{?Status} ='8',则为true,否则为
if hasvalue({?Resource})然后{@AssignedTo} = {?Resource } else
true)和
(如果{?Status} ='0',则{HRCA.udAssetStatus} ='0-可用'else
,如果{?Status} ='1',则{HRCA。 udAssetStatus} ='1-Unavailable'else
如果{?Status} ='2'则{HRCA.udAssetStatus} ='2-Dispose'else
如果{?Status} ='3'则{HRCA。 udAssetStatus} ='3卖'否则
如果{?Status} ='4'则{HRCA.udAssetStatus} ='4-有库存'else
如果{?Status} ='5'则{HRCA .udAssetStatus} ='5-缺少'else
,如果{?Status} ='6',则{HRCA.udAssetStatus} ='6-Reserved'else
,如果{?Status} ='7',则{HRCA .udAssetStatus} ='7-Stolen'else
如果{?Status} ='8'然后1 = 1)

。我的公式有问题吗? 并没有给我我需要的结果,尤其是在使用Resource参数时:我想在启动器中过滤资源#,结果返回空白。

请帮助我。 谢谢。 我正在使用Crystal Report 2013

2条回答
木偶小白
2020-08-24 01:38

嗨Van

里面有很多过滤器,因此很难追踪导致记录丢失的原因。

第一步,我要 建议您摆脱if-else逻辑,并以简单的" AND-OR"语句替换它们。 像这样:

 {?SortByCatOrAsset} = ['C','A'] AND
 ({?BegCat} =''或{HRCA.AssetCategory}> = {?BegCat})和
 ({?EndCat} ='zzzzzzzzzzzz'或{HRCA.AssetCategory} <= {?EndCat})并且
 {?BegAsset}中的{HRCA.Asset}到{?EndAsset}中,并且
 {HRCA.HRCo} = {?Company}并且
 ({?Status} ='8'OR NOT(hasvalue({?Resource}))OR(hasvalue({?Resource})AND {@AssignedTo} = {?Resource}))AND
 (
 ({?Status} ='0'并且{HRCA.udAssetStatus} ='0-Available')
 要么
 ({?Status} ='1'并且{HRCA.udAssetStatus} ='1-Unavailable')
 要么
 ({?Status} ='2'AND {HRCA.udAssetStatus} ='2-Disposed')
 要么
 ({?Status} ='3'AND {HRCA.udAssetStatus} ='3-Sold')
 要么
 ({?Status} ='4'和{HRCA.udAssetStatus} ='4-In Stock')
 要么
 ({?Status} ='5'AND {HRCA.udAssetStatus} ='5-Missing')
 要么
 ({?Status} ='6'AND {HRCA.udAssetStatus} ='6-Reserved')
 要么
 ({?Status} ='7'AND {HRCA.udAssetStatus} ='7-Stolen')
 )

如果从上面的代码中删除以下行,报告是否返回结果:

({?Status} ='8'OR NOT(hasvalue({?Resource}  ))OR(hasvalue({?Resource})AND {@AssignedTo} = {?Resource}))AND 

如果不返回任何数据,则需要检查字段{ @AssignedTo}对于您选择的资源具有任何值。

-Abhilash

一周热门 更多>