Ошибки Javascript после обновления с CRM 4 до CRM 2011

#javascript #dynamics-crm #dynamics-crm-4 #dynamics-crm-2011

#javascript #dynamics-crm #dynamics-crm-4 #dynamics-crm-2011

Вопрос:

После успешного обновления с CRM 4 до CRM 2011 все работает нормально, за исключением того, что мы продолжаем получать ошибки при загрузке javascript почти во всех диалоговых окнах, включая поисковые. например, при нажатии кнопки «Создать» в контактах появляется диалоговое окно, которое работает нормально, но оно показывает эту ошибку: Произошла ошибка в настраиваемом событии полей. поле: событие окна: ошибка при загрузке: объект не поддерживает это свойство или метод.

Старая система crm 4 вообще не была настроена. и ни в одной его части не был создан пользовательский код javascript.

Заранее благодарю

Я попытался отладить проблему для одного из объектов и обнаружил, что ошибка возникает в этом скрипте:

 var _formHierarchy =     'x7bx22childrenx22x3ax5bx7bx22__typex22x3ax22tabx22,x22idx22x3ax22x7be92df784-47af-48cf-a9cb-ee4811b87d10x7dx22,x22namex22x3ax22taskx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22columnx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22sectionx22,x22idx22x3ax22x7bea054020-22ab-4178-aeb7-3d664d96f88cx7dx22,x22namex22x3ax22task descriptionx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b7bd07330-cc88-4056-acd1-dede64bcf1cax7dx22,x22childx22x3ax7bx22idx22x3ax22subjectx22,x22namex22x3ax22subjectx22,x22controlTypex22x3a0x7dx7dx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b0fde8ba1-0edc-4953-b03d-51aca06cf83cx7dx22,x22childx22x3ax7bx22idx22x3ax22descriptionx22,x22namex22x3ax22descriptionx22,x22controlTypex22x3a0x7dx7dx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7dx5dx7d,x7bx22__typex22x3ax22sectionx22,x22idx22x3ax22x7bE8A0A1AE-3F40-471e-B06E-B221779CA511x7dx22,x22namex22x3ax22task detailsx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7baf141e99-5e42-4650-8e41-851d2128c4bfx7dx22,x22childx22x3ax7bx22idx22x3ax22regardingobjectidx22,x22namex22x3ax22regardingobjectidx22,x22controlTypex22x3a3x7dx7dx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b19816b9b-a8fc-4f92-818e-0a8c599f4107x7dx22,x22childx22x3ax7bx22idx22x3ax22owneridx22,x22namex22x3ax22owneridx22,x22controlTypex22x3a3x7dx7dx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b4ad7b570-173d-4202-855d-0029ec5d40bcx7dx22,x22childx22x3ax7bx22idx22x3ax22actualdurationminutesx22,x22namex22x3ax22actualdurationminutesx22,x22controlTypex22x3a0x7dx7d,x7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b05145c34-364e-4cb6-ac01-de4abbec3949x7dx22,x22childx22x3ax7bx22idx22x3ax22prioritycodex22,x22namex22x3ax22prioritycodex22,x22controlTypex22x3a4x7dx7dx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7bcadc5253-c482-41f3-bd19-da0bf50c3274x7dx22,x22childx22x3ax7bx22idx22x3ax22scheduledendx22,x22namex22x3ax22scheduledendx22,x22controlTypex22x3a0x7dx7d,x7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b5c548ccb-ea01-4ba8-bfa4-cef228e30aa6x7dx22,x22childx22x3anullx7dx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b61b62079-b04f-421a-997b-8b84164b54e7x7dx22,x22childx22x3ax7bx22idx22x3ax22categoryx22,x22namex22x3ax22categoryx22,x22controlTypex22x3a0x7dx7d,x7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7bb200a0b7-a0d5-4eef-8b9c-8da47e7945fcx7dx22,x22childx22x3ax7bx22idx22x3ax22subcategoryx22,x22namex22x3ax22subcategoryx22,x22controlTypex22x3a0x7dx7dx5dx7dx5dx7dx5dx7dx5dx7d,x7bx22__typex22x3ax22tabx22,x22idx22x3ax22x7bD87E07A3-11DA-4b8e-A8CC-F069EBC43FD4x7dx22,x22namex22x3ax22notesx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22columnx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22sectionx22,x22idx22x3ax22x7b81A8A668-2716-4129-846D-E663546EC4FEx7dx22,x22namex22x3ax22notesx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx7bx22__typex22x3ax22cellx22,x22idx22x3ax22x7b169ed329-a2f4-43b6-8149-17df52f49381x7dx22,x22childx22x3ax7bx22idx22x3ax22notescontrolx22,x22namex22x3anull,x22controlTypex22x3a0x7dx7dx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7d,x7bx22__typex22x3ax22rowx22,x22childrenx22x3ax5bx5dx7dx5dx7dx5dx7dx5dx7dx5dx7d';
Sys.Application.add_load(crmFormOnLoadHandler);
function crmFormOnLoadHandler()
{

  window.setTimeout('crmForm_window_onload_handlerx28Xrm.Page.uix29', 0);
}

