- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/integration/documentgenerator/dataprovider/crmentitydataprovider.php
- Класс: Bitrix\Crm\Integration\DocumentGenerator\DataProvider\CrmEntityDataProvider
- Вызов: CrmEntityDataProvider::getBankDetailId
public function getBankDetailId()
{
if($this->bankDetailIds === null)
{
if($this->isLoaded())
{
$bankDetailId = null;
if(isset($this->data['BANK_DETAIL']) && $this->data['BANK_DETAIL'] instanceof DataProvider)
{
$bankDetail = $this->data['BANK_DETAIL'];
/** @var DataProvider $bankDetail */
$bankDetailId = $bankDetail->getSource();
}
elseif(!empty($this->getOptions()['VALUES']['BANK_DETAIL']))
{
$bankDetailId = $this->getOptions()['VALUES']['BANK_DETAIL'];
}
else
{
$linkData = $this->getLinkData();
if (is_array($linkData))
{
$bankDetailId = $linkData['BANK_DETAIL_ID'];
}
}
$requisiteId = DataProviderManager::getInstance()->getValueFromList($this->getRequisiteId(), true);
if(!is_array($requisiteId) && $requisiteId > 0)
{
$bankDetails = EntityBankDetail::getSingleInstance()->getList([
'order' => ['SORT' => 'ASC', 'ID' => 'ASC'],
'filter' => [
'=ENTITY_TYPE_ID' => \CCrmOwnerType::Requisite,
'=ENTITY_ID' => $requisiteId
],
'select' => ['ID', 'NAME'],
])->fetchAll();
if($bankDetails)
{
if(count($bankDetails) == 1)
{
$this->bankDetailIds = (int)$bankDetails[0]['ID'];
}
else
{
$this->bankDetailIds = [];
foreach($bankDetails as $bankDetail)
{
$this->bankDetailIds[$bankDetail['ID']] = [
'VALUE' => $bankDetail['ID'],
'TITLE' => $bankDetail['NAME'],
'SELECTED' => false,
];
if($bankDetailId && $bankDetailId == $bankDetail['ID'])
{
$this->bankDetailIds[$bankDetail['ID']]['SELECTED'] = true;
}
}
}
}
}
}
}
return $this->bankDetailIds;
}