• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/activity/lightcounter/actcounterlighttimerepo.php
  • Класс: Bitrix\Crm\Activity\LightCounter\ActCounterLightTimeRepo
  • Вызов: ActCounterLightTimeRepo::minLightTimeByItemIdentifier
public function minLightTimeByItemIdentifier(ItemIdentifier $identifier, ?int $responsibleId = null): DateTime
{
	$query = ActCounterLightTimeTable::query()
		->addSelect('LIGHT_COUNTER_AT')
		->registerRuntimeField(
			'',
			new ReferenceField('B',
				ActivityBindingTable::getEntity(),
				['=ref.ACTIVITY_ID' => 'this.ACTIVITY_ID'],
			)
		)
		->where('B.OWNER_ID', '=', $identifier->getEntityId())
		->where('B.OWNER_TYPE_ID', '=', $identifier->getEntityTypeId())
		->addOrder('LIGHT_COUNTER_AT', 'ASC')
		->setLimit(1);

	if ($responsibleId !== null)
	{
		$query->registerRuntimeField(
			'',
			new ReferenceField('A',
				ActivityTable::getEntity(),
				['=ref.ID' => 'this.ACTIVITY_ID'],
			)
		);
		$query->where('A.RESPONSIBLE_ID', $responsibleId);
	}

	$row = $query->fetch();

	return $row['LIGHT_COUNTER_AT'] ?? CCrmDateTimeHelper::getMaxDatabaseDateObject();
}