diff --git a/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php b/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php index b396fb5b2a50..51d423570587 100644 --- a/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php +++ b/vendor/magento/module-catalog/Model/Product/Price/Validation/TierPriceValidator.php @@ -14,6 +14,7 @@ use Magento\Framework\Api\FilterBuilder; use Magento\Framework\Api\SearchCriteriaBuilder; use Magento\Framework\Exception\LocalizedException; +use Magento\Framework\Exception\NoSuchEntityException; use Magento\Framework\ObjectManager\ResetAfterRequestInterface; use Magento\Store\Api\WebsiteRepositoryInterface; @@ -316,12 +317,14 @@ private function checkPriceType( private function checkQuantity(TierPriceInterface $price, $key, Result $validationResult) { $sku = $price->getSku(); - if (isset($this->productsCacheBySku[$sku])) { - $product = $this->productsCacheBySku[$sku]; - } else { - $product = $this->productRepository->get($price->getSku()); - $this->productsCacheBySku[$sku] = $product; + if (!isset($this->productsCacheBySku[$sku])) { + try { + $this->productsCacheBySku[$sku] = $this->productRepository->get($sku); + } catch (NoSuchEntityException $e) { + return; + } } + $product = $this->productsCacheBySku[$sku]; $canUseQtyDecimals = $product->getTypeInstance()->canUseQtyDecimals(); if ($price->getQuantity() <= 0 || $price->getQuantity() < 1 && !$canUseQtyDecimals) {