From: Vladimir Fomichev Date: Mon, 15 Dec 2025 12:09:04 +0000 (+0300) Subject: Скрытие без себестоимости X-Git-Url: https://gitweb.erp-flowers.ru/?a=commitdiff_plain;h=87bff7ae1264ae23be0e597779791f9be987d905;p=erp24_rep%2Fyii-erp24%2F.git Скрытие без себестоимости --- diff --git a/erp24/controllers/ShiftTransferController.php b/erp24/controllers/ShiftTransferController.php index 1a2b7e26..02f0575f 100644 --- a/erp24/controllers/ShiftTransferController.php +++ b/erp24/controllers/ShiftTransferController.php @@ -96,20 +96,33 @@ class ShiftTransferController extends Controller } $price = ArrayHelper::map(Prices::find()->select(['product_id', 'price'])->where(['product_id' => array_keys($products)])->all(), 'product_id', 'price'); $storeEIT = ExportImportTable::find()->select(['entity_id'])->where(['entity' => 'city_store', 'export_val' => $storeGuid, 'export_id' => 1])->one(); - $selfCost = ArrayHelper::map( - SelfCostProductDynamic::find() - ->select(['product_guid', 'price']) - ->where(['product_guid' => array_keys($products), 'store_id' => $storeEIT->entity_id]) - ->andWhere(new Expression(":d BETWEEN date_from AND date_to", [':d' => date('Y-m-d', strtotime($shiftDate))])) - ->orderBy(['date_from' => SORT_DESC]) - ->all(), - 'product_guid', 'price' - ); + $selfCost = []; + if ($storeEIT && $storeEIT->entity_id) { + $selfCost = ArrayHelper::map( + SelfCostProductDynamic::find() + ->select(['product_guid', 'price']) + ->where(['product_guid' => array_keys($products), 'store_id' => $storeEIT->entity_id]) + ->andWhere(new Expression(":d BETWEEN date_from AND date_to", [':d' => date('Y-m-d', strtotime($shiftDate))])) + ->orderBy(['date_from' => SORT_DESC]) + ->all(), + 'product_guid', 'price' + ); + } // $a = [['a' => 1, 'b' => 2, 'c' => 3], ['a' => 1, 'b' => 5, 'c' => 4], ['a' => 1, 'b' => 7, 'c' => 5],]; // var_dump(ArrayHelper::map($a, 'a', 'b')); die; // result: array(1) { [1]=> int(7) } - $loadDataShiftRemains = []; + + // Фильтруем товары без себестоимости из списка + $productGuidsFiltered = []; foreach ($productGuids as $key => $name) { + // Проверяем наличие себестоимости (не пустая и больше 0) + if (isset($selfCost[$key]) && $selfCost[$key] !== '' && $selfCost[$key] !== null && $selfCost[$key] > 0) { + $productGuidsFiltered[$key] = $name; + } + } + + $loadDataShiftRemains = []; + foreach ($productGuidsFiltered as $key => $name) { $loadDataShiftRemains[] = [ 'product_guid' => $key, 'retail_price' => $price[$key] ?? '', 'self_cost' => $selfCost[$key] ?? '', @@ -118,6 +131,9 @@ class ShiftTransferController extends Controller 'fact_and_1c_diff' => 0, 'remains_1c' => $balance[$key] ?? '' ]; } + + // Обновляем productGuids отфильтрованным списком + $productGuids = $productGuidsFiltered; return compact('loadDataShiftRemains', 'productGuids'); }