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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.06.2007, 15:18   #1  
EVGL is offline
EVGL
Banned
Соотечественники
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
 
4,445 / 3001 (0) ++++++++++
Регистрация: 09.07.2002
Адрес: Parndorf, AT
Да, гребаный метод, который не проверяет наличие dataSource.object() в трехуровневой среде. Обещали в 5.0 исправить.
Старый 22.06.2007, 15:21   #2  
kashperuk is offline
kashperuk
Участник
Аватар для kashperuk
MCBMSS
Соотечественники
Сотрудники Microsoft Dynamics
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии 2011
Лучший по профессии 2009
 
4,361 / 2084 (78) +++++++++
Регистрация: 30.05.2004
Адрес: Atlanta, GA, USA
Цитата:
Сообщение от EVGL Посмотреть сообщение
Да, гребаный метод, который не проверяет наличие dataSource.object() в трехуровневой среде. Обещали в 5.0 исправить.
Что значит не проверяет?

Я помню, столкнулся с какими-то глюками при использовании этого метода.
Переписал вот так. Ни разу пока ошибки вроде не вылетали.

X++:
static void allowEditFieldsOnFormDs_W(FormDataSource _dataSource, boolean _allowEdit)
{
    DictTable       dictTable;
    DictField       dictField;
    int             cx, idx;
    FormDataObject  dataSourceField;
    ;
    if (!_dataSource)
        throw error(@"Источник данных пустой. Обратитесь к разработчикам");

    dictTable = new DictTable(_dataSource.table());
    if (!dictTable)
        throw error(@"Таблица источника данных пустая. Обратитесь к разработчикам");

    for(cx = 1; cx <= dictTable.fieldCnt(); cx ++)
    {
        dictField = dictTable.fieldObject(dictTable.fieldCnt2Id(cx));
        if (!dictField)
            throw error(@"Критическая ошибка. Обратитесь к разработчикам");

        if(!dictField.isSystem())
        {
            for(idx = 1; idx <= dictField.arraySize(); idx++)
            {
                dataSourceField = _dataSource.object(fieldId2Ext(dictField.id(), idx));
                if (!dataSourceField)
                    throw error(@"Критическая ошибка при установке доступа на редактирование поля. Обратитесь к разработчикам");
                dataSourceField.allowEdit(_allowEdit);
            }
        }
    }
}
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axaptapedia: Filter-by-Grid Blog bot DAX Blogs 2 30.05.2012 13:39
Проверка значения CheckBox объявленного на форме в Grid mallard DAX: Программирование 3 03.05.2007 16:49
Dynamics AX: DAX 4.0 Filter by Grid [Update] Blog bot DAX Blogs 0 27.04.2007 17:10
Advanced programming: Grid data and view manipulations batiskaf_new DAX: Программирование 15 21.06.2006 11:44
View + Grid + CheckBox Yprit DAX: Программирование 4 22.02.2005 10:54

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

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

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