- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/entitybankdetail.php
- Класс: Bitrix\Crm\EntityBankDetail
- Вызов: EntityBankDetail::add
public function add($fields, $options = array())
{
unset($fields['ID'], $fields['DATE_MODIFY'], $fields['MODIFY_BY_ID']);
$fields['DATE_CREATE'] = new \Bitrix\Main\Type\DateTime();
$fields['CREATED_BY_ID'] = \CCrmSecurityHelper::GetCurrentUserID();
// rewrite some fields
$entity = RequisiteTable::getEntity();
foreach ($entity->getFields() as $field)
{
$fieldName = $field->getName();
if ($field instanceof Entity\BooleanField && array_key_exists($fieldName, $fields))
{
if ($fields[$fieldName] !== 'Y' && $fields[$fieldName] !== 'N'
&& $fields[$fieldName] !== true && $fields[$fieldName] !== false)
{
$fields[$fieldName] = $field->getDefaultValue();
}
}
}
$result = $this->checkRqFieldsBeforeSave(0, $fields);
if (!$result->isSuccess())
{
return $result;
}
$result = BankDetailTable::add($fields);
$id = $result->isSuccess() ? (int)$result->getId() : 0;
if ($id > 0)
{
$entityTypeId =
isset($fields['ENTITY_TYPE_ID'])
? (int)$fields['ENTITY_TYPE_ID']
: CCrmOwnerType::Undefined
;
$entityId = isset($fields['ENTITY_ID']) ? (int)$fields['ENTITY_ID'] : 0;
DuplicateBankDetailCriterion::registerByParent($entityTypeId, $entityId);
if ($entityTypeId === CCrmOwnerType::Requisite)
{
//region Register volatile duplicate criterion fields
DuplicateVolatileCriterion::register(
CCrmOwnerType::Requisite,
$entityId,
[FieldCategory::BANK_DETAIL]
);
//endregion Register volatile duplicate criterion fields
}
}
//region Send event
if ($id > 0)
{
$event = new Main\Event('crm', 'OnAfterBankDetailAdd', array('id' => $id, 'fields' => $fields));
$event->send();
}
//endregion Send event
return $result;
}