- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/item/invoicenew.php
- Класс: Bitrix\Crm\Recurring\Entity\Item\InvoiceNew
- Вызов: InvoiceNew::save
public function save()
{
$result = new Main\Result();
if ((int)($this->templateId) <= 0 && empty($this->templateFields))
{
$result->addError(new Main\Error('Error saving. Template invoice ID is empty.'));
return $result;
}
if (!empty($this->templateFields))
{
$r = $this->saveInvoiceTemplate();
if (!$r->isSuccess())
{
return $r;
}
}
$addResult = InvoiceRecurTable::add($this->recurringFields);
if ($addResult->isSuccess())
{
$this->id = $addResult->getId();
$result->setData([
'ID' => $this->id,
'INVOICE_ID' => $this->templateId,
]);
$eventFields = $this->recurringFields;
$eventFields['ID'] = $this->id;
Manager::initCheckAgent(Manager::INVOICE);
$event = new Main\Event("crm", static::ON_INVOICE_RECURRING_ADD_EVENT, $eventFields);
$event->send();
$entityModifyFields = [
'TYPE' => \CCrmOwnerType::InvoiceRecurringName,
'ID' => $this->id,
'FIELDS' => $eventFields
];
$event = new Main\Event("crm", static::ON_CRM_ENTITY_RECURRING_MODIFY, $entityModifyFields);
$event->send();
}
return $result;
}