26.02.2014, 22:59 | #1 |
Участник
|
Глючат скрипты в CRM13
У организации несколько форм, которые подсовываются в зависимости от типа: Партнёр, Заказчик и пр.
При создании открывается нейтральная форма с ограниченным набором полей и требованием задать тип организации. При сохранении происходит перенаправление на нужную форму с возможностью заполнения остальных полей. В CRM11 по этому поводу успешно работал скрипт на загрузке формы Код: var uiForm = selector.items.get(function (item, index) { return item.getLabel() == neededFormName; })[0]; if (uiForm != null) uiForm.navigate(); Вот ошибка: |
|
26.02.2014, 23:01 | #2 |
Участник
|
То есть, некорректно отрабатывает само перенаправление.
Что так они опять намудрили с загрузкой страницы? |
|
27.02.2014, 00:54 | #3 |
Еда - топливо, Одежда - н
|
Цитата:
При сохранении происходит перенаправление на нужную форму с возможностью заполнения остальных полей.
Сделали бы так. На главной форме обработка логики заполнения пполей. А на онлоад формы, уже бы загружали ту форму, которую надо в зависимости от типа или чего там у вас.
__________________
Все что вам нужно - это мозК Еда - топливо... Одежда - необходимость... |
|
27.02.2014, 02:13 | #4 |
Чайный пьяница
|
Чтобы ошибка стала более менее читабельной (потому что то что вы предоставили не даёт никакой информации для осмысления) кликните "Просмотр данных, которые будут отправлены...", скопируйте из окна, которое открылось текст, вставьте сюда.
От себя добавлю, что у меня навигация заработала, правда я пользовался немного другим подходом. Пример кода: Код: function OnLoad() { var customerType = Xrm.Page.getAttribute("customertypecode") == null ? null : Xrm.Page.getAttribute("customertypecode").getValue(); if (customerType == null) { return; } var formId = GetFormId(customerType); var currentFormId = Xrm.Page.ui.formSelector.getCurrentItem().getId(); if (currentFormId == formId) { return; } Xrm.Page.ui.formSelector.items.forEach(function (item, index) { if (item.getId() == formId) { item.navigate(); } }); } function GetFormId(customerType) { switch (customerType) { case 100000003: return "6D305B2E-D539-4A3A-BCB1-3657C5D83499".toLowerCase(); default: return "8448B78F-8F42-454E-8E2A-F8196B0419AF".toLowerCase(); } }
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|
27.02.2014, 11:43 | #5 |
Участник
|
Да, действительно. Вот подробности ошибки:
X++: Microsoft Dynamics CRM <CrmScriptErrorReport> <ReportVersion>1.0</ReportVersion> <ScriptErrorDetails> <Message> "length" , NULL</Message> <Line>5</Line> <URL>/_common/global.ashx?ver=114157548</URL> <PageURL>/main.aspx?etc=1&extraqs=%3fetc%3d1&formid=9f5596c9-0d73-4398-b77b-39aa8acdd09f&pagemode=iframe&pagetype=entityrecord</PageURL> <Function>anonymous(a,b){a[a.length]=b}</Function> <CallStack> <Function>anonymous(a,b){a[a.length]=b}</Function> </CallStack> </ScriptErrorDetails> <ClientInformation> <BrowserUserAgent>Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; InfoPath.3; .NET4.0C; .NET4.0E)</BrowserUserAgent> <BrowserLanguage>ru-RU</BrowserLanguage> <SystemLanguage>ru-RU</SystemLanguage> <UserLanguage>ru-RU</UserLanguage> <ScreenResolution>1920x1080</ScreenResolution> <ClientName>Web</ClientName> <ClientTime>2014-02-27T10:48:50</ClientTime> </ClientInformation> <ServerInformation> <OrgLanguage>1049</OrgLanguage> <OrgCulture>1049</OrgCulture> <UserLanguage>1049</UserLanguage> <UserCulture>1049</UserCulture> <OrgID>{2A2C6F6D-DDD3-4145-BB5D-13C5E8F399CA}</OrgID> <UserID>{87D6D0BC-0B67-E311-80BF-005056B01E77}</UserID> <CRMVersion>6.0.1.61</CRMVersion> </ServerInformation> </CrmScriptErrorReport> |
|
04.03.2014, 23:07 | #6 |
Moderator
|
Мы с Андреем однажды пробовали внедрить подход о котором вы говорите, о чем я до сих пор жалею. В 2013 появились новые разновидности форм. Возможно вы имеете дело с какой-то разновидностью, где нет меню навигации?
__________________
http://fixrm.wordpress.com, снятие/наведение порчи. Быстро, дорого, гарантия. MS Certified Dirty Magic Professional |
|
04.03.2014, 23:15 | #7 |
Чайный пьяница
|
Чё пробовали? Внедрили и всё ещё работает )))
__________________
Эмо разработчик, сначала пишу код, потом плачу над его несовершенством. Подписывайтесь на мой блог, twitter и YouTube канал. Пользуйтесь моим Ultimate Workflow Toolkit |
|