16.04.2012, 17:34 | #1 |
Участник
|
Доступность полей на форме
Добрый день!
Подскажите, пожалуйста, как программно сделать поле формы недоступным для изменения? Версия CRM 4.0 Последний раз редактировалось probka; 16.04.2012 в 18:32. |
|
16.04.2012, 18:00 | #2 |
Консультант-джедай
|
Xrm.Page.ui.controls.get(fieldName).setDisabled(true);
__________________
Крокодил, крокожу и буду крокодить. Человек человеку - волк , а зомби зомби - зомби. Экстремал и буду экстремать! Блога |
|
|
За это сообщение автора поблагодарили: probka (1). |
17.04.2012, 01:06 | #3 |
Участник
|
crmForm.all.имя_поля.Disabled = true;
|
|
|
За это сообщение автора поблагодарили: probka (1). |
17.04.2012, 10:46 | #4 |
Участник
|
Это будет работать в CRM2011.
В CRM04 crmForm.all.[fieldname].Disabled = true; Обратите внимание, что если Вы программно измените значение поля, которое установлено как Disabled его изменения не попадут в CRM. Для єтого нужно принудительно отослать поле на изменение. Делается это след. строкой crmForm.all.[fieldname].ForceSubmit = true; |
|
17.04.2012, 12:52 | #5 |
Участник
|
|
|
17.04.2012, 14:04 | #6 |
Участник
|
Проверьте доходит ли Ваш программа до этой строки.
Если поставить перед этой строкой alert('1'); сообщение появится? |
|
|
За это сообщение автора поблагодарили: probka (1). |
17.04.2012, 14:17 | #7 |
Участник
|
Вы правы, сообщение не появилось. Значит, программа просто не доходит до этой строки. Но строка стоит в событии OnLoad в самом начале, и событие сделано активным. Почему не срабатывает код - ума не приложу.
|
|
17.04.2012, 14:24 | #8 |
Участник
|
Ошибки на форме не возникает? Вы не забыли опубликовать форму?
|
|
17.04.2012, 14:25 | #9 |
Участник
|
Publish сделали?
возможно у вас там синтаксическая ошибка? код тогда бежать не будет
__________________
Читайте SDK!!! |
|
18.04.2012, 09:03 | #10 |
Участник
|
Да, действительно была ошибка в процедуре. Спасибо. Но теперь другая проблема. Это поле имеет тип дата, само оно скрывается, а кнопка выбора даты все равно остается активной. Подскажите, пожалуйста, как сделать эту кнопку неактивной?
|
|
18.04.2012, 09:24 | #11 |
Участник
|
Цитата:
Выставите код.
__________________
Читайте SDK!!! |
|
|
За это сообщение автора поблагодарили: probka (1). |
18.04.2012, 09:29 | #12 |
Участник
|
Спасибо, получилось.
|
|
18.04.2012, 09:44 | #13 |
Участник
|
А как сделать на форме недоступными все поля, кроме нескольких?
|
|
18.04.2012, 09:53 | #14 |
Участник
|
Например: Кастомизацией.
__________________
Читайте SDK!!! |
|
18.04.2012, 10:05 | #15 |
Участник
|
Общей функции вообще нет, но можно программно пробежаться по всем полям и установить у них Disable в значение true
X++: DisableFormFields = function(onOff) { var iLen = crmForm.all.length; for (i = 0; i < iLen; i++) { o = crmForm.all[i]; switch (o.tagName) { case "INPUT": case "SELECT": case "TEXTAREA": case "IMG": case "IFRAME": if (o.id != "leadqualitycode") { o.disabled = onOff; } break; default: break; } } } Здесь необходимо через или перечислить поля, для которых это срабатывать не будет. if (o.id != "leadqualitycode" || o.id !="myfieldid2" ) Источник http://blogs.infinite-x.net/2007/11/...on-a-crm-form/ Вот здесь представлен пример для запрета редактирования полей во вкладке. http://danielcai.blogspot.com/2010/0...-form-tab.html Последний раз редактировалось g.Naukovych; 18.04.2012 в 10:09. |
|
|
За это сообщение автора поблагодарили: probka (1). |
18.04.2012, 10:16 | #16 |
Участник
|
Спасибо! Все получилось.
|
|