...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/attribute/fieldattributemanager.php
- Класс: Bitrix\Crm\Attribute\FieldAttributeManager
- Вызов: FieldAttributeManager::checkPhaseCondition
static function checkPhaseCondition( $entityTypeID, array $entityData, $startPhase, $finishPhase, array $options = null ) { //If Start Phase and Finish Phase are empty, then field is required always. if($startPhase === '' && $finishPhase === '') { return true; } if(!is_array($options)) { $options = array(); } if($entityTypeID === CCrmOwnerType::Deal) { $categoryID = isset($entityData['CATEGORY_ID']) ? (int)$entityData['CATEGORY_ID'] : -1; if($categoryID < 0 && isset($options['CATEGORY_ID'])) { $categoryID = $options['CATEGORY_ID']; } $startStageSort = \CCrmDeal::GetStageSort($startPhase, $categoryID); $finishStageSort = \CCrmDeal::GetStageSort($finishPhase, $categoryID); $stageID = isset($options['STAGE_ID']) ? $options['STAGE_ID'] : (isset($entityData['STAGE_ID']) ? $entityData['STAGE_ID'] : ''); $stageSort = \CCrmDeal::GetStageSort($stageID, $categoryID); return($stageSort >= $startStageSort && $stageSort <= $finishStageSort); } if($entityTypeID === CCrmOwnerType::Lead) { $startStatusSort = \CCrmLead::GetStatusSort($startPhase); $finishStatusSort = \CCrmLead::GetStatusSort($finishPhase); $statusID = isset($options['STATUS_ID']) ? $options['STATUS_ID'] : (isset($entityData['STATUS_ID']) ? $entityData['STATUS_ID'] : ''); $statusSort = \CCrmLead::GetStatusSort($statusID); return($statusSort >= $startStatusSort && $statusSort <= $finishStatusSort); } if($entityTypeID === CCrmOwnerType::Contact) { // There are no statuses for contacts yet return true; } if($entityTypeID === CCrmOwnerType::Company) { // There are no statuses for companies yet return true; } return false; }