• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/integrity/duplicatebankdetailcriterion.php
  • Класс: Bitrix\Crm\Integrity\DuplicateBankDetailCriterion
  • Вызов: DuplicateBankDetailCriterion::prepareEntityBankDetailValues
static function prepareEntityBankDetailValues($entityTypeID, $entityID)
{
	$result = array();

	$query = new Main\Entity\Query(BankDetailTable::getEntity());
	$query->registerRuntimeField('',
		new Main\Entity\ReferenceField('REF_RQ',
			RequisiteTable::getEntity(),
			array('=this.ENTITY_ID' => 'ref.ID', '=this.ENTITY_TYPE_ID' => array('?', \CCrmOwnerType::Requisite)),
			array('join_type' => 'INNER')
		)
	);
	$bdFields = array();
	foreach (self::getFieldsMap() as $countryId => $fields)
	{
		foreach ($fields as $fieldName)
			$bdFields[$fieldName] = true;
	}
	$bdFields = array_keys($bdFields);
	$query->setSelect(
		array_merge(
			$bdFields,
			array(
				'ENTITY_TYPE_ID',
				'ENTITY_ID',
				'COUNTRY_ID',
				'REQUISITE_ENTITY_TYPE_ID' => 'REF_RQ.ENTITY_TYPE_ID',
				'REQUISITE_ENTITY_ID' => 'REF_RQ.ENTITY_ID',
				'REQUISITE_PRESET_ID' => 'REF_RQ.PRESET_ID',
				'REQUISITE_PRESET_COUNTRY_ID' => 'REF_RQ.PRESET.COUNTRY_ID'
			)
		)
	);
	$query->setFilter(array('=REF_RQ.ENTITY_TYPE_ID' => $entityTypeID, '=REF_RQ.ENTITY_ID' => $entityID));
	$res = $query->exec();
	while ($row = $res->fetch())
	{
		$result[] = $row;
	}

	return $result;
}