From: Vladimir Fomichev Date: Tue, 23 Dec 2025 14:34:41 +0000 (+0300) Subject: Вывод ошибки и обработка ошибки создания чека заказа с МП в 1С X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=87f957afaadbba6a4fc2854832439e3c3c81f2b5;p=erp24_rep%2Fyii-erp24%2F.git Вывод ошибки и обработка ошибки создания чека заказа с МП в 1С --- diff --git a/erp24/records/CreateChecks.php b/erp24/records/CreateChecks.php index edd3ee29..17815965 100644 --- a/erp24/records/CreateChecks.php +++ b/erp24/records/CreateChecks.php @@ -34,6 +34,9 @@ use yii_app\api3\core\validators\PhoneValidator; */ class CreateChecks extends \yii\db\ActiveRecord { + const STATUS_CHECK_CREATED_ERP = 0; + const STATUS_CHECK_CREATED_1C = 1; + const STATUS_CHECK_ERROR_1C = 8; /** * {@inheritdoc} */ diff --git a/erp24/services/MarketplaceService.php b/erp24/services/MarketplaceService.php index aa81ef21..d0742dfc 100644 --- a/erp24/services/MarketplaceService.php +++ b/erp24/services/MarketplaceService.php @@ -3168,14 +3168,15 @@ class MarketplaceService ->select(['id']) ->where(['articule' => $item->offer_id]) ->one(); - - $items[] = [ - 'product_id' => $productsId->id ?? '', - 'quantity' => $item->count, - 'price' => $item->price, - 'seller_id' => $marketplaceOrder->seller_id, - 'marketplace_order_id' => $marketplaceOrder->marketplace_order_id, - ]; + if ($productsId && $productsId->id) { + $items[] = [ + 'product_id' => $productsId->id, + 'quantity' => $item->count, + 'price' => $item->price, + 'seller_id' => $marketplaceOrder->seller_id, + 'marketplace_order_id' => $marketplaceOrder->marketplace_order_id, + ]; + } } $createChecks->items = Json::encode($items); diff --git a/erp24/services/UploadService.php b/erp24/services/UploadService.php index fdd86150..b69aeaf5 100644 --- a/erp24/services/UploadService.php +++ b/erp24/services/UploadService.php @@ -1492,7 +1492,12 @@ class UploadService { // } catch (Exception $e) { // file_put_contents(self::OUT_DIR . '/log_created_check_error.txt', PHP_EOL . date("d.m.Y H:i:s",time()). $e->getMessage(), FILE_APPEND); // } - + CreateChecks::updateAll([ + 'status' => CreateChecks::STATUS_CHECK_ERROR_1C, + 'guid' => $arr2["id"], + 'date_up' => date('Y-m-d H:i:s'), + ], ['check_id' => $arr2["id"]]); + LogService::apiErrorLog(json_encode(["error_id" => 31, "error" => 'ОШИБКА В 1С - СОЗДАНИЕ ЧЕКА ЗАКАЗА id=' . $arr2["id"]], JSON_UNESCAPED_UNICODE)); $txt = date("d.m.Y H:i:s", time()) . " $idp СОЗДАНИЕ ЧЕКА ОШИБКА id=" . $arr2["id"] . " " . $arr2["error"]; file_put_contents(self::OUT_DIR . '/log_created_check_error.txt', PHP_EOL . $txt, FILE_APPEND); } else { // Если ошибок нет @@ -1511,7 +1516,7 @@ class UploadService { // } // Обновляем данные в очереди на создание чеков CreateChecks::updateAll([ - 'status' => 1, + 'status' => CreateChecks::STATUS_CHECK_CREATED_1C, 'guid' => $arr2["id"], 'date_up' => date('Y-m-d H:i:s'), 'name' => $arr2["name"], diff --git a/erp24/views/marketplace-orders/index.php b/erp24/views/marketplace-orders/index.php index e5953097..6e0d36dc 100644 --- a/erp24/views/marketplace-orders/index.php +++ b/erp24/views/marketplace-orders/index.php @@ -2,6 +2,7 @@ use kartik\grid\GridView; use yii\web\YiiAsset; +use yii_app\records\CreateChecks; use yii_app\records\MarketplaceOrders; use yii\helpers\Html; use yii\helpers\Url; @@ -249,14 +250,16 @@ YiiAsset::register($this); } $check = $model->check; - if ($check->status == 0) { + if ($check->status == CreateChecks::STATUS_CHECK_CREATED_ERP) { return 'Создан в ERP'; } - if ($check->status == 1) { - return $check->name - ? 'Создан в 1С' - : 'Отправлен в 1С'; + if ($check->status == CreateChecks::STATUS_CHECK_CREATED_1C) { + return 'Создан в 1С'; + } + + if ($check->status == CreateChecks::STATUS_CHECK_ERROR_1C) { + return 'Ошибка создания в 1С'; } return '-';