Здравствуйте.
Столкнулся со странной ситуацией в Ax 2012 R3. Есть класс, наследник RunBase, с диалогом-формой. Класс выполняется на сервере. В конструкторе класса заполняется временная таблица InMemory с определёнными данными, передаётся в форму, пользователь может их откорректировать и по нажатию кнопки "ОК" передать в класс времянку с изменённными данными.
Делаю всё, как обычно, в классе делаю метод
X++:
public void setTmpTable1(TmpTable1 _tmpTable1)
{
tmpTable1.setTmpData(_tmpTable1);
}
и не получаю данные в классе: в отладчике видно, что _tmpTable1 данные есть, а в tmpTable - нет.
Но если написать так:
X++:
public void setTmpTable1(TmpTable1 _tmpTable1)
{
tmpTable1 = _tmpTable1;
}
все прекрасно работает, но меня терзают смутные сомнения в правильности такого подхода
Подскажите, пожалуйста, почему .setTmpData может не работать, а конструкция с присвоением - работает. А также, почему напрямую присваивать может быть плохо.
Спасибо!