В 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.

Читать полностью »


© 2009-2010 Microsoft Dynamics CRM | Авторы: Афендиков Константин и Головчан Екатерина |