Example #1
0
        public void CancelAcceptance(MovementWaybill waybill, User user, DateTime currentDateTime)
        {
            // регулярная проверка - не появились ли РЦ для переоценки
            articleRevaluationService.CheckAccountingPriceListWithoutCalculatedRevaluation(currentDateTime);

            CheckPossibilityToCancelAcceptance(waybill, user);

            // отмена резервирования товара при проводке
            var reservationInfoList = articleMovementService.CancelArticleAcceptance(waybill);

            // Пересчет показателей входящего и исходящего проведенного наличия
            articleAvailabilityService.MovementWaybillAcceptanceCanceled(waybill, reservationInfoList,
                                                                         articleMovementService.GetIncomingWaybillRowForOutgoingWaybillRow(movementWaybillRepository.GetRowsSubQuery(waybill.Id)));

            waybill.CancelAcceptance(UseReadyToAcceptState);

            // удаление связей и пересчет проведенной переоценки
            articleRevaluationService.MovementWaybillAcceptanceCancelled(waybill);
        }