Записки на лету

All posts tagged CRM2011

Вышел накопительный пакет обновлений №15 (KB 2843571) для Microsoft Dynamics CRM 2011.
Скачать можно здесь http://www.microsoft.com/ru-ru/download/details.aspx?id=40346.

В накопительный пакет обновлений №15 для Microsoft Dynamics CRM 2011 вошли следующие изменения:

  • Новая функция, которая будет поставляться с Microsoft Dynamics CRM 2013 . Эта функция перемещает CRM клиентно-ориентированные нагрузки в свой ​​собственный процесс чтобы не делить память с процессом Microsoft Office Outlook. Эта функция также известна как изоляция процессов.
  • Обновления для сервера Microsoft SQL Server для Windows CE 4.0 для лучшего управления памятью, лучшего кэширования и улучшения подключений.
  • Обновление файлов конфигурации клиента CRM для Outlook, чтобы сделать файлы SDF клиента CRM для Outlook, совместимыми с SQL Server для Windows CE 4.
  • Создает провайдера адресной книги для уменьшения проблем с производительностью, которые вызваны большим адресным книгам.
  • Ограничивает количество активных открытых форм.
  • Обеспечивает MAPI Lock time-out.
  • It hard codes a previous registry setting that prevented pinned views from pulling down information to local SQL CE cache. This new DisableMapiCaching setting defaults to a value of 1. For more information about the behavior of this setting, see Slow Performance When Pinning Views in Microsoft Dynamics CRM
    Note This value can be overridden by modifying the DisableMapiCaching setting in the OrgDbOrgSettings tool if the critical update has been applied to the Dynamics CRM server. For more information, see OrgDBOrgSettings Tool for Microsoft Dynamics CRM 2011.

Как видно, почти все изменения касаются клиента для  Outlook.


Недавно сдал экзамен MB2-876 Extending Microsoft Dynamics CRM 2011.

Те кому лень могут сразу качать дамп здесь и зубрить а дальше я, в кратце расскажу, что надо знать и по чему я готовился.

Дамп, имеет комментарии почти к каждому ответу, хотя не все мне понятны. Я брал каждый вопрос из дампа и старался прорабатывать каждый вариант ответа правильный и неправильный.

Очень помогли заметки при подготовке MB2-876 Exam Study Notes некоего Jason Weibel, которые он выложил в своем блоге Microsoft CRM Geek.

Что покрывает экзамен описано на странице экзамена в разделе Skills Measured.

Вот некоторые вещи, которые я выделил для себя на отдельном листе когда готовился к экзамену.

Библиотеки

Для работы с Microsoft Dynamics CRM 2011 есть несколько библиотек: Microsoft.Crm.Sdk.Proxy.dll, Microsoft.Xrm.Sdk.dll, Microsoft.Xrm.Sdk.Workflow.dll, Microsoft.Crm.Tools.EmailProviders.dll, Microsoft.Xrm.Sdk.Deployment.dll, все остальное неймспейсы, поэтому когда спрашивают файл надо указывать файл.

