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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 08.04.2004, 09:53   #1  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Проверка заполнения Mandatory полей на Datasource
Создал метод в Global, который проверяет заполнение всех полей текущей записи, у которых в DataSource формы установлено свойство Mandatory = Yes
PHP код:
static boolean checkFillMandatory(FormDataSource fds)
{
    
DictTable   dictTable = new DictTable(fds.table());
    
Common      cursor fds.cursor();
    
int         i;
    
FieldId     fieldId;
    
boolean     res true;
    ;

    for( 
1<= dictTable.fieldCnt(); i++ )
    {
        
fieldId dictTable.fieldCnt2Id(i);

        if(
fieldId 61000 && fds.object(fieldId).mandatory() && ! cursor.(fieldId))
        {
            
res checkFailed(strFmt("@SYS26332"dictTable.fieldObject(fieldId).label()));
        }
    }

    return 
res;

Комментарии и дополнения приветствуются.
Старый 08.04.2004, 12:00   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Спасибо. Здорово.
А что за магическая константа 61000?
Старый 08.04.2004, 13:32   #3  
Wamr is offline
Wamr
----------------
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
 
1,737 / 858 (32) +++++++
Регистрация: 15.01.2002
Адрес: Москва
Записей в блоге: 7
Отсекаются поля типа createdDate\Time, RecId..
Наверное, есть более правильные способы, о которых я пока не знаю (или забыл).
За это сообщение автора поблагодарили: mazzy (5).
Старый 08.04.2004, 13:43   #4  
Garic is offline
Garic
NavAx
Аватар для Garic
NavAx Club
 
393 / 63 (3) ++++
Регистрация: 23.07.2002
Адрес: Москва
dictField.isSystem()
__________________
С уважением, Игорь Ласийчук.
За это сообщение автора поблагодарили: mazzy (5).
Старый 26.06.2006, 18:15   #5  
belugin is offline
belugin
Участник
Аватар для belugin
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,622 / 2925 (107) +++++++++
Регистрация: 16.01.2004
Записей в блоге: 5
X++:
static boolean checkFillMandatory(FormDataSource fds)
{
    SysDictTable   dictTable = new SysDictTable(fds.table());
    Common      cursor = fds.cursor();
    int         i;
    FieldId     fieldId;
    boolean     res = true;
    ;

    for( i = 1; i <= dictTable.fieldCntWithoutSys(); i++ )
    {
        fieldId = dictTable.fieldCnt2Id(i);

        if(!cursor.(fieldId) && fds.object(fieldId).mandatory())
        {
            res = checkFailed(strFmt("@SYS26332", dictTable.fieldObject(fieldId).label()));
        }
    }

    return res;
}
За это сообщение автора поблагодарили: mazzy (5).
Теги
dicttable

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проверка заполнения полей Himan DAX: Программирование 9 20.04.2007 14:47
контроль заполнения полей запроса Himan DAX: Программирование 2 15.03.2007 13:00
AllowEditOnCreate для полей dataSource Lucky13 DAX: Программирование 2 19.06.2006 13:45
Как задать видимость группы полей на Datasource? wb DAX: Программирование 3 02.02.2006 16:04
доступ к свойствам полей DataSource andreynikolai DAX: Программирование 2 06.06.2002 16:55

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

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

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