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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.06.2017, 05:29   #1  
Pandasama is offline
Pandasama
Участник
 
457 / 137 (5) +++++
Регистрация: 11.08.2014
Адрес: Барнаул
TransactionReversal_Asset - то ли фича, то ли баг
Наткнулся на, на мой взгляд, явный баг стандарнтого кода в Ax2012R3
(возможно это уже пропатчено было где-то)

(C)TransactionReversal_Asset.canReverse_AnyTransType (и в куче других похожих методов этого класса аналогичная ситуация), строка 77

X++:
AssetTrans assetTransAll;
TransactionReversalTrans reversalTrans;

select RecId, AssetId, BookId, TransType from assetTransAll
    where
        assetTransAll.AssetId == _assetTransMain.AssetId
        && assetTransAll.BookId == _assetTransMain.BookId
        && assetTransAll.RecId != _assetRecId
        && assetTransAll.TransDate >= assetTransDateDerogatoryTrans
        && ((assetTransAll.TransType == AssetTransType::Depreciation)
            || (assetTransAll.TransType == AssetTransType::BonusDepreciation)
            || (assetTransAll.TransType == AssetTransType::ExtraordinaryDepreciation))
    notexists join
        reversalTrans
    where
        reversalTrans.RefRecId == assetTransAll.RecId
        && (reversalTrans.Reversed == true);
при этом в TransactionReversalTrans связь с другими таблицами по RefTableId + RefRecId

получаем ситуацию, когда для AssetTrans реверса не существует, но есть реверс для записи другой таблицы с тем же RecId - и предупреждение не срабатывает, т.к. считае что у AssetTrans есть реверс.

Функционал такой: на форме Asset Trans (не русской) (Fixed Assets - Common - Fixed Assets - Fixed Assets, Books / Value models - Transactions) при выборе транзакции и нажатии Reverse transaction срабатывает предупреждение "Depreciation exist for XXXX, YYYY for this transaction date or later. The transaction that you selected might have affected the calculated depreciation. If you proceed, depreciation is not recalculated." если есть более поздняя не реверсированная AssetTrans.
Соответственно, в нашем случае - проверка не срабатывала, т.к. считала более поздние проводки реверсированные.
Старый 16.06.2017, 08:12   #2  
trud is offline
trud
Участник
Лучший по профессии 2017
 
1,039 / 1633 (57) ++++++++
Регистрация: 07.06.2003
Записей в блоге: 1
В D365 пофиксено
добавили строчку - && reversalTrans.RefTableId == assetTransAll.TableId
За это сообщение автора поблагодарили: mazzy (2).
Теги
assettrans, transaction reverse, ax2012r3

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Баг или фича - неожиданное поведение метода xRecord.data() Pandasama DAX: Программирование 3 21.03.2016 13:01
AX 2012 Пересчет единиц измерения - баг или фича? Kabardian DAX: Функционал 3 25.02.2014 11:00
Добавление полей в существующую таблицу - баг или фича ? kair84 DAX: Программирование 8 12.10.2012 12:15
Баг (Фича?) - Создание номенклатуры Yprit DAX: Функционал 5 29.06.2005 14:27
FormListItem.stateChecked() - баг или фича ? Андре DAX: Программирование 5 20.02.2003 14:25
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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