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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 22.02.2015, 22:14   #1  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2494 (89) +++++++++
Регистрация: 20.08.2005
Сложно)

На базовом классе DimensionControllerObject есть несколько делегатов, вызовы которых используются при создании контролов аналитик

делегат DimensionLinkShowField отвечает за пропуск создания контрола (parmCancel() класса-события DimensionLinkCancelEventArgs должен вернуть True)
делегат DimensionLinkAllowFieldEdit - за возможность блокирования изменения контрола (DimensionLinkCancelEventArgs.parmCancel() == true)
делегат DimensionLinkMarkFieldOptional - за обязательность (DimensionLinkCancelEventArgs.parmCancel() == true)

Для подписки на событие, необходимо реализовать паблик-метод, соответствующий подписываемому делегату, в классе-обработчике формы (на самой форме нельзя - подписка не будет выполнена)

Определение аналитики выполняется по идентификатору аналитики (DimensionAttributeRecId)

X++:
// Метод в классе-обработчике
public void showDimensionControl(DimensionLinkCancelEventArgs _e)
{
    ;

    if (_e)
        _e.parmCancel(_e.parmDimensionAttributeId() != ViewDimensionAttributeRecId);
}

//Подпись на событие DimensionLinkShowField
...
    dimensionDefaultingController = DimensionDefaultingController::constructInGroupWithValues(
...
//подписка на событие
//myHadlerClass.showDimensionControl - это Instance-метод класса
    dimensionDefaultingController.DimensionLinkShowField += eventhandler(myHadlerClass.showDimensionControl);
//если потребуется использовать статический метод
    dimensionDefaultingController.DimensionLinkShowField += eventhandler(MyHadlerClass::staticShowDimensionControl);
...
__________________
Axapta v.3.0 sp5 kr2
За это сообщение автора поблагодарили: Oz (2), Logger (3).
Теги
ax2012, financialdimensions2012

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Как связать 3 таблицы на форме kitty DAX: Программирование 10 18.04.2013 08:27
Как мне обновить Grid расположенный на другой форме? Yuri Safronov DAX: Программирование 17 22.01.2013 14:18
Поля из разных таблиц в динамической Lookup-форме samolalex DAX: Программирование 8 06.06.2011 20:20
Отображение связи n:n на форме mazzy DAX: Программирование 22 16.03.2011 16:19
Связь между таблицами в форме Акавешка DAX: Программирование 8 31.01.2011 08:11
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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