Assembly name Description
Microsoft.Crm.Sdk.Proxy.dll Defines requests and responses for messages business data model specific (non-core) messages as well as enumerations required for working with organization data.
Microsoft.Crm.Sdk Contains enumerations of possible picklists and integer values for some attributes. The naming convention of the classes is <EntityName><AttributeName> to make it easier to locate the specific attribute.
Microsoft.Crm.Sdk.Messages Contains request and responses for business data model specific (non-core) messages.
Microsoft.Xrm.Sdk.dll Defines the core xRM methods and types, including proxy classes to make the connection to Microsoft Dynamics CRM simpler, authentication methods, and the service contracts.
Microsoft.Xrm.Sdk Defines the data contracts for attribute types, interfaces for authoring plug-ins, and other general purpose xRM types and methods.
Microsoft.Xrm.Sdk.Client Defines classes for use by client-code, including a data context, proxy classes to ease the connection to Microsoft Dynamics CRM, and the LINQ provider.
Microsoft.Xrm.Sdk.Discovery Defines all classes required to communicate with the Discovery Service, including the service contract, all request/responses and supporting classes.
Microsoft.Xrm.Sdk.Messages Defines request/response classes for Create, Retrieve, Update, Delete, Associate , Disassociate, and the metadata classes.
Microsoft.Xrm.Sdk.Metadata Defines the data contracts for Microsoft Dynamics CRM metadata.
Microsoft.Xrm.Sdk.Query Defines query classes required to connect to Microsoft Dynamics CRM.
Microsoft.Xrm.Sdk.Workflow.dll Defines types and methods required to author a custom workflow activity.
Microsoft.Xrm.Sdk.Workflow Defines the attribute and dependency property classes required to author a custom workflow activity.
Microsoft.Xrm.Sdk.Workflow.Activities Defines the workflow activities that are used by the Microsoft Dynamics CRM workflow designer.
Microsoft.Xrm.Sdk.Workflow.Designers Defines a Microsoft Visual Studio designer for displaying a Microsoft Dynamics CRM workflow in Visual Studio.
Microsoft.Crm.Tools.EmailProviders.dll Defines methods and types needed for developing a custom email provider component for the Microsoft Dynamics CRM Email Router.
Microsoft.Crm.Tools.Email.Management Defines the email provider management types.
Microsoft.Crm.Tools.Email.Providers Defines the base class for a custom email provider and supporting types.
Microsoft.Xrm.Sdk.Deployment.dll Defines types and methods for interacting with the Deployment Web Service.
Microsoft.Xrm.Sdk.Deployment Defines the data contracts necessary to communicate with the Deployment Web Service.
Microsoft.Xrm.Sdk.Deployment.Proxy
Defines a helper class to generate a proxy for the Deployment Web Service.

Плагины

IOrganizationService is the primary web service for accessing data and metadata in Microsoft Dynamics CRM 2011 is the Organization web service.
IDiscoveryService is a single Microsoft Dynamics CRM installation can host multiple organizations on multiple servers therefore it is important to specify which organizations need to be accessed. The Discovery Web service returns a list of the organization the specified user belongs to and the URL endpoint address for each organization.
Messages: Assign, Create, Delete, Merge, Retrieve, RetrieveMultiple, SetState, Update.
Event
Stage name
Stage number
Description
Pre-Event
Pre-validation
10
Stage in the pipeline for plug-ins that are to execute before the main system operation.
Plug-ins registered in this stage may execute outside the database transaction.
Pre-Event
Pre-operation
20
Stage in the pipeline for plug-ins that are to execute before the main system operation.
Plug-ins registered in this stage are executed within the database transaction.
Post-Event
Post-operation
40
Stage in the pipeline for plug-ins which are to execute after the main operation.
Plug-ins registered in this stage are executed within the database transaction.

Отличие REST и SOAP

REST and SOAP Endpoints
Developers can use JScript and Silverlight Web resources to access Microsoft Dynamics CRM data from inside the application. There are two web services available, each provides specific strengths. The following table describes the appropriate web service to use, depending on the task that you have to perform.
Task Web Service
Create, Retrieve, Update and Delete records. REST Endpoint
Associate and Disassociate records REST Endpoint
Assign Records SOAP Endpoint
Retrieve Metadata SOAP Endpoint
Execute Messages SOAP Endpoint

Both Web services rely on the authentication provided by the Microsoft Dynamics CRM application. They cannot be used by code that executes outside the context of the application and they are effectively limited to use within Silverlight, JScript libraries, or JScript that is included in Web Page (HTML)

Microsoft Dynamics CRM 2011 supports two authentication methods: Basic Claims Authentication and Active Directory Authentication.

Веб-ресурсы

File File extensions Type
Webpage (HTML) .htm, .html 1
Style Sheet (CSS) .css 2
Script (JScript) .js 3
Data (XML) .xml 4
Image (PNG) .png 5
Image (JPG) .jpg 6
Image (GIF) .gif 7
Silverlight (XAP) .xap 8
StyleSheet (XSL) .xsl, .xslt 9
Image (ICO) .ico 10

 

