В нашей организации установлена CRM, которую мы тщательно настроили. Прямо сейчас я пытаюсь внедрить решение для обеспечения соблюдения бизнес-правила: запретить пользователям обновлять программу до неактивной, когда программа является возможностью назначения на открытую возможность.
я знаю, как предотвратить обновление; вернуть false
из OnSave()
в JavaScript. Я не смог узнать, когда это было так. Лучшая идея, которая пришла мне в голову, — это сделать SOAP-вызов конечной точке OData в CRM, но на последнем шаге я столкнулся с камнем преткновения. (Если у вас есть идея получше, я полностью открыт для нее.)
Вот что у меня есть. Я могу получить указанную программу:programset(guid'thisone')
.../OrganizationData.svc/uwkc_programSet(guid'F4D75E9D-3A79-E611-80DA- C4346BACAAC0') суб>
Я могу получить соответствующие обозначения:programset(guid'thisone')/program-desig
.../OrganizationData.svc/uwkc_programSet(guid'F0D75E9D-3A79-E611-80DA-C4346BACAAC0')/uwkc_uwkc_program_uwkc_opportunitydesignation< /под>
и связанные возможности для следующих:programset(guid'thisone')/program-desig?$expand=desig-opportunity
...OrganizationData.svc/uwkc_programSet(guid'F0D75E9D-3A79-E611-80DA-C4346BACAAC0')/uwkc_uwkc_program_uwkc_opportunityобозначение?$expand=uwkc_opportunity_uwkc_opportunityобозначение
... но теперь я немного застрял.
Я могу отфильтровать примитивное значение возможности (ссылка + поле)...$filter=opp-oppdesig/EstimatedCloseDate gt DateTime('2016-07-01')
...OrganizationData.svc/uwkc_programSet(guid'F0D75E9D-3A79-E611-80DA-C4346BACAAC0') /uwkc_uwkc_program_uwkc_opportunityобозначение?$expand=uwkc_opportunity_uwkc_opportunityобозначение&$filter=uwkc_opportunity_uwkc_opportunityобозначение/EstimatedCloseDate%20gt%20DateTime%272016-07-01%27
и я могу отфильтровать сложное значение в Обозначении (поле + значение)...$filter=statecode/Value gt 0
...OrganizationData.svc/uwkc_programSet(guid'F0D75E9D-3A79-E611-80DA-C4346BACAAC0' )/uwkc_uwkc_program_uwkc_opportunityобозначение?$expand=uwkc_opportunity_uwkc_opportunityобозначение&$filter=statecode/Value%20gt%200
но я не могу заставить фильтр работать со сложным значением возможности (соединение + поле + значение) ...$filter=opp-oppdesig/statecode/Value gt 0
...OrganizationData.svc/uwkc_programSet(guid'F0D75E9D-3A79-E611- 80DA-C4346BACAAC0')/uwkc_uwkc_program_uwkc_opportunityобозначение?$expand=uwkc_opportunity_uwkc_opportunityобозначение&$filter=uwkc_opportunity_uwkc_opportunityобозначение/код состояния/Value%20gt%200
Не существует свойства statecode в типе Microsoft.Xrm.Sdk.Entity в позиции 45.
Как я могу отфильтровать состояние объекта на два расстояния от того, на что я смотрю? Или, если есть лучший способ, как лучше всего предотвратить деактивацию используемых программ?