В MS CRM 2011 Form Assistant  по умолчанию отключен во всех сущностях, кроме трех:

  • Case (incident)
  • Product
  • Service Activity (serviceappointment)

Для этих сущностей Form Assistant можно отключить установкой <form> (FormXML)enablerelatedinformation атрибута в false.

Или же воспользоваться JavaScript:

document.getElementById(‘tdRelatedInformationPane’).style.display = ‘none’;

Данная функция делает поле динамически обязательным или рекомендуемым. Скопируйте функцию в событие OnLoad и вызовите как указано в комментариях в примере:

//****************************************************
gSetFieldRequired = function (field, src, height, width){

/*
Description: This function is used to dynamically make a field required, recommended in JavaScript
Params:    field  = name of the field
src  = url with image eg. /_imgs/frm_required.gif
height =  number, optional e.g. 50
width  =  number optional e.g. 50
Returns:   nothing
Example 1 :  gSetFieldRequired(, 'new_partweight', 'required');     = add *-sign to label
Example 2:   gSetFieldRequired( 'new_partweight', 'recommended');     = add +-sign to label
Example 3:   gSetFieldRequired(, 'new_partweight', 'none');      = no image
Calls:    nothing
Author:  Geron Profet
*/

var attribute = document.getElementById(field);
if (!attribute){return};

switch(src.toLowerCase())
{
case 'required':
src = '/_imgs/frm_required.gif';
attribute.setAttribute('req', 2);
break;
case 'recommended':
src = '/_imgs/frm_recommended.gif';
attribute.setAttribute('req', 1);
break;
case 'none':
src = ''
attribute.setAttribute('req', 0);
break;
}

//if src is passed add image
if (src != '') {
var img = document.createElement("img");
img.setAttribute('src', src);

//check if custom height and width
if (height && height != '' ){img.setAttribute('height', height);}
if (width && width != '' ){img.setAttribute('height', width);}
//img.setAttribute('width', width);

var objLabel = document.getElementById(field+'_c');
if (objLabel){objLabel.appendChild(img)};
}
else{
document.getElementById(field+'_c').innerHTML = document.getElementById(field+'_c').innerText;
}
}

Источник

Задача очень простая – отображать только активные записи (в этом примере – продукты) в лукапе при работе с расширенным поиском.
Сначала я попробовал изменить вручную экспортированный файл кастомизации сущности product, добавив условие фильтра

<filter type="and">
                    <condition attribute="statecode" operator="eq" value="0" />
                  </filter>

и импортировав его обратно не получил требуемого результата. После чего я решил написать плагин, который бы перехватывал сгенерированный fetch xml и заменял его на нужный мне. Вот, что получилось:
Читать полностью »

В случае необходимости вывода значений picklist из MS CRM для своего aspx веб-приложения можно использовать данный код

picklist to dropdownlist

picklist to dropdownlist

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

Как вы знаете для Microsoft Dynamics CRM можно создавать отчеты, которые будут доступны для определенных типов записей: контактов, организаций, заказов и др. Для это необходимо использовать фильтрованные представления в базе данных: FilteredContact, FilteredAccount … и указать в настройке отчета необходимые данные в пунктах: «Связанные типы записей» и «Отобразить в».

Например, такой запрос:

select name
from FilteredAccount CRMAF_FilteredAccount

будет трансформировать системой в запрос вида

select name
from FilteredAccount CRMAF_FilteredAccount
where CRMAF_FilteredAccount.accountid = '{0000000-0000-0000-0000-000000000000}'

т.е. идентификатор выбранной записи будет подставлен автоматически.

Проблема может возникнуть, когда в вашем отчете используется несколько DataSet. Почему-то идентификатор записи будет передаваться только в 1й DataSet, а в остальные нет. Поэтому если есть необходимость использовать полученный идентификатор в нескольких DataSet, то придется выполнить следующие шаги:

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


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