Типы полей

Не путайте тип даных и тип поля, например OptionSetValue это тип данных для поля Option Set.
When creating custom fields in Microsoft Dynamics CRM (CRM), the following data types are available to you as a customizer.
Single Line of Text – This is the simplest field type and is a string attribute.  The length can be defined between 1 and 4000 characters.  This field has special formatting if desired for storing Email, Text Area, Ticker Symbol, and Url.  Using email will create a mailto link for that field.  Ticker Symbol will provide a quote for the ticker entered into the field when the value is clicked.  Url will display a link to the value entered in the field.  Text Area can be displayed as more than one line on the form.
Option Set – This is commonly referred to as a pick list or drop down field.  A user is only allowed to select from the choices provided.  A “blank” value is acceptable.  A default value can also be defined.  NOTE: If you have an option set that will be used on other entities in your deployment, you will want to create a global option set for system consistency.
Two Options – This is similar to an option set but only contains two values, Zero (0) and One (1).  The display of those values can be changed to represent whatever you like. No (0) and Yes (1) are common display values for this field.  Another interesting note about this field is that it can be displayed on the form as a pick list, radio buttons, or check box.  The value is set in the form designer after the field is placed on the form.
Multiple Lines of Text – This field is similar to Single Line of Text, however, it can store much more data than Single Line of Text.  This field will be displayed as more than one line on the form.
Date and Time – This field stores date and time data.  You can choose to have both the Date and Time displayed or only the Date portion.
Lookup – This field represents a link to another entity.  It will create a 1:N relationship in the database with this field representing the “1” side of the relationship.
The fields below are different ways to store numerical values in CRM.  In all cases, you can set minimum and maximum values.  This is valuable if you want to constrain data entry to non-negative values or from 0 to 100 for example.  The minimum and maximum values are different for each data type and are set at the minimum and maximum range when the field is created.
Whole Number – This field allows you to store round (or whole) numbers, meaning no decimal points.  The whole number field has different types which can be selected for Duration (activity), Time Zone, and Language (multilingual support).
Floating Point Number – This field allows for numeric values with up to five (5) decimal points.  The precision of this field is arbitrary, which means it can be used to represent both very large numbers as well as very small numbers.
Decimal Number – This field stores numeric values with up to ten (10) decimal points.  The precision of this field is absolute.
Currency – This field is used to store monetary values.  Based on your currency settings, the correct currency symbol is also displayed such as the dollar sign or euro symbol.  It can also hold up to four (4) decimal points.

Роли безопасности

Privilege
Description
Create
Create an entity instance.
Write
Change entities instances.
Delete
Remove an entity instance.
Read
View entities.
Append
Associate a selected entity instance to another entity instance.
Append To
Associate another entity instance to this entity instance.
Assign
Give ownership of an entity instance to another user.
Share
Give access to entity instances to another user and maintain ownership.
Reparent
Assign a different parent to an entity instance.

Windows Azure

Что касается вопросов по Windows Azure то мы можем использовать AppFabric Service Bus для связи с облачными приложениями, соединяться можно с помощью Access Control Services (ACS) или Active Directory Federation Services 2.0 (ADFS) и это все.


Вышел накопительный пакет обновлений №13 (KB 2791312) для Microsoft Dynamics CRM 2011.
Скачать можно здесь http://www.microsoft.com/ru-ru/download/details.aspx?id=37133.

Добавлена поддержка Windows Server 2012 и AD FS 2.1., подробнее здесь Microsoft Dynamics CRM Compatibility List .

Инструкции по обновлению: How to upgrade a Microsoft Dynamics CRM Server application to Windows Server 2012.

Модуль создания отчетов Microsoft Dynamics CRM 2011 теперь поддерживает Microsoft SQL Server Data Tools и Visual Studio 2010.

Добавлена браузерная совместимость для Firefox, Chrome и Safari но, по-моему,  это уже было в UR12 v.2, на всякий случай добавлю табличку.

 

Платформа Internet Explorer Firefox Chrome Safari
Windows XP Version 7* Посл. версия Посл. версия Не поддерживается
Windows Vista Version 8 and 9 Посл. версия Посл. версия Не поддерживается
Windows 7 Version 8, 9, and 10 Посл. версия Посл. версия Не поддерживается
Windows 8 Version 10 for the desktop** Посл. версия Посл. версия Не поддерживается
Apple OS X 10.7 (Lion) Не поддерживается Не поддерживается Не поддерживается Посл. версия
Apple OS X 10.8 (Mountain Lion) Не поддерживается Не поддерживается Не поддерживается Посл. версия

*IE7 не поддерживается онлайн версией Microsoft Dynamics CRM Online, пользователям Windows XP необходимо обновится до IE8.
**Для IE10 совместимость ограничена  десктоп версией и не поддерживается тач-ориентированная версия.
***Windows RT не поддерживается.

 Так же, обновился SDK до версии 5.0.15, скачать можно здесь http://www.microsoft.com/en-us/download/details.aspx?id=24004

Вышел обновленный SDK для MS Dynamics CRM SDK версии 5.0.14.

Качать здесь: http://www.microsoft.com/en-us/download/details.aspx?id=24004
Из нового я заметил MS Dynamics CRM Developer Toolkit для 12-й студии, а то как я не пытался поставить тулкит для 10-й на 12-ю, он не ставился а когда поставился, то работать не захотел.

Лежит в папке sdk\tools\developertoolkit\

Полный список обновлений здесь (eng): http://msdn.microsoft.com/en-us/library/jj916625.aspx


Нашел в сети свежую подборку статей по CRM 2011 и релизу «Полярис» в частности.

Оригинал Weekly News #4: Microsoft Dynamics CRM 2011 UR12 (Polaris) — Coming soon: More than 500 videos about Microsoft Dynamics CRM 2011

Calling Your Dynamics CRM Customers with Skype by Magnestism (22/01/2013)
What’s New in Microsoft Dynamics CRM Polaris Release: The Slides by Jukka Niiranen (21/01/2013)
JavaScript Compatibility Issue With Microsoft Dynamics CRM 2011 by CRM Software Blog (21/01/2013)
What’s New for Developers for Microsoft Dynamics CRM 2011 and Microsoft Dynamics CRM Online by MSDN (21/01/2013)
User Interface Changes in Dynamics CRM 2011 by Magnestism (21/01/2013)
Process — Driven UI Explored by Microsoft Dynamics CRM — Tips, Tricks and Add-ons (21/01/2013)
Script Errors after Installing UR12 by Dynamics CRM in the Field (21/01/2013)
Announcing Microsoft Dynamics CRM December 2012 Service Update by CRM Community (21/01/2013)
Administrating Cross-Browser Support by Sonoma Partners (21/01/2013)
CRM 2011 Rollup 12 — No More Freezing PC while Publishing by Magnestism (19/01/2013)
You have deployed Dynamics CRM Online, but how do I deploy Polaris content? by Microsoft CRM Team (19/01/2013)
Summary of newly released YouTube videos on Polaris new functionality by Microsoft by Steve Foster (18/01/2013)
Script Errors After the December 2012 Service Update by Microsoft CRM US (18/01/2013)
Microsoft Dynamics CRM Polaris and UR12 Update by Sonoma Partners (18/01/2013)
Updated CRM 2011 Metadata Browser Released by Sonoma Partners (17/01/2013)
Update Rollup 12 for Microsoft Dynamics CRM 2011 is finally available! by Armanino CRM Team (16/01/2013)
Control Which Browsers Your Organization Supports by Microsoft CRM US (16/01/2013)
11 Microsoft Dynamics CRM December 2012 Service Update Videos by Microsoft Dynamics (16/01/2013)
Update on Microsoft Dynamics CRM 2011 Update Rollup 12 Release by CRM Community (15/01/2013)
Dynamics CRM 2011 SDK Query Limitations by API by Microsoft CRM Team (14/01/2013)
APAC Polaris Online Instance First Glance by Steve Foster (14/01/2013)
New and Improved Metadata Browser for Microsoft Dynamics CRM 2011 by Microsoft CRM US (14/01/2013)
Default Activity ‘Filter on’ to ‘All’ Dynamics CRM 2011 UR12 by Magnestism (12/01/2013)
The Dynamics CRM 2011 Rollup Release Fiasco — Call for Change by Microsoft CRM Forum (11/01/2013)
CRM 2011 Multi Browser Support by MSCRM Bing’d (11/01/2013)
Impact of Dynamics CRM December 2012 Service Update and SharePoint Online Service Update on CRM-SharePoint Integration by Microsoft CRM US (08/01/2013)
Use ExecuteMultiple to Improve Performance for Bulk Data Load by MSDN (08/01/2013)
CRM 2011 Polaris — New Xrm.Page Method by Magnetism (08/01/2013)
Retrieve and Detect Changes to Metadata by MSDN (07/01/2013)
CRM 2011 UR12 (POLARIS) — Release Update by Chris Cognetta (13/12/2012)
December 2012 Service Update — Latest Information by Zero2Ten (11/12/2012)


