В Microsoft Dynamics CRM 3.0 для расширения базовой бизнес-логики использовались callout (колауты), представляющие собой dll-сборки, которые можно было подключать на определенные сущности и события, предварительно запрограммировав необходимый функционал.
В Microsoft Dynamics CRM 4.0 callout переименовали в plug-in (плагин) и добавили дополнительные возможности. Более подробно сейчас не будем останавливать на перечислении всех возможностей plug-in, а рассмотрим простой пример.
Я приведу пример обновления поля new_companyname в task при выборе определенной записи из поля «В отношении» (regardingobjectid). Например, если выбран контакт и он относится к организации, то получаем имя родительской организации (account)
Читать полностью »
Были добавлены несколько глав книг Programming Microsoft Dynamics CRM 4.0 и CRM as a Rapid Development Platform в библиотеку MSDN, которые доступны для скачивания.
Очень толковые книги и одну из них я уже начал изучать CRM as a Rapid Development Platform.
Обновился список документации для разработчика Microsoft Dynamics CRM
Случалось ли Вам сталкиваться с задачей, когда необходимо в MS CRM переопределить событие OnSave так, чтобы оно не работало как сохранение
Или же производило некоторые действия и только после этого – сохранение. Например, сделаем вот что:
Вставим в событие OnSave сущности incident (Обращение) следующий javascript-код :
event.returnValue = false;
Этот код прекращает выполнение события OnSave. После того, как Вы включили событие OnSave, сохранили этот код и опубликовали изменения, можете жать сколько угодно на кнопки «Save» и «Save and Close», не произойдет ровным счетом ничего
И даже окно не закроется при нажатии на «Save and Close».
Теперь для чего это нужно. Приведу теоретический пример: допустим, когда Вы ввели данные на форму, Вам нужно по нажатию на «Save» провести проверку введенных данных. Если данные удовлетворяют условиям, сохранение происходит, иначе – окно с ошибкой и «откат» сохранения. Тут следует использовать if. И в ветке, которая отвечает за действия, когда условие не выполнено, вставить код остановки события Save.
Вот такой пример применения, этот метод работает и в MS CRM 4.0, и так же в MS CRM 3.0.
Если вы попробовали такой встроенный инструмент MS CRM 4.0 как сопоставление (mapping) то знаете, что в системных сущностях, таких как: opportunityproduct (продукты для возможной сделки), quotedetail (продукты для предложений), salesorderdetail (продукты для заказов), invoicedetail (продукты для счетов) нельзя сделать сопоставление (т.е. передавать значения) между созданными атрибутами, а ведь так хочется
Вот как можно сделать, например, сопоставление атрибутов продуктов между quotedetail и salesorderdetail
Читать полностью »
Чтобы добавить свой подпункт в навигационное меню, нужно всего лишь добавить элемент SubArea в нужную Вам область Area файла sitemap.xml.
В этом примере рассмотрим как добавить свою веб-страницу в пункт Resource Center навигационного меню. Следует приготовить иконку для этого – она не должна весить более 10 килобайт, размер должен быть 16*16 и формат .gif. Я располагаю свою иконку в \ISV\myimages\myicon.gif.
Читать полностью »