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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.10.2009, 16:49   #1  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Qaz Qwerty Посмотреть сообщение
Так что же происходит?
"Тут все элементарно", начал было я свой текст... И углубился на час исследований.

Прежде всего:
В ax4.0 ввели новый функционал - реверсирование.
В ax3.0 этого функционала не было. Вот как выглядела форма этого отчета в ax3.0
Нажмите на изображение для увеличения
Название: 1.PNG
Просмотров: 435
Размер:	28.4 Кб
ID:	5257

Что делает галка Include Reversed:
1. показывает колонку Trace Number
2. Изменяет запрос "хитрым образом", чтобы "спрятать" отреверсированные проводки из отчета (см. ниже)
Нажмите на изображение для увеличения
Название: 2.PNG
Просмотров: 537
Размер:	18.1 Кб
ID:	5258

Как изменяется запрос:
Если вы делаете как обычно, то у вас отчет делается со Specification = Posting, а Posting Layer = Current.
В этом случае за изменение запроса отвечает метод LedgerBalanceSheetDimCol_Cur.q_addNoReversed()

X++:
public void q_addNoReversed(QueryBuildDataSource _qbds)
{
    QueryBuildDataSource qbds;
    ;

    qbds = _qbds.addDataSource(tablenum(TransactionReversalTrans));
    qbds.joinMode(JoinMode::NoExistsJoin);
    qbds.addLink(fieldnum(LedgerTrans,TableId), fieldnum(TransactionReversalTrans,RefTableId));
    qbds.addLink(fieldnum(LedgerTrans,RecId), fieldnum(TransactionReversalTrans,RefRecId));
    qbds.addRange(fieldnum(TransactionReversalTrans,Reversed)).value(enum2str(NoYes::Yes));
}
Нажмите на изображение для увеличения
Название: 6.PNG
Просмотров: 467
Размер:	64.2 Кб
ID:	5261

Обратите внимание, что этот метод вызывается только в том случае, если галка СНЯТА. Если галка установлена, то метод НЕ вызывается, и запрос НЕ меняется.

Вот пример тестового отчета без галки (отреверсированные проводки НЕ показывать, спрятать):
Нажмите на изображение для увеличения
Название: 3.PNG
Просмотров: 490
Размер:	11.6 Кб
ID:	5259
И пример тестового отчета с галкой (отреверсированные проводки показывать):
Нажмите на изображение для увеличения
Название: 4.PNG
Просмотров: 468
Размер:	15.0 Кб
ID:	5260

Другими словами, галка работает как и ожидается: она убирает из отчета "отреверсированные при помощи нового функционала" проводки.

(Опять хочется пнуть локализацию: вместо #$%^& доделок лучше бы исправили этот функционал, чтобы делалось сторно, а не реверс и исправили бы метку. Ладно.)

Это пока было все просто... минут на 5-10 разбора с Аксаптой.
Теперь начались сложности. Я попытался промоделировать ситуацию, чтобы воспроизвести поведение в вашей базе. И не получилось.

Я подумал, что может быть итоги считаются как-нибудь по другому запросу... Нет, там вроде все правильно.

Остается две возможности:
1. у вас не последний сервис-пак. У меня установлен AX4.0 SP2
2. у вас нарушена целостность данных в таблицах LedgerTrans и TransactionReversalTrans (какой-то программист своими шаловливыми ручками удалял или правил проводки в LedgerTrans, например, а про TransactionReversalTrans - забыл)

Нажмите на изображение для увеличения
Название: 9.PNG
Просмотров: 656
Размер:	137.2 Кб
ID:	5262

Что посоветую:
1. Поднимите на последний сервис пак хотя бы семейство классов LedgerBalanceSheetDim. По крайней мере класс LedgerBalanceSheetDimCol_Cur
Если не поможет, то
2. Попробуйте создать копию базы/компании. В копии создайте пару НОВЫХ счетов и промоделируйте ситуацию с "реверсированием" на не ту дату. Скорее всего на новых тестовых проводках все будет правильно (будет соответствовать ожиданиям)
Если на тестовых данных будут ошибки, то возвращайтесь к пункту 1 и ищите изменения в семестве классов.
Если все будет правильно на тестовых проводках, то
3. Нужно будет разбираться с целостностью данных. Тут тема большая. Не видя данных приходит слишком много вариантов что может быть неправильно. Скорее всего, часть проводок в LedgerTrans таки была у вас удалена программистами (или хитрыми доработками ваших программистов).
__________________
полезное на axForum, github, vk, coub.
Старый 14.10.2009, 19:48   #2  
Qaz Qwerty is offline
Qaz Qwerty
китайский стажер
 
152 / 37 (2) +++
Регистрация: 12.05.2008
Mazzy,
Версия ядра 2.0.2501.116. Согласно вот этой ссылке: http://www.axaptapedia.com/Build_numbers с сервис паком у нас все в порядке, второй. Хот фиксов на эту тему не было вроде бы, по крайней мере среди финансовых серий. И с целостностью проводок все тоже в порядке.

И моделируется ситуация довольно просто.
Сделайте оригинальные постинги в начале года, а реверсируйте на конец года (тем самым хитрым реверсированием). Сформируйте отчет (Вы правильно поняли про какой отчет идет речь) на середину года с галкой и без галки. Почувствуйте разницу. Получилось?

Я то все понимаю про этот запрос, тут выводим тут не выводим тут рыбу заворачиваем. Теперь представьте себе грустные глаза избалованных однозначностью буржуинского учета бухгалтеров, которые в зависимости от какой-то галочки получают совсем разные балансы на счете. Получается что этот отчет в большинстве случаев правильный именно с неприметной галочкой.
__________________
Может быть выйдет, а может не-е-е-ет...
Новая песня вместо штиблет..
Теги
ax2009, ax4.0, баг, сальдо, сторно

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Заказ на продажу и складские проводки. DAX 4 SP1 EE Daiver DAX: Функционал 6 04.07.2008 10:38
DAX 4.0 Ген. фин. отчетов - Активное сальдо (дебет) и Сальдо дебет - в чем разница? Aleks_K DAX: Функционал 5 17.01.2008 01:47
dax-lessons: Active directory in Axapta Blog bot DAX Blogs 0 27.08.2007 23:00
Kashperuk Ivan: AxPaint - make your DAX look cool :) Blog bot DAX Blogs 0 26.06.2007 21:00
Kashperuk Ivan: (DAX 3.0) SysExportDialog form extension Blog bot DAX Blogs 1 15.05.2007 19:16
Опции темы Поиск в этой теме
Поиск в этой теме:

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

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

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

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