Согласно статье Making Dynamics CRM exclusive again with Windows 8 & Metro MS Dynamics CRM 2011 приобретет внешний вид в стиле MetroUI, чтобы соответствовать Windows 8 как я понял.

“If we didn’t render Dynamcis CRM in the Windows 8 context we’d look foolish.”

 Dennis Michalis (General Manager, Microsoft Dynamics CRM)

«Если мы не будем отрисовывать Dynamcis CRM в стиле Windows 8 мы будем выглядеть глупо.»

 


Всех с прошедшими праздниками.
Спешу рассказать, что за это праздники успел выйти очередной  Накопительный пакет обновления 8 для Microsoft Dynamics CRM 2011 (KB 2600644) (English version Microsoft Dynamics CRM Update Rollup 8)

К сожалению, это не, так называемый Q2 2012 Service Update, в котором нам обещали кроссбраузерность и много всего еще.

Для установки необходим накопительный пакет 6.

Изменений не много, но что-то они стали все чаще и чаще выходить. 🙂


Сегодня компания Microsoft объявила о том, что включает следующий сервисный апдейт для Microsoft Dynamics CRM 2011, кодовое название "R8" под заголовком "CRM Anywhere".

Апдейт  «R8» ожидается во втором квартале 2012 г. и будет основываться на шести базовых темах: Мобильность (Mobility), Браузерная гибкость (Browser Flexibility), Социальность (Social), Промышленные шаблоны (Industry Templates), SQL Server 2012, Сертификация (Certifications).

Особенно хочется отметить встроенную поддержку мобильных устройств (iPhone, iPad, Google Android, RIM Blackberry, Windows Phone) и кроссбраузерность (IE on Windows 7, Safari 5.11 + on Mac OSX and iPad 2, Firefox 6+, Google Chrome 13.x).

Для более подробного ознакомления можно:
Скачать «R8 Release Preview Guide» с сайта Microsoft Dynamics CRM: http://crmpublish.blob.core.windows.net/docs/ReleasePreviewGuide.pdf, копия на моем сайте

Почитать статью нового главного менеджера CRM Денниса Михалиса  (Dennis Michalis): https://community.dynamics.com/product/crm/crmnontechnical/b/crmconnection/archive/2012/02/06/crm-anywhere.aspx


Здравствуйте!
В данном посте я буду описывать маленькие программки, которые мне помогают и облегчают разрабатывать под MS Dynamics CRM 2011.

Рибоны (Ribbons)

Для работы с рибонами я использую CRM 2011 Visual Ribbon Editor, который я нашел на Codeplex где, кстати, много всего полезного найти можно.

