Advertisement
pnzdevelop

Untitled

Jun 10th, 2021
744
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.08 KB | None | 0 0
  1. <?php
  2.  
  3. namespace Divasoft\Connector;
  4.  
  5. class LastActionCrmContact extends \Bitrix\Sender\Connector {
  6.  
  7.     public function getName() {
  8.         return 'Контакты - год минус месяц от даты участия';
  9.     }
  10.  
  11.     public function getCode() {
  12.         return "my_user_lastaction";
  13.     }
  14.  
  15.     /** @return \CDBResult */
  16.     public function getData() {
  17.         $currentDate = new \Bitrix\Main\Type\Date();
  18.         $currentDate->add('-3 year -1 month +2 day');
  19.         $filter = array(
  20.             "=UF_CRM_1603446153" => $currentDate,
  21.         );
  22.        
  23.         $resultDb = \CCrmContact::GetList(array(), $filter);
  24.         while ($arResult = $resultDb->fetch()) {
  25.             $arResult['PHONES'] = $this->getFieldMulti('PHONE', $arResult['ID']);
  26.             foreach ($arResult['PHONES'] as $phone) {
  27.                 $arResult['PHONE'][] = $phone['VALUE'];
  28.             }
  29.             $arResult['EMAILS'] = $this->getFieldMulti('EMAIL', $arResult['ID']);
  30.             foreach ($arResult['EMAILS'] as $email) {
  31.                 $arResult['EMAIL'][] = $email['VALUE'];
  32.             }
  33.            
  34.             $arr[] = ['PHONE'=>$arResult['PHONE'],'EMAIL'=>$arResult['EMAIL'],'NAME'=>$arResult['NAME']];  // 'ID'=>$arResult['ID'],
  35.         }
  36.         $rs = new \CDBResult;
  37.         $rs->InitFromArray($arr);
  38.         return $rs;
  39.     }
  40.  
  41.     public function getForm() {
  42.         return "Все Контакты, у которые принимали участие в мероприятиях год назад минут 1 месяц";
  43.     }
  44.  
  45.     function getFieldMulti($TYPE_ID, $ELEMENT_ID) {
  46.         $dbResult = \CCrmFieldMulti::GetList(
  47.                         array(), array(
  48.                     'ENTITY_ID' => 'CONTACT',
  49.                     'CHECK_PERMISSIONS' => 'N',
  50.                     'TYPE_ID' => $TYPE_ID,
  51.                     'ELEMENT_ID' => $ELEMENT_ID
  52.                         )
  53.         );
  54.         $ret = [];
  55.         while ($arLead = $dbResult->GetNext()) {
  56.             $ret['n' . count($ret)] = $arLead;
  57.         }
  58.         return $ret;
  59.     }
  60.  
  61. }
  62.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement