/// <summary> /// Отмена приемки /// </summary> public virtual void CancelReceipt(MovementWaybill waybill, User user, DateTime currentDateTime) { // регулярная проверка - не появились ли РЦ для переоценки articleRevaluationService.CheckAccountingPriceListWithoutCalculatedRevaluation(currentDateTime); CheckPossibilityToCancelReceipt(waybill, user); // Пересчет показателей точного и проведенного наличия articleAvailabilityService.MovementWaybillReceiptCanceled(waybill, articleMovementService.GetOutgoingWaybillRows(movementWaybillRepository.GetRowsSubQuery(waybill.Id))); // пересчет показателей переоценки articleRevaluationService.MovementWaybillReceiptCancelled(waybill); // пересчет финансовых показателей factualFinancialArticleMovementService.MovementWaybillReceiptCancelled(waybill); //Пересчитываем счетчики количеств операций articleMovementOperationCountService.WaybillFinalizationCancelled(waybill); waybill.CancelReceipt(); articleMovementService.CancelArticleFinalMoving(waybill); movementWaybillRepository.Save(waybill); articleMovementService.UpdateOutgoingWaybillsStates(waybill, waybill.ReceiptDate); }
public void CancelWriteoff(WriteoffWaybill waybill, User user, DateTime currentDateTime) { // регулярная проверка - не появились ли РЦ для переоценки articleRevaluationService.CheckAccountingPriceListWithoutCalculatedRevaluation(currentDateTime); // Пересчет показателей проведенного исходящего и точного наличия articleAvailabilityService.WriteoffWaybillWriteoffCanceled(waybill); CheckPossibilityToCancelWriteoff(waybill, user); // пересчет финансовых показателей factualFinancialArticleMovementService.WriteoffWaybillWriteoffCancelled(waybill); // пересчитываем счетчики количеств операций articleMovementOperationCountService.WaybillFinalizationCancelled(waybill); // увеличение показателя точной переоценки articleRevaluationService.WriteoffWaybillFinalizationCancelled(waybill); // отменяем списание waybill.CancelWriteoff(); // помечаем товар как проведенный articleMovementService.CancelArticleFinalMoving(waybill); }
/// <summary> /// Отмена смены собственника (отмена отгрузки) /// </summary> /// <param name="waybill"></param> private void CancelOwnerChange(ChangeOwnerWaybill waybill, DateTime currentDateTime) { // регулярная проверка - появились ли РЦ для переоценки articleRevaluationService.CheckAccountingPriceListWithoutCalculatedRevaluation(currentDateTime); waybill.CheckPossibilityToCancelOwnerChange(); // Пересчет показателей точного и проведенного наличия articleAvailabilityService.ChangeOwnerWaybillOwnerChangeCanceled(waybill, articleMovementService.GetOutgoingWaybillRows(changeOwnerWaybillRepository.GetRowsSubQuery(waybill.Id))); changeOwnerWaybillRepository.Save(waybill); // пересчет показателей переоценки articleRevaluationService.ChangeOwnerWaybillReceiptCancelled(waybill); waybill.ChangeOwnerDate = null; //Сбрасываем дату смены собственника articleMovementService.CancelArticleFinalMoving(waybill); // TODO: добавить пересчет финансовых показателей и счетчиков операций changeOwnerWaybillRepository.Save(waybill); articleMovementService.UpdateOutgoingWaybillsStates(waybill, waybill.ChangeOwnerDate); }