Выглядит очень наглядно и удобно.

crmvisualribboneditor

Для работы с рибонами я также использую Ribbon Browser, он только показывает, но, работает быстро и показывает все, что есть на рибоне, что очень полезно если надо что-то хакнуть на стандартных кнопках, табах, групп и т.д.
Есть еще Ribbon Editor for Microsoft Dynamics CRM 2011 но он не визуальный и, к тому же, не совсем стабильно работает, что мне, конечно, не нравится.

Сайтмап (SiteMap)

Для работы с навигационной панелью я использую SiteMap Editor for Microsoft Dynamics CRM 2011.
SiteMap editor screenshot
Все просто понятно и удобно.


В этой статье я буду писать о своем опыте использования JavaScript в MS Dynamics CRM 2011.

Работа с полями

Во-первых, чтобы скрипт работал на форме его необходимо добавить в веб-ресурс и добавить этот веб-ресурс непосредственно на форму.

Получить значение текстового поля «telephone»

Xrm.Page.data.entity.attributes.get("telephone1").getValue();

Сохранить значение «123» в текстовое поле «telephone»

Xrm.Page.data.entity.attributes.get("telephone1").setValue("123");

Получить значение пиклиста «address1_addresstypecode»

Xrm.Page.data.entity.attributes.get("address1_addresstypecode").getValue(); //Цифровое значение
Xrm.Page.data.entity.attributes.get("address1_addresstypecode").getText(); //Текстовое значение

Имейте в виду, что если значение пиклиста не выбрано, то getValue()/getText() вернет «undefined».
Установить значение 2 пиклиста «address1_addresstypecode»

Xrm.Page.data.entity.attributes.get("address1_addresstypecode").setValue(2);

Установить значение поля с датой «birthdate» на сегодня

var today = new Date();
Xrm.Page.data.entity.attributes.get("birthdate").setValue(today);

Для выражения Xrm.Page.data.entity.attributes.get() есть сокращенный вариант Xrm.Page.getAttribute().
Если поле помечено на форме, что оно доступно только для чтения (ReadOnly) чтобы его изменить необходимо выставить ему SubmitMode = Always.

Xrm.Page.getAttribute("fieldName").setSubmitMode("always");

Отключить (Disable) поле «name»

Xrm.Page.ui.controls.get("name").setDisabled(true);

Скрыть (Hide) поле «name»

Xrm.Page.ui.controls.get("name").setVisible(false);

Скрыть (Hide) секцию в табе

Xrm.Page.ui.tabs.get("tabname").sections.get("sectionname").setVisible(false);

Работа с формой

Сохранить форму

Xrm.Page.data.entity.save();

Сохранить и закрыть форму

Xrm.Page.data.entity.save("saveandclose");

Остановить сохранение формы
Вешаемся на событие формы OnSave.
Обязательно надо поставить галочку напротив «Pass execution context as first parameter». Без этого не сработает.

function formOnSave(executionObj)
{
var shouldSave = true;
if (shouldSave) {
alert("Unable to save because of some reason or the other.");
executionObj.getEventArgs().preventDefault();
}
}

Закрыть форму
Пользователю будет показано напоминание если он не сохранил изменения.

Xrm.Page.ui.close();

Открыть форму создания
entityType — имя сущности (entity logical name).

Xrm.Utility.openEntityForm(entityType);

Открыть форму создания с заполненными полями
parameters — объект с параметрами,
entityType — имя сущности (entity logical name).

var entityType = "account";
var parameters = {};
// Заполняем лукап "accountid"
parameters["accountid"] = "b053a39a-041a-4356-acef-ddf00182762b";
parameters["accountidname"] = "Имя организации"
// Следующий параметр только для поля типа Клиент, где надо указать Контакт это или Организация
parameters["accountidtype"] = "account";
// Заполняем текстовое поле "name"
parameters["name"] = "Test";
// Заполняем пиклист "address1_addresstypecode"
parameters["address1_addresstypecode"] = "3";
// Заполняем булево поле Да/Нет  "donotemail"
parameters["donotemail"] = "1";
Xrm.Utility.openEntityForm(entityType, null, parameters);

