getFieldValue('DAYS_BASKET_FORGOTTEN'); if(!is_numeric($daysBasketForgotten)) $daysBasketForgotten = 90; $dateFrom = new \Bitrix\Main\Type\DateTime; $dateTo = new \Bitrix\Main\Type\DateTime; $dateFrom->setTime(0, 0, 0)->add('-' . $daysBasketForgotten . ' days'); $dateTo->setTime(0, 0, 0)->add('1 days')->add('-' . $daysBasketForgotten . ' days'); if($this->isRunForOldData()) { $filter = array( ' $dateTo->format(\Bitrix\Main\UserFieldTable::MULTIPLE_DATETIME_FORMAT), ); } else { $filter = array( '>MIN_DATE_INSERT' => $dateFrom->format(\Bitrix\Main\UserFieldTable::MULTIPLE_DATETIME_FORMAT), ' $dateTo->format(\Bitrix\Main\UserFieldTable::MULTIPLE_DATETIME_FORMAT), ); } $filter = $filter + array( '!FUSER.USER_ID' => null, '=ORDER_ID' => null, '=LID' => $this->getSiteId(), ); $userListDb = \Bitrix\Sale\Internals\BasketTable::getList(array( 'select' => array('USER_ID' => 'FUSER.USER_ID', 'EMAIL' => 'FUSER.USER.EMAIL', 'FUSER_USER_NAME' => 'FUSER.USER.NAME'), 'filter' => $filter, 'runtime' => array( new \Bitrix\Main\Entity\ExpressionField('MIN_DATE_INSERT', 'MIN(%s)', 'DATE_INSERT'), ), 'order' => array('USER_ID' => 'ASC') )); if($userListDb->getSelectedRowsCount() > 0) { $userListDb->addFetchDataModifier(array($this, 'getFetchDataModifier')); $this->recipient = $userListDb; return true; } else return false; } public function getForm() { $daysBasketForgottenInput = ' '; return '
'.Loc::getMessage('sender_trigger_basket_forgotten_days').' '.$daysBasketForgottenInput.'
'; } public function getRecipient() { return $this->recipient; } public function getFetchDataModifier($fields) { if(isset($fields['FUSER_USER_NAME'])) { $fields['NAME'] = $fields['FUSER_USER_NAME']; unset($fields['FUSER_USER_NAME']); } return $fields; } }