} // выберем все купленные товары за последний месяц, теми пользователями которые откладывали товар $dbBasketItems = CSaleBasket::GetList(array("NAME" => "ASC","ID" => "ASC"), array("LID" => SITE_ID,"DELAY" => 'N','>DATE_INSERT'=>$date_mount,'USER_ID'=>$user_ids), false,false, array("ID", "PRODUCT_ID",'USER_ID') ); while ($arItems = $dbBasketItems->Fetch()) { $users_by_products[$arItems['USER_ID']][] = $arItems['PRODUCT_ID']; } // выбираем пользователей для рассылки $user_ids_filter = implode('|',$user_ids); $res_user = Cuser::GetList(($by="personal_country"), ($order="desc"), array('ID'=>$user_ids_filter), array('FIELDS'=>(array('ID','NAME','LAST_NAME','EMAIL')))); while($row_user = $res_user->fetch()){ // соберем финальный массив продуктов для пользователя, что бы не было пересечений отложен и уже был куплен $actual_product = actual_prod($users_delay_products[$row_user['ID']],$users_by_products[$row_user['ID']]); $actual_product = array_unique($actual_product); foreach($actual_product as $p){ $actual_product_name[] = $products_names[$p]; } $row_user['PRODUCTS'] = $actual_product_name; $users_array[$row_user['ID']] = $row_user; } /** * отправка писем. предположим что есть почтовый шаблон, отправляем по нему. так же сам список товаров, * сейчас будет через запятую имена. но можно доработать под нужный красивый вид