09.12.2011, 15:11 | #1 |
Участник
|
Ошибка при открытии кастомной сущности
была создана кастомная сущность, для сущности был созданы:
- необходимые плагины - бп - добавлены ява скрипты на форму - добавлены 3-ри кнопки чз PragmaToolKit 1.3 , также привязаны java функции на форме Обнаружилась проблема. При открытии формы кастомной сущности чз клиент Outlook появилась ошибка: Содержимое отчетов об ошибках Microsoft Dynamics CRM <CrmScriptErrorReport> <ReportVersion>1.0</ReportVersion> <ScriptErrorDetails> <Message>Синтаксическая ошибка</Message> <Line>3</Line> <URL>/userdefined/edit.aspx?_gridType=10001&etc=10001&id=%7b69C6E209-2B22-E111-A4B7-00505684000E%7d&pagemode=iframe&rskey=388134142&sitemappath=Workplace%7cMyWork%7cnav_dashboards</URL> <PageURL>/userdefined/edit.aspx?_gridType=10001&etc=10001&id=%7b69C6E209-2B22-E111-A4B7-00505684000E%7d&pagemode=iframe&rskey=388134142&sitemappath=Workplace%7cMyWork%7cnav_dashboards</PageURL> <Function>anonymous($p0,$p1){var$v_0=Mscrm.XmlUtil.createXmlHttp();$v_0.open("GET",$p0,false);$v_0.send(null);$v_0.status===200&&Mscrm.IncludeLoader.get_$3x_0().appendChild(this.$4a_0($p0,$v_0.responseText,$p1))}</Function> <CallStack> <Function>anonymous($p0,$p1){var$v_0=Mscrm.XmlUtil.createXmlHttp();$v_0.open("GET",$p0,false);$v_0.send(null);$v_0.status===200&&Mscrm.IncludeLoader.get_$3x_0().appendChild(this.$4a_0($p0,$v_0.responseText,$p1))}</Function> <Function>anonymous($p0,$p1){if(!this.$1s_0)this.$1s_0=this.$4q_0();if(IsNull($p1))$p1=false;var$v_0=$p0.toString(),$v_1=$v_0.toUpperCase();if(!Array.contains(this.$1s_0,$v_1)){this.$59_0($v_0,$p1);Array.add(this.$1s_0,$v_1)}}</Function> <Function>anonymous(uri,useInlineScripts){if(!Mscrm.CrmHeader.$24_0)Mscrm.CrmHeader.$24_0=newMscrm.ScriptLoader;if(uri.get_path().toUpperCase()==="/_STATIC/_COMMON/SCRIPTS/GLOBAL.JS")uri=Mscrm.CrmUri.create("/_common/global.ashx");Mscrm.CrmHeader.$24_0.addInclude(uri,useInlineScripts)}</Function> <Function>anonymous($p0,$p1,$p2,$p3){Mscrm.CrmHeader.setScriptFile(Mscrm.CrmUri.create($p1),true);for(var$v_0=window,$v_1=$p0.split("."),$v_2=0;$v_2<$v_1.length;$v_2++)if($v_0)$v_0=$v_0[$v_1[$v_2]];if(!IsNull($v_0)&&typeof$v_0===Mscrm.TypeNames.functionType){var$v_3=this.$Dp_1($p2,$p3);return$v_0.apply(null,$v_3)}returnnull}</Function> <Function>anonymous($p0,$p1){var$v_0=this.$BU_1($p0.FunctionName,$p0.Library,$p0.Parameters,null);if(!IsNull($v_0)&&typeof$v_0===Mscrm.TypeNames.booleanType)return$v_0;elsereturn$p1}</Function> <Function>anonymous($p0){if(IsNull($p0))returnfalse;var$v_0=$p0.DefaultValue;switch($p0.RuleType){case8:$v_0=this.$ER_1($p0);break;case1:$v_0=this.$EU_1($p0);break;case7:$v_0=this.$EV_1($p0,$p0.DefaultValue);break;case4:$v_0=this.$EW_1($p0,$p0.DefaultValue);break;case16:$v_0=this.$EX_1($p0);break;case2:$v_0=this.$EY_1($p0);break;case10:$v_0=this.$EZ_1($p0);break;case19:$v_0=this.$Ea_1($p0,$p0.DefaultValue);break;case17:$v_0=this.$Eb_1($p0);break;case12:$v_0=this.$Ec_1($p0);break;case6:$v_0=this.$ET_1($p0,$p0.DefaultValue);break;case5:$v_0=this.$Ed_1($p0,$p0.DefaultValue);break;case11:$v_0=this.$Ee_1($p0);break;case3:$v_0=this.$Ef_1($p0,$p0.DefaultValue);break}if(IsNull($v_0))$v_0=IsNull($p0.DefaultValue)?true:$p0.DefaultValue;if(!IsNull($p0.InvertResult)&&$p0.InvertResult)$v_0=!$v_0;return$v_0}</Function> <Function>anonymous($p0,$p1){var$v_0=this.getEnableRuleDefinition($p0,$p1);if(IsNull($v_0)||IsNull($v_0.Rules)||!$v_0.Rules.length)returntrue;for(var$v_1=true,$v_2=0;$v_1&&$v_2<$v_0.Rules.length;$v_2++)$v_1=$v_1&&this.$BT_1($v_0.Rules[$v_2]);return$v_1}</Function> <Function>anonymous($p0,$p1){if(IsNull(Mscrm.RibbonCommands.enableRules))returntrue;var$v_0=this.getCommandDefinition($p0,$p1);if(IsNull($v_0))returntrue;var$v_1=$v_0.EnableRules;if(IsNull($v_1))returntrue;for(var$v_2=true,$v_3=0;$v_2&&$v_3<$v_1.length;$v_3++){var$v_4=$v_1[$v_3];if(IsNull($v_4)||!$v_4.length)continue;$v_2=$v_2&&this.$ES_1($v_4,$p1)}return$v_2}</Function> <Function>anonymous($p0){if(!this.$62_1)returnfalse;var$v_0=this.parseCommandFromRibbon($p0),$v_1=this.$Dk_1($v_0.command,$v_0.entityLogicalName);if($v_1&&!IsNull(this.$H_1.$5j_2[$p0]))$v_1=Mscrm.RibbonNavigationModel.shouldContextGroupBeShown($v_0,this.$H_1);elseif($v_1&&!IsNull(this.$H_1.$2E_2[$p0]))$v_1=Mscrm.RibbonNavigationModel.shouldTabBeShown($p0,$v_0,this.$H_1);if(!IsNull(this.$H_1.$2E_2[$p0]))this.$H_1.$2E_2[$p0]=$v_1;return$v_1}</Function> </CallStack> </ScriptErrorDetails> <ClientInformation> причем данная ошибка возникает всегда при работе с CRM чз Client Outlook и иногда в IE, c разных машин. может кто в курсе проблемы? я так понимаю проблема в риббоне ? |
|
09.12.2011, 21:03 | #2 |
Moderator
|
Проблема в скрипте. В сообщении написано - ошибка в синтаксисе.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
09.12.2011, 23:50 | #3 |
Участник
|
Цитата:
http://social.microsoft.com/Forums/e...c-1dcd1c107b9a Сообщение тоже самое - ошибка синтаксиса, а на самом деле не хватает прав. |
|
14.12.2011, 12:59 | #4 |
Участник
|
Как выяснилось проблема в настройках для кастомной кнопки, на рибоне формы. Но причины не совсем ясны .
Суть, есть кастомная кнопка, к ней привязан ява скрипт - все работает, ошибок не возникает. Далее было создано правило <CustomRule>, которое используется для активности\не активности кнопки. Вот что написано в customizations.xml для кнопки: ....функция ExistingWorkSatus function ExistingWorkSatus()Получаем ошибку описанную в первом посте :-(. Причем, не смотря на ошибку <customRule> - отрабатывает. Последний раз редактировалось Rocket; 14.12.2011 в 14:14. |
|
16.12.2011, 13:39 | #5 |
Участник
|
ошибка была тут:
.... <CommandDefinitions> <CommandDefinition Id="Cmd_Action_inworkstatus"> <EnableRules> <EnableRule Id="Mscrm.AddExistingCustomRule" /> </EnableRules> <DisplayRules /> <Actions> <JavaScriptFunction Library="$webresource:new_rkk" FunctionName="inworkstatus" /> </Actions> </CommandDefinition> ... <RuleDefinitions> <TabDisplayRules /> <DisplayRules /> <EnableRules> <EnableRule Id="Mscrm.AddExistingCustomRule"> <CustomRule Default="false" FunctionName="ExistingWorkSatus" Library="$webresource:new_rkk.js"></CustomRule> </EnableRule> </EnableRules> </RuleDefinitions> <LocLabels /> </RibbonDiffXml> необходимо было указать без .js : Library="$webresource:new_rkk" ошибку определил по логам trace |
|
|
За это сообщение автора поблагодарили: a33ik (1). |
16.12.2011, 14:22 | #6 |
Консультант-джедай
|
А как же он у Вас вообще загрузился в CRM? при импорте система проверяет наличие заявленных веб-ресурсов. И если их нет прерывает импорт и выдает ошибку!?
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
16.12.2011, 15:36 | #7 |
Участник
|
При импорте, ошибок не было, имя веб ресурсa можно написать любое - главное чтобы соответствовало синтаксису. Речь конечно про <customRule> - остальные не проверял .
|
|
20.12.2011, 14:42 | #8 |
Участник
|
Появилась проблема:
в CRM client OutLook: При переходе в область связанных объектов - область на форме "Связанные" (к примеру переход к связанным действиям) в области кастомной формы, вызывается правило <customRule>, хотя отображается на форме риббон для связанной сущности. По идее <customRule> для риббона связанной сущности не должен отрабатывать. При работе в IE, правило <customRule> не вызывается, при переходе к связным объектам, т.е. когда меняется риббон текущий на риббон связанной сущности (пример связанные действия). В чем может быть проблема? Последний раз редактировалось Rocket; 20.12.2011 в 15:02. |
|
20.12.2011, 23:18 | #9 |
Moderator
|
Вообще это странно, что решение импортировалось, должна быть ошибка missing dependency как минимум. Возможно у вас два ресурса с похожими именами?
Разница отображения в IE и в Outlook в том, что Outlook использует свою реализацию грида и свою панель просмотра. Просто внесите в свой скрипт должные правки, например, проверку isOutlookClient(). А возможно стоит наконец подключиться дебагером посмотреть что там действительно происходит?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
|
За это сообщение автора поблагодарили: Rocket (1). |
|
|