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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.12.2006, 17:19   #1  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Про свойство Mandatory
Возможно кто-то сталкивался с необходимостью указать пользователю на то, что поле является обязательным к заполнению ( нарисовать волнистое подчеркивание ), при этом не трогая свойство Mandatory поля таблицы. К примеру если есть необходимость заполнения поля по некоторому условию. Можно к примеру управлять этим свойством контрола, но не у всех контролов оно есть. Или просто втупую нарисовать волнистую линию через контекст окна, но это как то не особенно красиво.

Интересно кто как решает эту задачу????
Старый 27.12.2006, 17:26   #2  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Интересно, а у каких контролов нет св-ва Mandatory?
Старый 27.12.2006, 17:40   #3  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Интересно, а у каких контролов нет св-ва Mandatory?
Вам действительно интересно.. или это просто риторика ????
Старый 28.12.2006, 09:09   #4  
Lucky13 is offline
Lucky13
Участник
1C
 
714 / 198 (8) ++++++
Регистрация: 21.10.2004
Цитата:
Сообщение от simply2double Посмотреть сообщение
Вам действительно интересно.. или это просто риторика ????
Действительно интересно. Никогда не встречал таких контролов. Если имеется в виду combobox, то у него действительно нет такого свойства, но не ввести в него значение не так-то просто - по умолчанию берется первое из enum, при попытке удалить восстанавливается.
Старый 28.12.2006, 10:11   #5  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от Lucky13 Посмотреть сообщение
Действительно интересно. Никогда не встречал таких контролов. Если имеется в виду combobox, то у него действительно нет такого свойства, но не ввести в него значение не так-то просто - по умолчанию берется первое из enum, при попытке удалить восстанавливается.
Речь не об этом. При создании поля типа enum ему на уровне сервера задается дефаултное значение равное 0, даже если в базовом enum такого значения вообще нет. В большинстве базовых перечислений 0 это пустое поле. Создаю новую запись. При сохранении, если не переопределить свойство mandatory в таблице или в датасоурсе, этого поля, все так и сохранится даже не ругнувшись.
Речь о комбобоксе и его свойствах зашла только в том смысле что он является визуализатором поля типа enum.

Последний раз редактировалось simply2double; 28.12.2006 в 10:31.
Старый 28.12.2006, 14:15   #6  
Volodymyr is offline
Volodymyr
Участник
 
36 / 21 (1) +++
Регистрация: 03.11.2006
Адрес: Киев
Привет!
Как вариант - сделать проверку контрола по событию (например на запись в таблицу) и елси он не заполнен, то ругатся.
Старый 27.12.2006, 18:39   #7  
Russland is offline
Russland
MCTS
Аватар для Russland
MCBMSS
 
267 / 116 (4) +++++
Регистрация: 17.10.2005
Адрес: Донеччина, Україна
У контролов в Dialog вообще отсутствует как понятие свойство Mandatory
Если уж очень хочется сделать диалоговые поля обязательными к заполнению, необходимо допиливать класс Dialog
__________________

В глухомани, в лесу Несмотря на красу Дни проводит Лиса Патрикевна. Я никак не пойму Отчего, почему Не пускают куму На деревню
Старый 27.12.2006, 18:53   #8  
eugene egorov is offline
eugene egorov
Участник
Аватар для eugene egorov
 
273 / 97 (4) ++++
Регистрация: 05.06.2002
Адрес: Москва
Цитата:
Сообщение от Russland Посмотреть сообщение
У контролов в Dialog вообще отсутствует как понятие свойство Mandatory
Если уж очень хочется сделать диалоговые поля обязательными к заполнению, необходимо допиливать класс Dialog
Это не совсем так. Решается легко следующими фрагментами кода:

public Object dialog()
{
...................
FormStringControl fsc;
;
.................
dlgXXX= dialog.addFieldValue(typeid(XXX),XXX);
fsc = ddlgXXX.control();
fsc.mandatory(true);
.............................

и вполне сносно работает И никого не надо пилить зазря.
__________________
любитель портвейна и снов с прокисшей капустой в усах
Старый 28.12.2006, 08:53   #9  
simply2double is offline
simply2double
Участник
Аватар для simply2double
 
556 / 19 (2) ++
Регистрация: 08.09.2004
Адрес: alfa cen
Цитата:
Сообщение от 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
Старый 27.12.2006, 17:28   #10  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
ListView
Старый 27.12.2006, 17:57   #11  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,252 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от simply2double Посмотреть сообщение
при этом не трогая свойство Mandatory поля таблицы.
А если тронуть свойство поля datasource?
__________________
Isn't it nice when things just work?
Старый 29.01.2007, 10:51   #12  
Shakr
Гость
 
n/a
Добрый день.
Появилось желание "подсветить" поле. Но есть затычка - поле display.
CustTable_ds.object(fieldnum(Custtable,FIELDNAME))
уже не пашет
Старый 29.01.2007, 10:52   #13  
Shakr
Гость
 
n/a
тут: http://forum.mazzy.ru/index.php?showtopic=396
был
Старый 29.01.2007, 10:59   #14  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Эмм... А зачем подсвечивать display-поле? Edit - еще понятно, но display?
Но, в любом случае, если это не поле таблицы, то чем не подходит AutoDeclaration = true и потом просто ставим MyControl.mandatory(true)? Или хочется сразу "везде", где этот метод на форме используется?
Старый 29.01.2007, 11:34   #15  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Цитата:
Сообщение от oip Посмотреть сообщение
Но, в любом случае, если это не поле таблицы, то чем не подходит AutoDeclaration = true и потом просто ставим MyControl.mandatory(true)? Или хочется сразу "везде", где этот метод на форме используется?
Хочу только отметить, что установка свойства Mandatory на Edit-поле в runtime приводит к крэшу Аксапты.
Старый 29.01.2007, 11:40   #16  
Shakr
Гость
 
n/a
Цитата:
Сообщение от EVGL Посмотреть сообщение
Хочу только отметить, что установка свойства Mandatory на Edit-поле в runtime приводит к крэшу Аксапты.
Спасибо за ответ. Если можно, то покажите как установить в рантайме (интересна сама техника)
Старый 29.01.2007, 11:53   #17  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от Shakr Посмотреть сообщение
Спасибо за ответ. Если можно, то покажите как установить в рантайме (интересна сама техника)
Ну я же выше вроде показал?
Старый 29.01.2007, 11:50   #18  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Цитата:
Сообщение от EVGL Посмотреть сообщение
Хочу только отметить, что установка свойства Mandatory на Edit-поле в runtime приводит к крэшу Аксапты.
А в каком месте установка вызывает крэш?
Пробовал в init() и run() формы - отрабатывало нормально.
__________________
Axapta v.3.0 sp5 kr2
Старый 29.01.2007, 11:54   #19  
oip is offline
oip
Axapta
Лучший по профессии 2014
 
2,564 / 1416 (53) ++++++++
Регистрация: 28.11.2005
Записей в блоге: 1
Цитата:
Сообщение от EVGL Посмотреть сообщение
Хочу только отметить, что установка свойства Mandatory на Edit-поле в runtime приводит к крэшу Аксапты.
Проверил, ничего не крешается. Ставил в ините формы после супера.
Старый 29.01.2007, 14:24   #20  
KiselevSA is offline
KiselevSA
Злыдни
Аватар для KiselevSA
Злыдни
Лучший по профессии 2015
 
958 / 333 (13) ++++++
Регистрация: 25.01.2002
Адрес: Москва
Цитата:
Сообщение от oip Посмотреть сообщение
Проверил, ничего не крешается. Ставил в ините формы после супера.
Все зависит от SP Axapta:
свойство mandatory на edit полях формы приводит к крэш на SP3, на SP2 этого эффекта нет, по последующим SP у меня нет сведений Эта бяка сидит в ax32.exe клиента ))
__________________
люди...считают, что если техника не ломается, то ее не нужно ремонтировать. Инженеры считают, что если она не ломается, то нуждается в совершенствовании.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Ruslan Goncharov: Mandatory property for DialogField Blog bot DAX Blogs 1 29.12.2007 20:48
Поле mandatory, а 0 вставить нужно Smith DAX: Программирование 5 15.06.2007 12:04
Проверка заполнения Mandatory полей на Datasource Wamr DAX: База знаний и проекты 4 26.06.2006 18:15
Не ставится свойство Table у Body AxDude DAX: Программирование 2 22.11.2005 00:10
Mandatory field в Dialog axaLearner DAX: Программирование 4 02.11.2004 09:50

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

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

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