function displayError(controlName, eventName, errorDescription)
{
alert('There was an error with this fieldx27s customized event.'   'nn'      'Fieldx3a'   controlName   'nn'   'Eventx3a'   eventName   'nn'   'Errorx3a'     errorDescription);
}

function crmForm_window_onload_handler(eventObj,eventArgs)
{

try
{
var   eContext=Mscrm.FormUtility.constructExecutionObject(eventObj,0,null,null);
    eContext=Mscrm.FormUtility.constructExecutionObject(eventObj,0,null,eContext)
    Mscrm.Form_onload();

}
catch(e)
{
displayError('window', 'onload', e.description);

}
if(Mscrm.ClientApiConstants!=nullamp;amp;Mscrm.ClientApiConstants.primaryEntityId!=null){var     oPrimaryEntity = $find(Mscrm.ClientApiConstants.primaryEntityId);if(oPrimaryEntity!=null)     {initialFormXml=oPrimaryEntity.serialize(Mscrm.SerializationMode.onlyDirtyValues);}}}
  

строка Mscrm.Form_onload(); является причиной возникновения ошибки.
файл называется formscript.js.aspx

Ответ №1:

Проверьте эту веб-страницу. У нас была такая же проблема, и в итоге IIS 7.0 был установлен неправильно. Нам необходимо переустановить RewriteModule (который входит в установочный компакт-диск CRM) http://blogs.msdn.com/b/emeadcrmsupport/archive/2011/08/31/crm-2011-form-errors-when-opening-non-customised-forms-object-doesn-t-support-property-or-method-form-load.aspx

Ответ №2:

Это была проблема на стороне сервера. Я не знаю точно, почему это происходит. мы также пытались выполнить исправление установки, но это не решило проблему. Наконец, мы установили свежую копию CRM 2011 на новый сервер, импортировали базу данных и запустили диспетчер миграции данных. и ошибка исчезла.

Ответ №3:

После того, как вы откроете свою форму, перейдите на вкладку Настройка вверху и выберите Настроить форму. На странице настройки формы щелкните Свойства формы. Видите ли вы какие-либо библиотеки, перечисленные в первой таблице? Если это так, то, вероятно, для среды 4.0 был написан какой-то пользовательский JavaScript, о котором вы не знали. Вы можете либо отредактировать библиотеки, либо удалить их. Сохраните, затем опубликуйте.

Комментарии:

1. Нет, там нет библиотек, к тому же это происходит не только в одной форме … это также появляется, например, когда я открываю диалоговое окно » Настройка этой системы » в разделе «Настройка» или когда я нажимаю «Поиск по прайс-листу».

2. Если у вас доступен IE8 или IE9, откройте страницу, которая выдает одну из ошибок -> нажмите F12, чтобы открыть инструменты разработки -> перейдите на вкладку Сценарий -> нажмите Начать отладку -> обновить страницу. Если есть какая-либо ошибка скрипта, инструменты разработки остановятся на ней, и вы сможете ее проверить. Если инструменты разработки не останавливаются при ошибке, это обычно означает, что где-то есть синтаксическая ошибка. В таком случае я бы посоветовал вам сравнить ваш web.config с готовым web.config CRM, чтобы посмотреть, не запущены ли какие-либо модули инжектора, которые могут вызывать проблему.

3. На самом деле я пытался использовать отладчик dev tools, чтобы получить фактическую ошибку, которая происходит за сценой, но безуспешно. ошибка нигде не останавливается… я попытаюсь проверить веб-конфигурации, как вы предложили.

4. Закройте IE, установите Fiddler на свой компьютер, откройте Fiddler, откройте CRM в IE. Когда вы увидите запрос об ошибке скрипта, оставьте его и перейдите к Fiddler. Какие-либо из сеансов, перечисленных в левой панели, красные? Если это так, устраните неполадки в этих запросах. Если нет, то при переходе на Fiddler проверьте несколько последних сеансов, перечисленных слева. Похоже ли, что в ответе на эти запросы содержимое выглядит нормально? (Помните, не закрывайте сообщение об ошибке в IE).

5. Хорошо, я получаю несколько результатов 404 для следующих файлов: {url}/{634374628890000000}/WebResources/Application_ribbon.js {url}/{634374628890000000}/WebResources/Ribbon_main_system_library.js и поскольку это была новая форма задачи, я получил это: {url}/{634374628890000000}/WebResources/Task_main_system_library.js

Ответ №4:

Вы очистили кэш вашего браузера? Возможно, старый скрипт Dynamics CRM 4 все еще кэширован и вместо него используется новый.

Комментарии:

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

Ответ №5:

Возможно, было бы полезно запустить ваш код с помощью этого инструмента Ретта Клинтона. Это хорошо сработало у меня в моем первом проекте 4.0 -2011, а преобразования послужили хорошим ориентиром для будущих миграций JavaScript.

Комментарии:

1. dpii, нет кода для его запуска … система не была настроена, и если вы откроете формы сущностей, вы не найдете там никакой библиотеки js или кода, кроме того, и ошибка возникает также в системных формах, таких как Настройка этой системной формы.