- Модуль: main
- Путь к файлу: ~/bitrix/modules/main/lib/numerator/model/numerator.php
- Класс: BitrixMainNumeratorModelNumeratorTable
- Вызов: NumeratorTable::saveNumerator
static function saveNumerator($numeratorId, $numeratorFields)
{
$fields = [
'NAME' => $numeratorFields['NAME'],
'TEMPLATE' => $numeratorFields['TEMPLATE'],
'TYPE' => $numeratorFields['TYPE'],
'SETTINGS' => Json::encode($numeratorFields['SETTINGS']),
'UPDATED_AT' => new DateTime(),
'UPDATED_BY' => static::getCurrentUserId(),
'CODE' => $numeratorFields['CODE'] ?? null,
];
if ($numeratorId)
{
if (!(Numerator::load($numeratorId)))
{
$result = new UpdateResult();
$result->addError(new Error(Loc::getMessage('MAIN_NUMERATOR_EDIT_NUMERATOR_NOT_FOUND_ERROR')));
return $result;
}
$updateRes = NumeratorTable::update($numeratorId, $fields);
if ($updateRes->isSuccess())
{
$numerator = Numerator::load($numeratorId);
$isNewNumSequential = $numerator->hasSequentialNumber();
if (!$isNewNumSequential)
{
NumeratorSequenceTable::deleteByNumeratorId($numeratorId);
}
}
return $updateRes;
}
$fields['CREATED_AT'] = new DateTime();
$fields['CREATED_BY'] = static::getCurrentUserId();
return NumeratorTable::add($fields);
}