From e52300684e1b71f8abc247e6aa5a19c7b153d709 Mon Sep 17 00:00:00 2001 From: Vladimir Fomichev Date: Thu, 2 Oct 2025 15:29:09 +0300 Subject: [PATCH] =?utf8?q?=D0=9E=D1=81=D1=82=D0=B0=D0=B2=D0=BB=D1=8F=D0=B5?= =?utf8?q?=D0=BC=20=D0=B2=20=D1=84=D0=B8=D0=B4=D0=B5=20=D0=B0=D0=BA=D1=82?= =?utf8?q?=D0=B8=D0=B2=D0=BD=D1=8B=D0=B5=20=D1=82=D0=BE=D0=B2=D0=B0=D1=80?= =?utf8?q?=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- erp24/services/MarketplaceService.php | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index 34c00bac..52d81640 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -29,6 +29,7 @@ use yii_app\records\MarketplaceOrderStatusHistory; use yii_app\records\MarketplaceOrderStatusTypes; use yii_app\records\MarketplacePriority; use yii_app\records\MarketplaceStore; +use yii_app\records\MatrixErp; use yii_app\records\MatrixErpMedia; use yii_app\records\MatrixErpProperty; use yii_app\records\Prices; @@ -420,8 +421,24 @@ class MarketplaceService $productQuantities = $storeData[$storeGuid]; + // Сначала получаем активные товары из MatrixErp с is_feed_active = 1 + $activeMatrixProducts = MatrixErp::find() + ->where(['group_name' => 'marketplace']) + ->andWhere(['active' => 1]) + ->andWhere(['is_feed_active' => 1]) + ->all(); + + // Извлекаем GUID'ы активных товаров + $activeProductGuids = array_map(function($matrixProduct) { + return $matrixProduct->guid; + }, $activeMatrixProducts); + + // Находим товары в Products1c только по активным GUID'ам из MatrixErp + // и которые есть на складе + $availableProductGuids = array_intersect($activeProductGuids, array_keys($productQuantities)); + $products = Products1c::find() - ->where(['id' => array_keys($productQuantities)]) + ->where(['id' => $availableProductGuids]) ->andWhere(['!=', 'components', '']) ->all(); -- 2.39.5