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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.03.2011, 13:06   #19  
gl00mie is offline
gl00mie
Участник
MCBMSS
Most Valuable Professional
Лучший по профессии 2017
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
3,684 / 5813 (201) ++++++++++
Регистрация: 28.11.2005
Адрес: Москва
Записей в блоге: 3
Спасибо за информацию, но кое с чем не могу согласиться.
Цитата:
Сообщение от erudit Посмотреть сообщение
Так называемые AxBC-классы (с префиксом Ax) появились в AX 4.0 вместе с Axd-классами, как основа нового модуля AIF (Application Integration Framework).
По-моему, это AIF появился в 4.0, а AxBC-классы были и ранее, только использовались не в AIF, а в Commerce Gateway, т.е. как минимум они были уже в 3.0 (более ранние версии я не застал).
Цитата:
Сообщение от erudit Посмотреть сообщение
Ранее упомянутая технология touched - используется для определения, было ли данное поле изменено ранее, и если да, то defaulting его не тронет. Это принциальное отличие от использования к примеру метода modified() на таблице, где легко перезаписать уже имеющиеся данные.
Принципиальное отличие от обработчиков modifiedField(), по-моему, в том, что они срабатывают на изменение каждого поля, т.е. предполагается, что за раз может быть изменено лишь одно поле, поэтому и допускается перезапись всех прочих полей, кроме одного измененного. А на момент вызова AxBC.modified() "тронутыми" может оказаться более одного поля, поэтому и приходится проверять все поля на предмет того, можно ли перезаписывать их значения. При обработке изменения одного поля работа AxBC.modified() принципиально не будет отличаться от вызова modifiedField() на таблице.
Цитата:
Сообщение от erudit Посмотреть сообщение
заметьте - AxBC-классы предназначены только для использования в AIF или InterCompany, больше нигде.
Опять же не могу согласиться. Если кто пробовал добавлять свои или модифицировать штатные обработчики modifiedField(), скажем, для шапки или строк заказов и ожидал увидеть в одноименном стандартном методе привычный switch(_fieldId), то его - опять же со времен 3.0 - ждал "сюрприз":
X++:
public void modifiedField(fieldId _fieldId)
{
    AxSalesTable    AxSalesTable;
    Object          formDataSource;

    super(_fieldId);

    if (this.isFormDataSource())
    {
        if (formDataSourceHasMethod(this.dataSource(),classstr(AxSalesTable)))
        {
            formDataSource = this.dataSource();
            AxSalesTable = formDataSource.AxSalesTable();
        }
    }
    else
    {
        AxSalesTable = this.AxSalesTable();
    }

    if (AxSalesTable)
    {
        AxSalesTable.setFieldAsTouched(_fieldId);
        AxSalesTable.modify();
    }
}
Этот код остался неизменным и поныне (AX 2009 SP1).
Цитата:
Сообщение от mazzy Посмотреть сообщение
Что за подмена "прямо на лету" и почему этого нельзя сделать с таблицами?
Я так понимаю, речь о подмене кодов: скажем, код номенклатуры в одной компании может через те же внешние коды сопоставляться с кодом в другой компании и подменяться на лету.

Последний раз редактировалось gl00mie; 27.03.2011 в 13:19. Причина: дополнение
Теги
ax-классы, axbc, как правильно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
axinthefield: Dynamics AX Event IDs Blog bot DAX Blogs 0 01.03.2011 22:11
daxdilip: Whats New in Dynamics AX 2012 (A brief extract from the recently held Tech Conf.) Blog bot DAX Blogs 7 31.01.2011 12:35
semanticax: Dynamics AX 2009 Installation - Application Blog bot DAX Blogs 0 22.12.2010 08:11
axStart: Microsoft Dynamics AX 2009 Hot Topics Web Seminar Series Blog bot DAX Blogs 0 06.08.2008 12:05
Arijit Basu: AX 2009 - Quick Overview Blog bot DAX Blogs 4 19.05.2008 14:47

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

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

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