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;
$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();