Подробнее здесь Set Field Values Using Parameters Passed to a Form.
Открыть форму существующей сущности
id — GUID экземпляра сущности,
entityType — имя сущности (entity logical name).

Xrm.Utility.openEntityForm(entityType, id);

Определить тип формы
Значения тип форм (Form type codes):
Create — 1, Update — 2, Read Only — 3, Disabled — 4, Bulk Edit — 6.

Xrm.Page.ui.getFormType();

Получить GUID текущей записи

Xrm.Page.data.entity.getId();

Получить GUID текущего пользователя

Xrm.Page.context.getUserId();

Получить LCID текущего пользователя и организации

Xrm.Page.context.getUserLcid(); //For User
Xrm.Page.context.getOrgLcid(); //For Organization

Список всех LCID здесь.

Получить URL сервера CRM

Xrm.Page.context.getServerUrl();

С выходом 12-го роллапа функция устарела и теперь рекоммендуется делать так

Xrm.Page.context.getClientUrl();

а чтобы работало всегда то так

var ORG_URL = (typeof(Xrm.Page.context.getClientUrl) == "function") ? Xrm.Page.context.getClientUrl() : Xrm.Page.context.getServerUrl();

Получить имя организации

Xrm.Page.context.getOrgUniqueName();

Лукапы

Получить GUID значение лукапа «contactid»

Xrm.Page.data.entity.attributes.get("contactid").getValue()[0].id;

Получить текстовое значение лукапа «contactid»

Xrm.Page.data.entity.attributes.get("contactid").getValue()[0].name;

Функция, которая заполняет лукап
Параметры:
fieldName — название поля,
id — GUID экземпляра сущности,
name — название сущности, которое будет показано в лукапе,
entityType — имя сущности (entity logical name)

// Set the value of a lookup field
function SetLookupValue(fieldName, id, name, entityType) {
if (fieldName != null) {
var lookupValue = [];
lookupValue[0] = {};
lookupValue[0].id = id;
lookupValue[0].name = name;
lookupValue[0].entityType = entityType;
Xrm.Page.getAttribute(fieldName).setValue(lookupValue);
}
}

Данная функция заполняет первое и единственное значение лукапа. Если необходимо ввести несколько значений то следует добавить к массиву lookupValue необходимое количество объектов, по одному на каждый элемент в лукапе.

Тоже самое можно сделать с помощью JSON в одну строку, что выглядит, правда уже не так красиво.

Xrm.Page.data.entity.attributes.get(fieldName).setValue([{ id: id, name: name, entityType: entityType}]);

Открыть диалоговое окно
В CRM 2011 есть обертка для window.showModalDialog(), функция называется openStdDlg().

openStdDlg(sPath, oArgs, iWidth, iHeight, bResizable, bModeless, sCustomWinParams);

где:
sPath — ссылка на окно,
oArgs — объект с параметрами,
iWidth — ширина окна,
iHeight — высота окна,
bResizable — можно ли изменять размер окна,
bModeless — ,
sCustomWinParams — пользовательские параметры, передаваемые в окно.

Открыть форму сущности
Следующий пример открывает форму существующей сущности incident с GUID = 47c2bb7b-ba62-4afb-9b10-1a24c7a2799e в новом окне.

window.open(Xrm.Page.context.getServerUrl() +
"/main.aspx?etn=incident&pagetype=entityrecord&id=" +
encodeURIComponent("{47c2bb7b-ba62-4afb-9b10-1a24c7a2799e}"),
"_blank",
"location=no,menubar=no,status=no,toolbar=no",
false);

Обновить рибон
Обновляет только состояние Enable/Disable Rule;

Xrm.Page.ui.refreshRibbon();

Статья еще не закончена и, скорее всего, вряд ли будет, так как я буду ее пополнять по мере расширения моего собственного опыта.
Ждите обновлений…