...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/bizproc/document/valuecollection/base.php
- Класс: Bitrix\Crm\Integration\BizProc\Document\ValueCollection\Base
- Вызов: Base::loadCommunicationValues
protected function loadCommunicationValues(): void { $callId = Crm\Activity\Provider\Call::getId(); $emailId = Crm\Activity\Provider\Email::getId(); $olId = Crm\Activity\Provider\OpenLine::getId(); $webFormId = Crm\Activity\Provider\WebForm::getId(); $callDate = $emailDate = $olDate = $webFormDate = null; $ormRes = Crm\ActivityTable::getList([ 'select' => ['END_TIME', 'PROVIDER_ID'], 'filter' => [ '=COMPLETED' => 'Y', '@PROVIDER_ID' => [$callId, $emailId, $olId, $webFormId], '=BINDINGS.OWNER_TYPE_ID' => $this->typeId, '=BINDINGS.OWNER_ID' => $this->id, ], 'order' => ['END_TIME' => 'DESC'], ]); while ($row = $ormRes->fetch()) { if ($callDate === null) { if ($row['PROVIDER_ID'] === $callId) { $callDate = $row['END_TIME']; } } if ($emailDate === null) { if ($row['PROVIDER_ID'] === $emailId) { $emailDate = $row['END_TIME']; } } if ($olDate === null) { if ($row['PROVIDER_ID'] === $olId) { $olDate = $row['END_TIME']; } } if ($webFormDate === null) { if ($row['PROVIDER_ID'] === $webFormId) { $webFormDate = $row['END_TIME']; } } if ($callDate !== null && $emailDate !== null && $olDate !== null && $webFormDate !== null) { break; } } $this->document['COMMUNICATIONS.LAST_CALL_DATE'] = (string)$callDate; $this->document['COMMUNICATIONS.LAST_EMAIL_DATE'] = (string)$emailDate; $this->document['COMMUNICATIONS.LAST_OL_DATE'] = (string)$olDate; $this->document['COMMUNICATIONS.LAST_FORM_DATE'] = (string)$webFormDate; }