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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.10.2009, 12:14   #1  
Kent is offline
Kent
Участник
 
46 / 10 (1) +
Регистрация: 24.01.2007
tmpTable mandatory field
Привет!

Я използуваю реалнаю таблицу как тмп таблицу. Table.setTmp()
Патом нунзна убрат мандаторы проперти.

X++:
    Dictionary  dict = new Dictionary();
    TreeNode    treeNode;
    TreeNode    fieldNode;
    DictTable   dictTable;
    DictField   dictField;
    AOTTableFieldList   fieldList;
    str         properties;
    int         i;
    ;

    dictTable = new DictTable(_tableId);
    if (dictTable.isSystemTable() || dictTable.isView())
        continue;
    treeNode = TreeNode::findNode('\\Data Dictionary\\Tables\\'+dictTable.name());
    if (treeNode)
    {
        for(i=1;i<= dictTable.fieldCnt();i++)
        {
            dictField = new DictField(_tableId,dictTable.fieldCnt2Id(i));
            if (dictField.isSystem())
                continue;
            if( New SysDictField(_tableId,dictField.id()).mandatory())
            {
                fieldList = treeNode.AOTfindChild('Fields');
                fieldNode = fieldList.AOTfindChild(dictField.name());
            
                if (!fieldNode)
                    continue;
                properties = fieldNode.AOTgetProperties();
                properties = setProperty(properties,'Mandatory','No');
                fieldNode.AOTsetProperties(properties);
                fieldNode.AOTsave();
            }
        }
    }
Ну етот код изменит реалнаю таблицу. Как изменит толка в тмп уровнем?
Старый 01.10.2009, 12:47   #2  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
Я так понимаю, таблица у вас на форме отображается?

Если так, то можно перекрыть метод ValidateWrite() на датасорсе и из него всегда возвращать true без вызова super().
Правда, от подчеркивания это не избавит, но сохранять записи можно.
__________________
Axapta v.3.0 sp5 kr2
Старый 01.10.2009, 15:11   #3  
Kent is offline
Kent
Участник
 
46 / 10 (1) +
Регистрация: 24.01.2007
Цитата:
Сообщение от AndyD Посмотреть сообщение
Я так понимаю, таблица у вас на форме отображается?

Если так, то можно перекрыть метод ValidateWrite() на датасорсе и из него всегда возвращать true без вызова super().
Правда, от подчеркивания это не избавит, но сохранять записи можно.

спасибо
Теги
временная таблица, обязательный, поле

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Проблема с LedgerJournalTrans Alexanderrrr DAX: Программирование 14 23.09.2009 13:42
palleagermark: Set focus on a particular field on an EP page Blog bot DAX Blogs 0 27.11.2008 14:05
axStart: table & field ID conflicts Blog bot DAX Blogs 0 29.05.2008 17:05
Ruslan Goncharov: Mandatory property for DialogField Blog bot DAX Blogs 1 29.12.2007 20:48
Mandatory field в Dialog axaLearner DAX: Программирование 4 02.11.2004 09:50

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

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

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