- Модуль: 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;
}