| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Про свойство Mandatory
			 
			
			Возможно кто-то сталкивался с необходимостью указать пользователю на то, что поле является обязательным к заполнению ( нарисовать волнистое подчеркивание ), при этом не трогая свойство  Mandatory поля таблицы. К примеру если есть необходимость заполнения поля по некоторому условию. Можно к примеру управлять этим свойством контрола, но не у всех контролов оно есть. Или просто втупую нарисовать волнистую линию через контекст окна, но это как то не особенно красиво.  
		
		
		
		
		
		
		
	Интересно кто как решает эту задачу????  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Интересно, а у каких контролов нет св-ва Mandatory?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Программатор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			ListView 
		
		
		
		
		
		
		
	 
		 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А если тронуть свойство поля datasource?  
		
		
		
		
		
		
			 
		
				__________________ 
		
		
		
		
	Isn't it nice when things just work?  | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 MCTS 
		
			
	 | 
	
	
	
		
		
		
		 
			
			У контролов в Dialog вообще отсутствует как понятие свойство Mandatory 
		
		
		
		
		
		
			Если уж очень хочется сделать диалоговые поля обязательными к заполнению, необходимо допиливать класс Dialog 
				__________________ 
		
		
		
		
	![]() В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
public Object dialog() { ................... FormStringControl fsc; ; ................. dlgXXX= dialog.addFieldValue(typeid(XXX),XXX); fsc = ddlgXXX.control(); fsc.mandatory(true); ............................. и вполне сносно работает    И никого не надо пилить зазря.
		
				__________________ 
		
		
		
		
	любитель портвейна и снов с прокисшей капустой в усах  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от eugene egorov
			 
 
			Это не совсем так. Решается легко следующими фрагментами кода:  
		
	public Object dialog() { ................... FormStringControl fsc; ; ................. dlgXXX= dialog.addFieldValue(typeid(XXX),XXX); fsc = ddlgXXX.control(); fsc.mandatory(true); ............................. и вполне сносно работает    И никого не надо пилить зазря.   да конечно так, но если передаваемый тип enum... тогда контрол будет FormComboBoxControl, а у него нет свойства mandatory....и получишь ты в рантайме такое послание: Ошибка времени выполнения. : FormBuildComboBoxControl Объект не имеет метода 'mandatory'. Трассировка стека: (C) \Classes\FormBuildComboBoxControl\mandatory (C) \Classes\FormButtonControl\Clicked - line 32  | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Действительно интересно. Никогда не встречал таких контролов. Если имеется в виду combobox, то у него действительно нет такого свойства, но не ввести в него значение не так-то просто - по умолчанию берется первое из enum, при попытке удалить восстанавливается.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Речь о комбобоксе и его свойствах зашла только в том смысле что он является визуализатором поля типа enum. Последний раз редактировалось simply2double; 28.12.2006 в 10:31.  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Привет! 
		
		
		
		
		
		
		
	Как вариант - сделать проверку контрола по событию (например на запись в таблицу) и елси он не заполнен, то ругатся.  | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Замечательный вариант, приводит к нервозу пользователя и судорожному поиску поля на форме, а если форма содержит кучу закладок, то видимо быстрее будет прислать пользователю дежурного курьера с пистолетом.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Сенбернар 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Допустите, что эта табличка не только с формы заполняется. И поле - действительно mandatory, физический смысл его такой. Тогда - 2 варианта: 1. Надеятся на аккуратность всех будущих разработчиков (оптимистический вариант, КМК) 2. Поставить проверку в методе таблицы. Во-о-ооот...  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 NavAx 
		
			
	 | 
	
	
	
		
		
		
		 
			
			 Да, действительно, для полльзователя беда. Может стоит выводить осмысленные ошибки, с формой ввода недостающего значения?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Isn't it nice when things just work?  | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			По моему мнению, стоит обратить внимание на пост RVS. поле заполнять может не только пользователь, но и а) программист, пишущий что-то специфичное и устроившийся к вам после того, как другие уволились, б) администратор, воспользовавшийся стандартным импортом и ничего не знающий про ограничения. 
		
		
		
		
		
		
		
	Поэтому, опять же на мой взгляд, если бизнес-процесс требует в определенных случаях, обязательного указания значение, то вешать проверку нужно на таблицу, а не на форму. Если же это просто "хотелка кнопки счастья", то есть типа того "вроде нужно, но формализовать не можем, поэтому пусть программа что-то решит сама", то вопрос вообще не разработчику...  | 
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
Цитата: 
	
		
			Сообщение от Raven Melancholic
			 
 
			По моему мнению, стоит обратить внимание на пост RVS. поле заполнять может не только пользователь, но и а) программист, пишущий что-то специфичное и устроившийся к вам после того, как другие уволились, б) администратор, воспользовавшийся стандартным импортом и ничего не знающий про ограничения. 
		
	Поэтому, опять же на мой взгляд, если бизнес-процесс требует в определенных случаях, обязательного указания значение, то вешать проверку нужно на таблицу, а не на форму. Если же это просто "хотелка кнопки счастья", то есть типа того "вроде нужно, но формализовать не можем, поэтому пусть программа что-то решит сама", то вопрос вообще не разработчику... ох уж эти формализаторы     специально для Вас  формализую.... в таблице лежат строки восьми типов документов... из них в четырех типах поле ХХХ1 обязательно для заполнения, в трех необязательно, а в одном вообще не должно показываться... При этом с разными типами документов работают разные группы юзеров... заставить бедного юзера заполнять лишнее поле это лишний раз глумится над его и без того трудной долей... С другой стороны юзер с первого взгляда должен видеть что ему необходимо заполнить... При этом "закулисно" писать в поле какую нить ересь, что бы удовлетворить проверку mandatory я не хочу.   Достаточная формализация???? Последний раз редактировалось simply2double; 12.01.2007 в 10:40. Причина: добавил  | 
| 
	
 | 
| 
			
			 | 
		#17 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Добрый день. 
		
		
		
		
		
		
		
	Появилось желание "подсветить" поле. Но есть затычка - поле display. CustTable_ds.object(fieldnum(Custtable,FIELDNAME)) уже не пашет  
		 | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Гость 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Axapta 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Эмм... А зачем подсвечивать display-поле? Edit - еще понятно, но display? 
		
		
		
		
		
		
		
	Но, в любом случае, если это не поле таблицы, то чем не подходит AutoDeclaration = true и потом просто ставим MyControl.mandatory(true)? Или хочется сразу "везде", где этот метод на форме используется?  | 
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 Banned 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Хочу только отметить, что установка свойства Mandatory на Edit-поле в runtime приводит к крэшу Аксапты.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 |