From: Vladimir Fomichev Date: Tue, 14 Oct 2025 12:12:31 +0000 (+0300) Subject: Merge branch 'refs/heads/develop' into feature_fomichev_erp-471_add_price_dictionary_... X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=1c48ce08a63c9528234703519a3d29e708d23c3a;p=erp24_rep%2Fyii-erp24%2F.git Merge branch 'refs/heads/develop' into feature_fomichev_erp-471_add_price_dictionary_for_fw_feed # Conflicts: # erp24/controllers/MarketplaceController.php --- 1c48ce08a63c9528234703519a3d29e708d23c3a diff --cc erp24/services/MarketplaceService.php index fbca7240,3c2cdbbc..ccfb07c8 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@@ -27,9 -24,9 +24,10 @@@ use yii_app\records\MarketplaceOrderIte use yii_app\records\MarketplaceOrders; use yii_app\records\MarketplaceOrderStatusHistory; use yii_app\records\MarketplaceOrderStatusTypes; +use yii_app\records\MarketplacePrices; 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; @@@ -421,13 -417,26 +420,29 @@@ class MarketplaceServic return []; } + // Определяем marketplace_id на основе warehouse_id + $marketplaceId = ($store->warehouse_id == MarketplaceStore::YANDEX_WAREHOUSE_ID) ? 1 : 2; // 1-YM, 2-FW + $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();