• Модуль: sale
  • Путь к файлу: ~/bitrix/modules/sale/lib/entitypropertyvalue.php
  • Класс: BitrixSaleEntityPropertyValue
  • Вызов: EntityPropertyValue::constructPropertyFilter
static function constructPropertyFilter(Entity $entity) : array
{
	$filter = [
		'=ENTITY_TYPE' => static::getEntityType()
	];

	if ($entity->getPersonTypeId() > 0)
	{
		$filter['=PERSON_TYPE_ID'] = $entity->getPersonTypeId();
	}

	$subFilter = [
		'LOGIC' => 'OR',
		static::constructPropertyRelatedEntitiesFilter($entity)
	];

	if ($entity->getId() > 0)
	{
		$dbRes = static::getList([
			'select' => ['ORDER_PROPS_ID'],
			'filter' => [
				'=ENTITY_ID' => $entity->getId(),
				'=ENTITY_TYPE' => static::getEntityType()
			]
		]);

		while ($row = $dbRes->fetch())
		{
			$subFilter['@ID'][] = $row['ORDER_PROPS_ID'];
		}
	}

	$filter[] = $subFilter;

	return $filter;
}