Как получить common.orig () в делегате табличного метода? - PullRequest
0 голосов
/ 09 января 2019

Позволяет иметь Таблица со строковым полем Поле . Вы можете переписать метод update () следующим образом:

public void update()
{
    //check begin
    if (this.orig().Field != this.Field)
    {
        info('Changed');        
    }
    //check end

    super();
}

Можно ли создать делегата, который будет выполнять проверку? Делегаты должны точно соответствовать параметрам метода, и здесь их нет, или они могут использовать XppPrePostArgs , но я не вижу способа, как получить _common _ и common.orig (),

Как получить common.orig () в делегате табличного метода? Возможно ли это?

Я использую Microsoft Dynamics AX 2012.

1 Ответ

0 голосов
/ 09 января 2019

Вы не можете иметь делегатов для табличных методов, но вы можете иметь обработчики событий. См:

Вы бы просто поместили обработчик перед событием в метод обновления таблицы, а затем использовали xppPrepostArgs, как показано ниже:

public static void updatePreEventHandler(xppPrepostArgs _args)
{
    CompanyInfo         companyInfo = _args.getThis();
    // Common              common      = _args.getThis(); // Alternatively

    if (companyInfo.orig().Name != companyInfo.Name)
    {
        info('Changed');
    }
}

enter image description here

...