- Модуль: sale
- Путь к файлу: ~/bitrix/modules/sale/lib/orderbase.php
- Класс: BitrixSaleOrderBase
- Вызов: OrderBase::add
protected function add()
{
global $USER;
$result = new Result();
$currentDateTime = new TypeDateTime();
if (!$this->getField('DATE_UPDATE'))
{
$this->setField('DATE_UPDATE', $currentDateTime);
}
if (!$this->getField('DATE_INSERT'))
{
$this->setField('DATE_INSERT', $currentDateTime);
}
$fields = $this->fields->getValues();
if (is_object($USER) && $USER->isAuthorized())
{
$fields['CREATED_BY'] = $USER->getID();
$this->setFieldNoDemand('CREATED_BY', $fields['CREATED_BY']);
}
if (array_key_exists('REASON_MARKED', $fields) && mb_strlen($fields['REASON_MARKED']) > 255)
{
$fields['REASON_MARKED'] = mb_substr($fields['REASON_MARKED'], 0, 255);
}
$fields['RUNNING'] = 'Y';
$r = $this->addInternal($fields);
if (!$r->isSuccess())
{
return $result->addErrors($r->getErrors());
}
if ($resultData = $r->getData())
{
$result->setData($resultData);
}
$id = $r->getId();
$this->setFieldNoDemand('ID', $id);
$result->setId($id);
$this->setAccountNumber();
return $result;
}