|
26.05.2014, 10:35 | #1 |
Участник
|
Как скорректировать себестоимость в складских проводках, чтобы она была похожа на себестоимость после закрытия склада
Здравствуйте!
Аксапта 3.0 SP4. Эта тема для меня новая, поэтому прошу прощения, если этот вопрос уже поднимался. Также прошу прощения за возможную неправильную постановку вопроса. Не покажет ли кто-нибудь кусок кода, который имитирует коррекцию себестоимости складских проводок, которая производится при закрытии склада? Мне нужно пересчитать себестоимость без закрытия проводок и сопоставлений. Проблема в том, что себестоимость в проводках переноса вычисляется неправильно - она уменьшена. После переноса, до первого прихода, все проводки по продаже также имеют неправильную уменьшенную себестоимость. После нового прихода, последующие проводки имеют правильную себестоимость до тех пор, пока снова не появится перенос. После закрытия склада себестоимость становится правильной. У нас используются поля InventTrans.costAmountPosted и InventTrans.costAmountAdjustment в отчетах OLAP. Стандартные отчеты не используются. Нужно, чтобы отчеты показывали правильные данные в текущем месяце, по которому еще не был закрыт склад. Последний раз редактировалось Ace of Database; 26.05.2014 в 10:42. |
|
26.05.2014, 11:05 | #2 |
Участник
|
можно делать операцию Пересчет, тогда себестоимость будет близка к правде
|
|
|
За это сообщение автора поблагодарили: Ace of Database (2). |
26.05.2014, 11:10 | #3 |
Участник
|
Спасибо! Обновлю тестовую базу и на ней попробую.
|
|
26.05.2014, 11:18 | #4 |
Участник
|
Не уверен что вы двигаетесь по правильному пути.
Для начала хотелось бы понять почему у вас так странно повел себя пересчет себестоимости. Обычно он дает тот же результат, что и закрытие склада. Может у вас кастомизации закрытия были ? См. \Classes\InventCostItemDim\updateTransIdReceipt \Classes\InventCostItemDim\updateTransIdReturnReceipt А вот здесь отличия закрытия от пересчета. \Classes\InventCostItemDim\createAdjustSettlement \Classes\InventCostItemDim\createAdjustSettlementRecalc Но они обычно приводили к одинаковому результату. |
|
|
За это сообщение автора поблагодарили: gl00mie (5). |
26.05.2014, 11:20 | #5 |
Участник
|
А! Так вы просто пересчет не делали. Тогда конечно нужно просто сделать пересчет как вам и посоветовали.
А я думал у вас результат пересчета и закрытия отличается )) |
|
26.05.2014, 11:30 | #6 |
Участник
|
А пересчет надо делать каждый день на текущую дату? Чтобы каждый день отчеты работали?
|
|
26.05.2014, 11:41 | #7 |
Участник
|
если делать каждый день, то будет работать относительно быстро
|
|
26.05.2014, 11:43 | #8 |
Участник
|
Спасибо! Все работает. Правда переносы почему-то не трогает. Но проводки по заказам корректирует.
|
|
26.05.2014, 11:57 | #9 |
Участник
|
И переносы тоже пересчитывает! Надо просто дату пересчета указать на 1 больше даты переноса!
|
|
26.05.2014, 14:41 | #10 |
Участник
|
Цитата:
Цитата:
Сообщение от fed
Тот кто добавил поле costAmountAdjustment просто надеялся слегка снизить время сложных рассчетов баланса по проводке. Скажем если у нас проводку 1000 раз скорректировали, то проще взять inventTrans.costAmountAdjustment и вычесть из него те коррекции inventSettlement, которые были сделаны после отчетной даты. (Посмотрите метод inventSumDateValueReport.selectInventTransPostingFinancial чтобы понять правильную логику работы с costAmountAdjustment). В итоге, 95% внедренцев прямолинейно считают обороты и балансы по inventTrans.costAmountPosted+inventTrans.costAmountAdjustment. Пожалуйста - не делайте так. Каждый раз когда кто-то складывает inventTrans.costAmountPosted с inventTrans.costAmountAdjustment, Бенни Олесен икает...
Если хочешь что-то с чем-то сравнивать то ВСЕГДА надо брать costAmountPosted из inventTrans, а сумму корректировок - не из inventTrans, а из InventSettlement с датами меньшими или равными чем отчетная дата. |
|