カスタム ダッシュボードで、データのリストを表示したいと考えています。Advance Find を使用してカスタム ビューを作成するとき、「next x days」フィルターを使用しています。カスタム フィールドから「X」を動的に設定できますか? 各行は異なる X を持つことができます。
SQL Reporting Services を使用してこれを行うことができますが、通常のリストを使用したいと考えています。レポートを使用する方法はありますか?
ありがとうございました。
カスタム ダッシュボードで、データのリストを表示したいと考えています。Advance Find を使用してカスタム ビューを作成するとき、「next x days」フィルターを使用しています。カスタム フィールドから「X」を動的に設定できますか? 各行は異なる X を持つことができます。
SQL Reporting Services を使用してこれを行うことができますが、通常のリストを使用したいと考えています。レポートを使用する方法はありますか?
ありがとうございました。
実際には、回避策のカスタマイズなしでこれを行うことは不可能に見えます! (私の知る限り)。ただし、プラグインをロードするたびに条件フィルターを変更できます。これを行うには、新しいエンティティとその上に数値フィールドを作成できます。ダッシュボードが読み込まれるたびに、そのエンティティの値を置き換えることで、ビューの条件を変更できます。以下のスニペットは、プラグインで役立ちます。
public void Execute(IServiceProvider serviceProvider)
{
// Obtain the execution context from the service provider.
IPluginExecutionContext context = (IPluginExecutionContext)serviceProvider.GetService(typeof(IPluginExecutionContext));
if (context.Mode == 0 && context.Stage == 20 && context.MessageName.Equals("RetrieveMultiple"))
{
if (context.InputParameters.Contains("Query"))
{
if (context.InputParameters["Query"] is QueryExpression)
{
QueryExpression objQueryExpression = (QueryExpression)context.InputParameters["Query"];
if (objQueryExpression.EntityName == "account")
{
IOrganizationServiceFactory serviceFactory = (IOrganizationServiceFactory)serviceProvider.GetService(typeof(IOrganizationServiceFactory));
IOrganizationService service = serviceFactory.CreateOrganizationService(context.UserId);
ConditionExpression privateFlagCondition;
privateFlagCondition = new ConditionExpression()
{
AttributeName = "statustype",
Operator = ConditionOperator.Equal,
Values = { "1" }
};
FilterExpression newFilter = new FilterExpression()
{
FilterOperator = LogicalOperator.Or,
Conditions = { privateFlagCondition }
};
objQueryExpression.Criteria.AddFilter(newFilter);
}
}
}
}
}