|
|
#1 |
|
Участник
|
Не получается выбрать нужные продукты-заменители
Задача: пытаюсь получить продукты-заменители некоторого продукта через стадартную связь productsubstitute_association.
Но получается выбрать только ВСЕ продукты в системе, которые являются кому-нить заменителем, а если вводить фильтр на продукт источник (тот, которому надо найти заменители), то возвращается пустая коллекция: Код: ConditionExpression condSubstitute = newConditionExpression();
condSubstitute.AttributeName = "productid";
condSubstitute.Operator = ConditionOperator.Equal;
condSubstitute.Values = newobject[] { newGuid("8C28A112-0110-DF11-A6A0-000C29F68112") }; // ID продукта, у которого надо найти заменители
FilterExpression filterSub = newFilterExpression();
filterSub.Conditions = newConditionExpression[] { condSubstitute };
LinkEntity linkToProdObj = newLinkEntity();
linkToProdObj.LinkFromEntityName = "product";
linkToProdObj.LinkFromAttributeName = "productid";
linkToProdObj.LinkToEntityName = "productsubstitute";
linkToProdObj.LinkToAttributeName = "productid";
LinkEntity linkToProdSubstObj = newLinkEntity();
linkToProdSubstObj.LinkFromEntityName = "productsubstitute";
linkToProdSubstObj.LinkFromAttributeName = "productid";
linkToProdSubstObj.LinkToEntityName = "product";
linkToProdSubstObj.LinkToAttributeName = "productid";
linkToProdSubstObj.LinkCriteria = filterSub;
linkToProdObj.LinkEntities = newLinkEntity[] { linkToProdSubstObj };
QueryExpression query = newQueryExpression();
query.EntityName = EntityName.product.ToString();
query.ColumnSet = colsSubstitute;
query.LinkEntities = new LinkEntity[] { linkToProdObj };
BusinessEntity[] bus = service.RetrieveMultiple(query).BusinessEntities; |
|
|
|
|
#2 |
|
Чайный пьяница
|
У меня заработал такой код:
Код: CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = AuthenticationType.AD;
token.OrganizationName = "Microsoft";
CrmService crmservice = new CrmService();
crmservice.CrmAuthenticationTokenValue = token;
crmservice.UseDefaultCredentials = true;
crmservice.Url = (string)(Registry.LocalMachine.OpenSubKey("Software\\Microsoft\\MSCRM").GetValue("ServerUrl")) + "/2007/crmservice.asmx";
QueryExpression query = new QueryExpression(EntityName.product.ToString());
LinkEntity linkentity = query.AddLink("productsubstitute", "productid", "productid");
linkentity.LinkCriteria.AddCondition("substitutedproductid", ConditionOperator.Equal, new Guid("121F4274-3E13-DF11-91AF-0003FFD0167C"));
query.ColumnSet = new AllColumns();
List<BusinessEntity> list = crmservice.RetrieveMultiple(query).BusinessEntities;
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit Последний раз редактировалось a33ik; 06.02.2010 в 22:23. |
|
|
|
| За это сообщение автора поблагодарили: Alir (1). | |
| Теги |
| c#, crm4 |
|
|
Похожие темы
|
||||
| Тема | Ответов | |||
| Выбрать организации без возможных сделок | 10 | |||
| Замена сущности "продукты" | 5 | |||
| продукты в документах | 2 | |||
| Как загрузить продукты в MS CRM? | 1 | |||
|