06.02.2010, 17:05 | #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; |
|
06.02.2010, 20:07 | #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 |
|