...Человеческий поиск в разработке...
- Модуль: crm
- Путь к файлу: ~/bitrix/modules/crm/lib/recurring/entity/item/invoiceexist.php
- Класс: Bitrix\Crm\Recurring\Entity\Item\InvoiceExist
- Вызов: InvoiceExist::addExposingInvoice
protected function addExposingInvoice($fields, array $options = []) { $result = new Main\ORM\Data\AddResult(); $invoiceController = $this->getControllerInstance(); $reCalculateInvoice = false; try { $newInvoiceId = $invoiceController->Add($fields, $reCalculateInvoice, $this->templateFields['LID']); } catch (Main\SystemException $exception) { $result->addError(new Main\Error($exception->getMessage(), $exception->getCode())); return $result; } if ($newInvoiceId) { $responsibleId = (int)$fields['RESPONSIBLE_ID']; if ($responsibleId > 0 && $options['RESET_HISTORY_CREATOR_ID']) { $notificationRaw = InvoiceChangeTable::getList([ 'filter' => [ 'ORDER_ID' => $newInvoiceId, 'TYPE' => 'ORDER_ADDED' ], 'select' => ['ID'], 'limit' => 1 ]); if ($notification = $notificationRaw->fetch()) { InvoiceChangeTable::update($notification['ID'], ['USER_ID' => $responsibleId]); } } $result->setId($newInvoiceId); if (!empty($this->templateFields['REQUISITES'])) { $requisiteInvoice = $this->templateFields['REQUISITES']; EntityLink::register( \CCrmOwnerType::Invoice, $newInvoiceId, $requisiteInvoice['REQUISITE_ID'], $requisiteInvoice['BANK_DETAIL_ID'], $requisiteInvoice['MC_REQUISITE_ID'], $requisiteInvoice['MC_BANK_DETAIL_ID'] ); } } else { $result->addError(new Main\Error($invoiceController->LAST_ERROR)); } return $result; }