Что касается CRM 2011, хотя он и так уже устарел - лучший подход, чем предлагается в принятом действии, состоит в том, чтобы запустить вашу логику после публикации RetrieveMutliple вашей пользовательской сущности, чтобы избежать создания / удаления некоторых магических записей (а пользователям придется только иметь право на чтение для них, а не создавать или обновлять).
ужно, чтобы какой-нибудь код выполнялся по нажатию кнопки ленты на объекте, который обновляет некоторые связанные данные из CRM Online 2011. Я бы предпочел не писать всю эту логику в JScript. Есть ли способ вызвать код на C # из JScript? Я посмотрел на файл JScript, который Microsoft использует на ленте, и он выглядит так:
Mscrm.Campaign.copyCampaign = function (campaignId, saveAsTemplate) {
var $v_0 = new RemoteCommand("MarketingAutomation", "CopyCampaign", null);
$v_0.SetParameter("campaignId", campaignId);
$v_0.SetParameter("saveAsTemplate", saveAsTemplate.toString());
var $v_1 = $v_0.Execute(),
$v_2 = $v_1.ReturnValue;
openObj(Mscrm.EntityTypeCode.Campaign, $v_2, null, null, Mscrm.NavigationMode.NavigationModeInline, null);
Mscrm.Utilities.refreshParentGrid(Mscrm.EntityTypeCode.Campaign, campaignId)
};
Я вижу, что выполняется вызов RemoteCommand, который, я полагаю, возвращается к какой-либо функции веб-службы. Я надеюсь сделать что-то подобное. Могу ли я добавить свои собственные функции веб-службы?
Мне удалось позвонить из JScript, чтобы отправить сообщение «Назначить» для объекта в качестве теста. Это потенциально может работать с плагином, но кажется странным отправлять сообщение для события выполнения, которое на самом деле не происходит, просто для запуска некоторого кода C # («Назначить», «Обновить» и т. Д.), И я не Не вижу способа создавать свои собственные сообщения.