From 5ca1c65db00fa337ac6c643131e47ef5442ed280 Mon Sep 17 00:00:00 2001 From: Aleksey Filippov Date: Sun, 1 Mar 2026 22:52:15 +0300 Subject: [PATCH] fix(ERP-248): move $store lookup before if/else to fix undefined variable $store was defined only inside the "new order" block (line 1252), but referenced in 5 places inside the "existing order" else-block (lines 1692, 1735, 1770, 1828, 2017), causing "Undefined variable $store" on production. Moved $warehouseGuid and $store assignment before the if/else split so both branches share the same variable scope. Co-Authored-By: Claude Opus 4.6 --- erp24/services/MarketplaceService.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index e8f6d558..ce53564d 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -1225,6 +1225,8 @@ class MarketplaceService } $newRawData = json_encode($order, JSON_UNESCAPED_UNICODE); + $warehouseGuid = (string)$campaignId; + $store = $warehouseGuid ? MarketplaceStore::findOne(['warehouse_guid' => $warehouseGuid]) : null; $marketplaceOrder = MarketplaceOrders::find() ->where(['marketplace_order_id' => (string)$order->getId()]) ->with(['status', 'substatus']) @@ -1247,9 +1249,7 @@ class MarketplaceService $marketplaceOrder->cancel_requested = (int)$order->getCancelRequested(); $marketplaceOrder->guid = DataHelper::createGuidMy('08'); $marketplaceOrder->fake = (int)$order->getFake(); - $warehouseGuid = (string)$campaignId; if ($warehouseGuid) { - $store = MarketplaceStore::findOne(['warehouse_guid' => $warehouseGuid]); if (!$store) { $errorMessage = "Ошибка! Отсутствует запись MarketplaceStore для магазина {$warehouseGuid} ЯМ"; $errorMessage = TelegramService::escapeMarkdown($errorMessage); -- 2.39.5