|  02.04.2023, 22:31 | #1 | 
| Участник | Оборотно-сальдовая ведомость по складу. Физические и финансовые обороты 
			
			Доброго времени суток! Подскажите, пожалуйста, пользуется ли кто-нибудь стандартным ОСВ по складу? AX2012: (RUS) Generate the inventory balance turnover report D365FO: Inventory reports При первом знакомстве с данным творением возникло недопонимание в логике отображения физических оборотов. Правильно ли я понимаю что поведение отчёта следующее: - Если проводка разнесена физически, то отчёт добавляет её в физические обороты - Если проводка разнесена финансово, то отчёт добавляет её в финансовые обороты, и при этом "реверсирует" её из физических! (И вроде бы это логично. Иначе сальдо не сойдётся) Вопрос у меня в том как понимать то, что реверс физической разноски в отчёте отображается не по той стороне по которой было движение, а по противоположной. Т.е. если финансово разносится, например, приходная проводка по закупке, то в отчёт она попадает в колонку с финансовым приходом и в колонку с физическим расходом. Увеличивая тем самым обороты. А если ещё отчёт строить без опции раздельного отображения физических и финансовых оборотов, то разобраться в отображаемом результате вообще невозможно. У меня такое поведение отчёта наблюдается на версии AX 2012 R3 CU10. В версии D365FO не проверял. Оговорюсь, что речь не идёт о каких-либо сторно или корректировках, только самые обычные прямые движения по складу. По коду не нашёл никаких намёков на то что такое поведение можно поменять какими-то параметрами или настройками. Класс: InventSumDateFinancialCalc_RU Метод: calcTransFinancial X++:         ...
        if (addTransPhysicalReverseAll)
        {
            this.addTrans(_itemId,
                          inventTransOrigin.ReferenceCategory,
                          inventTransDirection.Direction == InventDirection::Issue ? InventDirection::Receipt : InventDirection::Issue, // <<-- Вот здесь зачем-то переворачивается проводка
                          true,
                          stornoPhysicalAddTrans,
                          this.getDimId(inventDim, postingPhysical.DefaultDimension, postingPhysical.LedgerDimension, stornoPhysical, postingPhysical.IsPosted),
                          -inventTrans.Qty,
                          -inventTrans.CostAmountPhysical,
                          _prevTrans,
                          _newTrans);
        }
        ... | 
|  | 
|  | 
| 
 |