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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 02.11.2005, 16:18   #1  
AlexT1 is offline
AlexT1
Участник
 
6 / 10 (1) +
Регистрация: 28.09.2005
Кто знает можно как нибудь открыть доступ к полю на форме если DataSource закрыт для
Кто знает можно как нибудь открыть доступ к полю на форме если DataSource закрыт для редактирования?

rassetTable_ds.allowEdit(false);
Старый 02.11.2005, 17:03   #2  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,245 / 980 (37) +++++++
Регистрация: 03.04.2002
Подозреваю, что никто не знает.
__________________
Isn't it nice when things just work?
Старый 02.11.2005, 17:08   #3  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Не спеши

1) Откройте на редактирование
2) На датасорсе выделите все поля, кроме нужного.
3) Поставьте свойство allowEdit - в No

С Уважением,
Георгий
Старый 02.11.2005, 17:09   #4  
AlexT1 is offline
AlexT1
Участник
 
6 / 10 (1) +
Регистрация: 28.09.2005
Наверно никак не получиться
Старый 02.11.2005, 17:11   #5  
ALES is offline
ALES
Участник
Злыдни
 
220 / 45 (2) +++
Регистрация: 11.08.2004
Если закрыт, то никак. Можно открыть на редактирование _DS и закрыть на редактирование все поля кроме нужного. Вот только он не просто так закрыт для изменения наверное..
Старый 02.11.2005, 17:20   #6  
AlexT1 is offline
AlexT1
Участник
 
6 / 10 (1) +
Регистрация: 28.09.2005
Спасибо, так и сделаю, правда полей там около сотни
Старый 02.11.2005, 17:27   #7  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,245 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от AlexT1
Спасибо, так и сделаю, правда полей там около сотни
Обычно привинчивают метод, где в цикле их закрывают
__________________
Isn't it nice when things just work?
Старый 02.11.2005, 17:36   #8  
George Nordic is offline
George Nordic
Модератор
Аватар для George Nordic
Злыдни
 
4,479 / 1250 (50) ++++++++
Регистрация: 17.12.2003
Адрес: Moscow
Записей в блоге: 9
Хм. Ребят! Я же написал.
Ctrl+A на датасорсе тоже работает!
Хотя нет... Юра прав.. обычно в процессе разработки на таблице могут появиться новые поля, которые появятся в датасорсе и станут открытыми на редактирование. Так что делайте, как г-н macklacov говорит.


С Уважением,
Георгий
Старый 02.11.2005, 17:42   #9  
macklakov is offline
macklakov
NavAx
Аватар для macklakov
 
2,245 / 980 (37) +++++++
Регистрация: 03.04.2002
Цитата:
Сообщение от George Nordic
обычно в процессе разработки на таблице могут появиться новые поля, которые появятся в датасорсе и станут открытыми на редактировани
Вообще-то я имел в виду открытие/закрытие ds в runTime, но твой аргумент тоже важен
__________________
Isn't it nice when things just work?
Старый 03.11.2005, 00:18   #10  
sukhanchik is offline
sukhanchik
Administrator
Аватар для sukhanchik
MCBMSS
Злыдни
Лучший по профессии 2015
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,319 / 3547 (125) ++++++++++
Регистрация: 13.06.2004
Адрес: Москва
Цитата:
Сообщение от AlexT1
Спасибо, так и сделаю, правда полей там около сотни
Ну и ладно. Да простит меня господин db (как автор кода), но уж больно тривиально
X++:
// created by db
// применятся ко всем полям датасорса, кроме контейнера, в котором перечислены исключающие поля
static void dsEnableFields(FormDataSource _formDataSource, boolean _allowEdit, container _fieldListExclude=connull())
{
    FormDataObject  fdo;
    DictTable       dictTable = new DictTable(_formDataSource.table());
    DictField       dictField;
    int             fieldCount = dictTable.fieldCnt();
    int             i;
    int             j;
    FieldId         fieldId;
    boolean         allowEdit;
    for (i = 1; i <= fieldCount; i++)
    {
        dictField = new DictField(dictTable.id(), dictTable.fieldCnt2Id(i));
        for (j = 1; j <= dictField.arraySize(); j++)
        {
            fdo = _formDataSource.object(fieldId2ext(dictField.id(), j));
            allowEdit = confind(_fieldListExclude, dictField.id()) ? ! _allowEdit : _allowEdit;
            if (fdo)
                fdo.allowEdit(allowEdit);
        }
    }
}
__________________
Возможно сделать все. Вопрос времени
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как-нибудь можно перехватить сообщение, что связь с базой данных разорвалась ? Yury DAX: Программирование 6 08.05.2003 14:18
можно ли в аксапте выписать счет-фактуру, если товар оплачен VladimirS DAX: Функционал 5 19.08.2002 12:09
доступ к свойствам полей DataSource andreynikolai DAX: Программирование 2 06.06.2002 16:55
Можно ли настроить доступ по складам? Rafael DAX: Функционал 4 12.02.2002 16:00
Как получить доступ к текущей строке в DataSource формы Maxim Gorbunov DAX: База знаний и проекты 0 28.11.2001 13:46

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

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

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