|
![]() |
#1 |
Участник
|
"Тут все элементарно", начал было я свой текст... И углубился на час исследований.
Прежде всего: В ax4.0 ввели новый функционал - реверсирование. В ax3.0 этого функционала не было. Вот как выглядела форма этого отчета в ax3.0 Что делает галка Include Reversed: 1. показывает колонку Trace Number 2. Изменяет запрос "хитрым образом", чтобы "спрятать" отреверсированные проводки из отчета (см. ниже) Как изменяется запрос: Если вы делаете как обычно, то у вас отчет делается со 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)); } Обратите внимание, что этот метод вызывается только в том случае, если галка СНЯТА. Если галка установлена, то метод НЕ вызывается, и запрос НЕ меняется. Вот пример тестового отчета без галки (отреверсированные проводки НЕ показывать, спрятать): И пример тестового отчета с галкой (отреверсированные проводки показывать): Другими словами, галка работает как и ожидается: она убирает из отчета "отреверсированные при помощи нового функционала" проводки. (Опять хочется пнуть локализацию: вместо #$%^& доделок лучше бы исправили этот функционал, чтобы делалось сторно, а не реверс и исправили бы метку. Ладно.) Это пока было все просто... минут на 5-10 разбора с Аксаптой. Теперь начались сложности. Я попытался промоделировать ситуацию, чтобы воспроизвести поведение в вашей базе. И не получилось. Я подумал, что может быть итоги считаются как-нибудь по другому запросу... Нет, там вроде все правильно. Остается две возможности: 1. у вас не последний сервис-пак. У меня установлен AX4.0 SP2 2. у вас нарушена целостность данных в таблицах LedgerTrans и TransactionReversalTrans (какой-то программист своими шаловливыми ручками удалял или правил проводки в LedgerTrans, например, а про TransactionReversalTrans - забыл) Что посоветую: 1. Поднимите на последний сервис пак хотя бы семейство классов LedgerBalanceSheetDim. По крайней мере класс LedgerBalanceSheetDimCol_Cur Если не поможет, то 2. Попробуйте создать копию базы/компании. В копии создайте пару НОВЫХ счетов и промоделируйте ситуацию с "реверсированием" на не ту дату. Скорее всего на новых тестовых проводках все будет правильно (будет соответствовать ожиданиям) Если на тестовых данных будут ошибки, то возвращайтесь к пункту 1 и ищите изменения в семестве классов. Если все будет правильно на тестовых проводках, то 3. Нужно будет разбираться с целостностью данных. Тут тема большая. Не видя данных приходит слишком много вариантов что может быть неправильно. Скорее всего, часть проводок в LedgerTrans таки была у вас удалена программистами (или хитрыми доработками ваших программистов). |
|
![]() |
#2 |
китайский стажер
|
Mazzy,
Версия ядра 2.0.2501.116. Согласно вот этой ссылке: http://www.axaptapedia.com/Build_numbers с сервис паком у нас все в порядке, второй. Хот фиксов на эту тему не было вроде бы, по крайней мере среди финансовых серий. И с целостностью проводок все тоже в порядке. И моделируется ситуация довольно просто. Сделайте оригинальные постинги в начале года, а реверсируйте на конец года (тем самым хитрым реверсированием). Сформируйте отчет (Вы правильно поняли про какой отчет идет речь) на середину года с галкой и без галки. Почувствуйте разницу. Получилось? Я то все понимаю про этот запрос, тут выводим тут не выводим тут рыбу заворачиваем. Теперь представьте себе грустные глаза избалованных однозначностью буржуинского учета бухгалтеров, которые в зависимости от какой-то галочки получают совсем разные балансы на счете. Получается что этот отчет в большинстве случаев правильный именно с неприметной галочкой.
__________________
Может быть выйдет, а может не-е-е-ет... Новая песня вместо штиблет.. |
|
Теги |
ax2009, ax4.0, баг, сальдо, сторно |
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|