use yii_app\records\ExportImportTable;
use yii_app\records\MatrixBouquetForecast;
use yii_app\records\Products1c;
+use yii_app\records\Products1cNomenclatureActuality;
use yii_app\records\Sales;
use yii_app\records\SalesProducts;
use yii_app\records\SalesWriteOffsPlan;
);
$date = $year . '-' . str_pad($month, 2, '0', STR_PAD_LEFT) . '-01';
+ $df = (new \DateTime($date))
+ ->setTime(0, 0, 0)->format('Y-m-d H:i:s');
+ $dt = (new \DateTime($date))
+ ->modify('last day of this month')->setTime(23, 59, 59)
+ ->format('Y-m-d H:i:s');
+ $actualProducts = Products1cNomenclatureActuality::find()
+ ->select(['guid'])
+ ->where(['<=', 'date_from', $df])
+ ->andWhere(['>=', 'date_to', $dt])
+ ->asArray()
+ ->column();
$result = StorePlanService::getBouquetSpiecesMonthGoalFromForecast($month, $year, $storeId, $matrixGroups);
$weekShares = $this->getHistoricalSpeciesShareByWeek($date);
foreach ($weeklyForecasts as $item) {
$storeItem = (int)$item['store_id'];
$guid = (string)$item['product_guid'];
+ if (!in_array($guid, $actualProducts)) {
+ continue;
+ }
$group = (string)$item['matrix_group'];
$type = (string)$item['type'];
$forecastValue = (float)$item['week_forecast'];