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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.03.2004, 18:51   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Вопрос: Как сделать обязательное поле в форме Аксапте. Изменение значения свойства Mandatory у поля, используемой таблицы не помогает. Что еще надо сделать?

Вопрос: Как запретить редактирование поля в форме при определенных условиях или полностью скрыть поле.

Ответ: Самое главное для понимания: надо работать со свойствами полей датасорса формы, а не свойствами полей таблицы. В качестве образца для подражания можно взять методы initRelation и initRecord в форме PriceDiscTable.

<div class='XPPtop'>X++</div><div class='XPP'>myTable_ds.object([color=:blue]fieldNum[/color](myTable, myField)).visible([color=:blue]false[/color]);
[color=:green]// скрывает поле
[/color]
myTable_ds.object([color=:blue]fieldNum[/color](myTable, myField)).allowEdit([color=:blue]false[/color]);
[color=:green]// делает поле нередактируемым
[/color]
myTable_ds.object([color=:blue]fieldNum[/color](myTable, myField)).mandatory([color=:blue]true[/color]);
[color=:green]// делает поле обязательным для ввода[/color]</div>
__________________
полезное на axForum, github, vk, coub.
Старый 16.03.2004, 10:52   #2  
Maxim Gorbunov is offline
Maxim Gorbunov
Administrator
Соотечественники
Лучший по профессии 2009
 
2,483 / 645 (26) +++++++
Регистрация: 27.11.2001
Адрес: Dubai, UAE
Хотелось бы добавить, что значения свойства Mandatory у полей Data Source и контролов формы несет чисто интерфейсную функцию (соответствующие контролы выделяются красным подчеркиванием). Никаких проверок на то, что данные поля заполнены, не производится. Чтобы производились проверки Mandatory надо устанавливать для поля таблицы.

Вот соответствующая выдержка из Navision Axapta Developer's Guide:
Цитата:
Mandatory determines whether the user is required to enter data in this field. This property has also been added to controls. All controls or fields that have the value Yes in this property will be displayed with a wavy red line. The mandatory property on the datasource field only has a visual function – it is not enforced, so users can leave these fields empty.
__________________
Not registered yet? Register here!
Have comments, questions, suggestions or anything else regarding our web site? Don't hesitate, send them to me
Старый 16.03.2004, 11:24   #3  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Maxim Gorbunov
Чтобы производились проверки Mandatory надо устанавливать для поля таблицы.
Спасибо. Согласен.

Но если установить свойство для таблицы, то это свойство будет действовать для всей системы, а не для данной формы.

Если же вы хотите сделать обязательность имеенно на форме, то проверять придется вручную в validateWrite датасорса.
__________________
полезное на axForum, github, vk, coub.
 


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

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

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