Возникла сабжевая задача (Ax 3.0 SP3).
Копаю форму LedgerJournalTransCustPaym и связанный с ней класс LedgerJournalFormTrans, откручивая зависимости от формы журналов.
Встречаю следующую вещь в методе initJournalTransFromCaller, далее - см. по тексту (русские комментарии - мои):
PHP код:
{
JournalTableMap tmp = journalFormTable.JournalTableData().journalTable().data();
// тут мы взяли текущую запись в журнале платежей в экземпляре класса, управляющего формой журналов
// Is journalId changed ?
if (! journalTableData || journalTableData.journalTable().journalId != tmp.journalId)
// а теперь мы сравниваем ?!!! только что присвоенную переменную с оригинальным значением - а зачем?
// ладно, фиг с ним, допустим, раз эта часть условия всегда будет ложна, значит, в if мы можем войти только по первой части условия (! journalTableData)
{
// тут нам становится совсем интересно... :)
if (journalTableData)
{
journalTableData.updateBlock(JournalBlockLevel::InUse,JournalBlockLevel::None);
journalFormTable.updateFormCacheJournalTable(this.JournalTableData().journalTable(),true);
if (journalTableData.journalVoucherNum())
journalTableData.journalVoucherNum().Abort();
journalTableData = null;
journalTransData = null;
}
.
.
.
Я ..., дорогая редакция...
Есть мысли, соображения? Что бы это могло быть?