Расширенная функциональность
07
Сен
9

Ограничения CRM 2011

Название Описание
OLEDBTimeout Таймаут одного SQL запроса.
Задается в ключе реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
MSCRM\OLEDBTimeout

По умолчанию: 30 секунд.
Подробнее: http://support.microsoft.com/kb/918609

ExtendedTimeout Таймаут ASP.NET.
Задается в ключе реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
MSCRM\ExtendedTimeout

По умолчанию: 1 000 000 ms.
Подробнее: http://support.microsoft.com/kb/918609

NormalTimeout Задает таймаут SOAP запроса для большинства операций.
Задается в ключе реестра:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\
MSCRM\NormalTimeout

По умолчанию: 300 000 ms.

executionTimeout
и
maxRequestLength
executionTimeout – задает максимальное количество секунд, которые разрешено выполняться запросу. После чего он будет автоматически завершен ASP.NET.
По умолчанию: 110 секунд.
Подробнее: http://support.microsoft.com/kb/918609
maxRequestLength – определяет предел для буферизации входного потока (в KB). Этот предел может использоваться, чтобы предотвратить атаки тип «Отказ в обслуживании», которые могут быть вызваны, например, отправкой больших файлов на сервер.
По умолчанию: 4096 KB.
Подробнее: http://support.microsoft.com/kb/918609
Оба параметра настраиваются в web.config’е сайта CRM в тэге httpRuntime:
<httpRuntime executionTimeout=»300″ maxRequestLength=»8192″/>
Sandbox Isolation timeout Таймаут выполнения плагинов зарегистрированных в режиме Sandbox.
По умолчанию: 2 минуты.
Fetch Aggregate Limit Максимальное количество записей, которые могут быть агрегированы.
Значение может быть обновлено с помощью SDK запроса UpdateAdvancedSettingsRequest.
Альтернативой может служить неподдерживаемое обновление БД: одновите значение строки AggregateQueryRecordLimit в таблице DeploymentProperties в БД ConfigDB:

update DeploymentProperties
set IntColumn = 100000
where ColumnName = 'AggregateQueryRecordLimit'

Также нужно будет обновить ключ реестра клиентской машины, на которой установлен Outlook Offline Client:

HKCU\Software\Microsoft\MSCRMClient\
AggregateQueryRecordLimit

По умолчанию: 50 000 записей.
Подробнее: http://msdn.microsoft.com/en-us/library/microsoft.xrm.sdk.deployment.updateadvancedsettingsrequest.aspx

Query Result Limit Максимальное количество записей возвращаемых по запросу в CRM.
По умолчанию: 5 000 записей.
Чтобы изменить это значение, нужно добавить в реестр

HKEY_LOCAL_MACHINE\Software\
Microsoft\MSCRM

DWORD ключ MaxRowsPerPageс нужным значением лимита. При этом максимальное значение может быть 5000.
А чтобы совсем отключить лимит, добавьте DWORD ключ TurnOffFetchThrottling с отличным от 0 значением.
З.Ы. Для LINQ-провайдера, «не существует» подобного ограничения, поскольку он автоматически выполнит несколько запросов, чтобы получить все нужные записи.

Infinite Loop Detector Этот параметр определяет количество дочерних процессов, которые может запустить родительский процесс. Это ограничение необходимо, чтобы предотвратить появление бесконечного цикла (например в работе плагинов).
Изменить можно путем SQL запроса для таблицы Deployment Properties (неподдерживаемое изменение).

update DeploymentProperties
Set IntColumn = 20
Where ColumnName = 'MessageProcessorMaximumDepth'

Лимит задается в столбце IntColumn.
По умолчанию: 8 дочерних процессов в час.

Количество Правил поиска дубликатов По умолчанию для одного объекта разрешается иметь максимум 5 опубликованных правил.
Экспорт в Excel Мксимальное количество записей выгружаемое в Excel.
Изменить можно двумя путями…
Неподдерживаемый: нужно для БД _MSCRM выполнить такой SQL запрос:

Update Organizationbase 
Set MaxRecordsForExportToExcel = 150000
Where NAME = 'OrgName'

Поддерживаемый путь через Веб-сервис:

Organization organization = new Organization();
organization.Id = orgId;
organization.MaxRecordsForExportToExcel = 300000;
service.Update(organization);

По умолчанию: 10 000 записей.
Подробнее: http://msdn.microsoft.com/en-us/library/gg328408.aspx#attribute

Импорт данных
  • Один импортируемый файл не может превышать 8 Мб;
  • Вы можете импортировать в CRM .ZIP архив, содержащий множество CSV, TXT и Excel-файлов. И каждый из этих вложенных файлов не должен превышать 8 Мб.
4 вложенных Представления По умолчанию только первые четыре вложенных Представления заполняются данными автоматически при открытии формы.
Остальные же нужно ручками обновить, если хотите подтянуть в них данные на онлоаде:

Xrm.Page.ui.tabs.get('<TabName>').
controls.get('<Subgrid_Name>').refresh();

Альтернативой является использование на онлоаде следующего скрипта:

Количество записей в Представлении Максимальное количество записей, которое можно отобразить в представлени – 250 штук. Чтобы обойти это ограничение, нужно в БД организации обновить таблицу UserSettings и задать для каждого пользователя в отдельности (а можно и для всех сразу) какое количество записей отображать в Представлениях:

UPDATE UserSettings
SET PagingLimit=1000
WHERE SystemUserId = '2A01D976-322E-E011-9645-00155D106B02'
Максимальный размер загружаемых файлов В системных настрйоках CRM Вы можете изменить разрешенный размер загружаемых файлов (например в Примечания). При этом и данная настройкам имеет свой лимит, изменить который Вы можете с помощью следующего SQL запроса:

Update ServerSettingsProperties
Set IntColumn = 100 
Where columnname='ImportMaxAllowedFileSizeInMB'
Комментарии (9)
  • vopros 07.09.2012

    Как можно снять ограничение по максимальному количеству записей, выгружаемых в маркетинговый список из Управления участниками маркетингового списка? ( при выгрузке 100 тыс записей выдается сообщение Превышено максимально допустимое количество записей)

  • slivka_83 07.09.2012

    Если не ошибаюсь это ограничение Fetch Aggregate Limit.

  • Игорь 07.09.2012

    А есть ли возможность убрать ограничение или увеличить таймаут устаревания сессии 🙁 Не удобно работать , постоянно приходится забивать свой логин и пароль 🙁

  • slivka_83 07.09.2012

    Если Вы локально работаете, то можно в настройках браузера (ослика точно) поставить входить под текущем пользователем и ничего вводить не нужно.

  • Игорь 07.09.2012

    Вот и именно что не локально. Настроен ADFS IDF и очень надоедает постоянно логинится 🙁 сохранять в браузере логин и пароль — не вариант — окно все-равно бывает переключается или пропадают данные 🙁
    Что за ослик?

  • Игорь 07.09.2012

    Спасибо большое! 🙂 Буду пробовать

  • Villi_83 07.09.2012

    Подскажите, а Sandbox Isolation timeout можно как то изменить?

*

code