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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 03.02.2021, 07:01   #1  
oleggy is offline
oleggy
Участник
 
270 / 36 (2) +++
Регистрация: 03.12.2019
Адрес: Россия
в чем разница между вызовами метода allowEdit
Всем привет.
Не могу понять в чем разница между строками кода:
salesTable_ds...
salesTable_SalesType...
X++:
// Initialization specifically for Journals and Blanket orders
// Do not allow order type change if form was called from Sales journal or Blanket order menu items
if (element.args().parmEnumType() == enumnum(SalesTableFormId) && (element.args().parmEnum() == SalesTableFormId::Blanket || element.args().parmEnum() == SalesTableFormId::Journal))
{
	salesTable_ds.object(fieldnum(SalesTable, SalesType)).allowEdit(false);
	salesTable_SalesType.allowEdit(false);
}

По сути это одно и то же, и можно было обойтись одной строчкой кода. Или я не прав?
В одном случае поля в форме запрещено для изменения, в другом случае это же поле только в виде псевдонима так же запрещается для изменения.
Старый 03.02.2021, 08:53   #2  
Pandasama is offline
Pandasama
Участник
 
457 / 134 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
Возможно, поле salesTable_SalesType не привязано к SalesTable.SalesType, а привязано к едит-методу?
Старый 03.02.2021, 11:22   #3  
TasmanianDevil is offline
TasmanianDevil
Мрачный тип
Аватар для TasmanianDevil
Злыдни
 
886 / 389 (14) ++++++
Регистрация: 24.01.2005
Адрес: Томск
salesTable_ds.object(fieldnum(SalesTable, SalesType)) - будет корректно блокировать все контролы формы, привязанные к данному полю источника данных, даже если вы их добавите после написания этого кода.

salesTable_SalesType.allowEdit() - блокировка только конкретного контрола формы.
Если добавить еще один контрол, привязанный к тому же полю - он , в отличие от предыдущего варианта, блокироваться не будет
__________________
Мы летаем, кружимся, нагоняем ужасы ...
Старый 03.02.2021, 17:59   #4  
Raven Melancholic is offline
Raven Melancholic
Участник
Аватар для Raven Melancholic
Самостоятельные клиенты AX
Лучший по профессии 2015
 
2,164 / 1293 (48) ++++++++
Регистрация: 21.03.2005
Адрес: Москва-Петушки
Разницу хорошо объяснил TasmanianDevil. salesTable_ds.object(fieldnum(SalesTable, SalesType)) более надежный способ и не дает пользователю получить доступ путем добавления полей в настройке формы.
Ну а сам исходный вопрос, как понимаю, возник при анализе формы SalesTable в DAX2009. Там salesTable_SalesType.allowEdit(false); явно лишнее.
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
AllowEdit = no для Edit-метода - можно что-нибудь придумать? IKA DAX: Программирование 5 06.09.2013 09:01
Разница между lock-unlock и lockWindowUpdate Hyper DAX: Программирование 6 19.10.2011 12:29
Разница между пустой Группой на форме, и группой в которую включён элемент 3oppo DAX: Программирование 8 26.12.2006 10:47
Разница между запросами Rect DAX: Программирование 13 05.12.2006 12:44
Разница между английской и русской документацией Sirius DAX: Функционал 4 22.06.2005 15:02

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

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

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