モジュール名に関連する連絡先ごとにデータを取得する関数が1つあります。ダイナミクスcrmの各エンティティからの連絡先に関連するフィールド名を取得するC#
コード:
if (modulename == "lead" || modulename == "opportunity")
{
contactfield= "parentcontactid";
}
else if (modulename == "salesorder" || modulename == "quote" || modulename == "incident" || modulename == "invoice")
{
contactfield= = "customerid";
}
else
{
}
quotequery = new QueryExpression()
{
Distinct = false,
EntityName = modulename,
ColumnSet = new ColumnSet(true),
Criteria =
{
Filters =
{
new FilterExpression
{
FilterOperator = LogicalOperator.And,
Conditions =
{
new ConditionExpression("ownerid", ConditionOperator.Equal, userid),
new ConditionExpression(contactfield, ConditionOperator.Equal, lstcredential.Contactid.ToString())
},
}
}
}
};
queryentityCollection = _serviceProxy.RetrieveMultiple(quotequery).Entities;
しかし、すべてのモジュールのためにe.g.inそれはparentcontactidですが、請求書のためにそれが得意である鉛contact.forに関連するさまざまな異なる名前があります。
エンティティ名から連絡先に関連する属性名を取得するソリューションはありますか?なぜなら、各エンティティのelseが起動時と同様に解決できないからです。
私に答えてください。
残念ながら、主な連絡先属性は異なるエンティティによって異なる可能性があります。エンティティ名を切り替えて、探している属性を派生させる必要があります。 – dynamicallyCRM