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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.04.2012, 17:34   #1  
probka is offline
probka
Участник
Аватар для probka
 
98 / 11 (1) +
Регистрация: 20.02.2012
Адрес: Ростов-на-Дону
Доступность полей на форме
Добрый день!
Подскажите, пожалуйста, как программно сделать поле формы недоступным для изменения?

Версия CRM 4.0
__________________
Так победим!


Последний раз редактировалось probka; 16.04.2012 в 18:32.
Старый 16.04.2012, 18:00   #2  
slivka_83 is offline
slivka_83
Консультант-джедай
Аватар для slivka_83
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
1,683 / 374 (16) ++++++
Регистрация: 18.12.2008
Адрес: default city
Xrm.Page.ui.controls.get(fieldName).setDisabled(true);
__________________
Крокодил, крокожу и буду крокодить.
Человек человеку - волк , а зомби зомби - зомби.
Экстремал и буду экстремать!
Блога
За это сообщение автора поблагодарили: probka (1).
Старый 17.04.2012, 10:46   #3  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от slivka_83 Посмотреть сообщение
Xrm.Page.ui.controls.get(fieldName).setDisabled(true);
Это будет работать в CRM2011.
В CRM04 crmForm.all.[fieldname].Disabled = true;

Обратите внимание, что если Вы программно измените значение поля, которое установлено как Disabled его изменения не попадут в CRM. Для єтого нужно принудительно отослать поле на изменение. Делается это след. строкой
crmForm.all.[fieldname].ForceSubmit = true;
__________________
Мой блог https://procrm.tv
Старый 17.04.2012, 01:06   #4  
griefon is offline
griefon
Участник
 
131 / 52 (2) ++++
Регистрация: 07.12.2010
Адрес: down under
crmForm.all.имя_поля.Disabled = true;
За это сообщение автора поблагодарили: probka (1).
Старый 17.04.2012, 12:52   #5  
probka is offline
probka
Участник
Аватар для probka
 
98 / 11 (1) +
Регистрация: 20.02.2012
Адрес: Ростов-на-Дону
Цитата:
Сообщение от griefon Посмотреть сообщение
crmForm.all.имя_поля.Disabled = true;
Почему-то не срабатывает...
__________________
Так победим!

Старый 17.04.2012, 14:04   #6  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Цитата:
Сообщение от probka Посмотреть сообщение
Почему-то не срабатывает...
Проверьте доходит ли Ваш программа до этой строки.
Если поставить перед этой строкой alert('1'); сообщение появится?
__________________
Мой блог https://procrm.tv
За это сообщение автора поблагодарили: probka (1).
Старый 17.04.2012, 14:17   #7  
probka is offline
probka
Участник
Аватар для probka
 
98 / 11 (1) +
Регистрация: 20.02.2012
Адрес: Ростов-на-Дону
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Проверьте доходит ли Ваш программа до этой строки.
Если поставить перед этой строкой alert('1'); сообщение появится?
Вы правы, сообщение не появилось. Значит, программа просто не доходит до этой строки. Но строка стоит в событии OnLoad в самом начале, и событие сделано активным. Почему не срабатывает код - ума не приложу.
__________________
Так победим!

Старый 17.04.2012, 14:24   #8  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Ошибки на форме не возникает? Вы не забыли опубликовать форму?
__________________
Мой блог https://procrm.tv
Старый 17.04.2012, 14:25   #9  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Publish сделали?

возможно у вас там синтаксическая ошибка? код тогда бежать не будет
__________________
Читайте SDK!!!
Старый 18.04.2012, 09:03   #10  
probka is offline
probka
Участник
Аватар для probka
 
98 / 11 (1) +
Регистрация: 20.02.2012
Адрес: Ростов-на-Дону
Да, действительно была ошибка в процедуре. Спасибо. Но теперь другая проблема. Это поле имеет тип дата, само оно скрывается, а кнопка выбора даты все равно остается активной. Подскажите, пожалуйста, как сделать эту кнопку неактивной?
__________________
Так победим!

Старый 18.04.2012, 09:24   #11  
Konstantin Katsovich is offline
Konstantin Katsovich
Участник
Аватар для Konstantin Katsovich
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
243 / 57 (2) ++++
Регистрация: 22.10.2008
Адрес: Israel
Цитата:
Сообщение от probka Посмотреть сообщение
Это поле имеет тип дата, само оно скрывается, а кнопка выбора даты все равно остается активной.
Вы пишите Disabled или disabled?
Выставите код.
__________________
Читайте SDK!!!
За это сообщение автора поблагодарили: probka (1).
Старый 18.04.2012, 09:29   #12  
probka is offline
probka
Участник
Аватар для probka
 
98 / 11 (1) +
Регистрация: 20.02.2012
Адрес: Ростов-на-Дону
Цитата:
Сообщение от Konstantin Katsovich Посмотреть сообщение
Вы пишите Disabled или disabled?
Выставите код.
Спасибо, получилось.
__________________
Так победим!

Старый 18.04.2012, 09:44   #13  
probka is offline
probka
Участник
Аватар для probka
 
98 / 11 (1) +
Регистрация: 20.02.2012
Адрес: Ростов-на-Дону
А как сделать на форме недоступными все поля, кроме нескольких?
__________________
Так победим!

Старый 18.04.2012, 10:05   #14  
g.Naukovych is offline
g.Naukovych
Участник
MCBMSS
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
405 / 130 (5) +++++
Регистрация: 23.03.2011
Общей функции вообще нет, но можно программно пробежаться по всем полям и установить у них 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
__________________
Мой блог https://procrm.tv

Последний раз редактировалось g.Naukovych; 18.04.2012 в 10:09.
За это сообщение автора поблагодарили: probka (1).
Старый 18.04.2012, 10:16   #15  
probka is offline
probka
Участник
Аватар для probka
 
98 / 11 (1) +
Регистрация: 20.02.2012
Адрес: Ростов-на-Дону
Цитата:
Сообщение от g.Naukovych Посмотреть сообщение
Общей функции вообще нет, но можно программно пробежаться по всем полям и установить у них Disable в значение true
Здесь необходимо через или перечислить поля, для которых это срабатывать не будет.
if (o.id != "leadqualitycode" || o.id !="myfieldid2" )
Спасибо! Все получилось.
__________________
Так победим!

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Кнопка в форме, изменяющая объекты: как лучше? ask Dynamics CRM: Разработка 4 19.08.2010 20:15
Преобразование необязатаельных полей в обязательные(полнота полей) Alexey-IT Dynamics CRM: Функционал 4 22.07.2010 21:45
Извлечение значения полей из атрибута на форме e.pasechny Dynamics CRM: Разработка 9 10.11.2009 13:44
Заблокировать все поля на форме. IgorF Dynamics CRM: Разработка 12 07.04.2008 18:28
Как сделать две одинаковые ссылки на одной форме? tatra Dynamics CRM: Разработка 5 21.09.2007 18:26

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

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

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