AXForum  
Вернуться   AXForum > Microsoft Dynamics CRM > Dynamics CRM: Разработка
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 09.12.2011, 15:11   #1  
Rocket is offline
Rocket
Участник
 
15 / 11 (1) +
Регистрация: 19.10.2007
Ошибка при открытии кастомной сущности
была создана кастомная сущность, для сущности был созданы:
- необходимые плагины
- бп
- добавлены ява скрипты на форму
- добавлены 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  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Проблема в скрипте. В сообщении написано - ошибка в синтаксисе.
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
Старый 09.12.2011, 23:50   #3  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
Цитата:
Сообщение от Артем Enot Грунин Посмотреть сообщение
Проблема в скрипте. В сообщении написано - ошибка в синтаксисе.
Не всегда. Вот пример, с которым я тоже сталкивался:

http://social.microsoft.com/Forums/e...c-1dcd1c107b9a

Сообщение тоже самое - ошибка синтаксиса, а на самом деле не хватает прав.
Старый 14.12.2011, 12:59   #4  
Rocket is offline
Rocket
Участник
 
15 / 11 (1) +
Регистрация: 19.10.2007
Как выяснилось проблема в настройках для кастомной кнопки, на рибоне формы. Но причины не совсем ясны .

Суть, есть кастомная кнопка, к ней привязан ява скрипт - все работает, ошибок не возникает.
Далее было создано правило <CustomRule>, которое используется для активности\не активности кнопки.

Вот что написано в customizations.xml для кнопки:
....
<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>
функция ExistingWorkSatus
function ExistingWorkSatus()
{
/*
... логика
*/
return true;
}
Получаем ошибку описанную в первом посте :-(.
Причем, не смотря на ошибку <customRule> - отрабатывает.

Последний раз редактировалось Rocket; 14.12.2011 в 14:14.
Старый 16.12.2011, 13:39   #5  
Rocket is offline
Rocket
Участник
 
15 / 11 (1) +
Регистрация: 19.10.2007
ошибка была тут:

....
<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  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Цитата:
Сообщение от Rocket Посмотреть сообщение
необходимо было указать без .js : Library="$webresource:new_rkk"
А как же он у Вас вообще загрузился в CRM? при импорте система проверяет наличие заявленных веб-ресурсов. И если их нет прерывает импорт и выдает ошибку!?
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
Старый 16.12.2011, 15:36   #7  
Rocket is offline
Rocket
Участник
 
15 / 11 (1) +
Регистрация: 19.10.2007
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
А как же он у Вас вообще загрузился в CRM? при импорте система проверяет наличие заявленных веб-ресурсов. И если их нет прерывает импорт и выдает ошибку!?
При импорте, ошибок не было, имя веб ресурсa можно написать любое - главное чтобы соответствовало синтаксису. Речь конечно про <customRule> - остальные не проверял .
Старый 20.12.2011, 14:42   #8  
Rocket is offline
Rocket
Участник
 
15 / 11 (1) +
Регистрация: 19.10.2007
Появилась проблема:

в CRM client OutLook: При переходе в область связанных объектов - область на форме "Связанные" (к примеру переход к связанным действиям) в области кастомной формы, вызывается правило <customRule>, хотя отображается на форме риббон для связанной сущности.

По идее <customRule> для риббона связанной сущности не должен отрабатывать.

При работе в IE, правило <customRule> не вызывается, при переходе к связным объектам, т.е. когда меняется риббон текущий на риббон связанной сущности (пример связанные действия).

В чем может быть проблема?

Последний раз редактировалось Rocket; 20.12.2011 в 15:02.
Старый 20.12.2011, 23:18   #9  
Артем Enot Грунин is offline
Артем Enot Грунин
Moderator
Аватар для Артем Enot Грунин
MCBMSS
Злыдни
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,912 / 623 (28) +++++++
Регистрация: 16.08.2007
Адрес: Пермь!
Записей в блоге: 151
Вообще это странно, что решение импортировалось, должна быть ошибка missing dependency как минимум. Возможно у вас два ресурса с похожими именами?

Разница отображения в IE и в Outlook в том, что Outlook использует свою реализацию грида и свою панель просмотра. Просто внесите в свой скрипт должные правки, например, проверку isOutlookClient().

А возможно стоит наконец подключиться дебагером посмотреть что там действительно происходит?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия.

MS Certified Dirty Magic Professional
За это сообщение автора поблагодарили: Rocket (1).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с генерацией кастомного отчёта (построенного на основании кастомной сущности) из плагина pz_minsk Dynamics CRM: Разработка 0 18.11.2011 16:46
Ошибка при открытии CRM Data Migration Manager kukurechka Dynamics CRM: Администрирование 4 19.02.2010 18:35
Ошибка при открытии Elka Dynamics CRM: Разработка 8 14.09.2009 16:46
Создание экземпляра кастомной сущности из плагина Roman08 Dynamics CRM: Разработка 14 31.08.2009 21:34
Как создать экземпляр кастомной сущности через SOAP? Tony Green Dynamics CRM: Разработка 7 27.02.2009 08:37

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 16:12.