• Модуль: catalogmobile
  • Путь к файлу: ~/bitrix/modules/catalogmobile/lib/Controller/DocumentDetails/RealizationDocumentDetails.php
  • Класс: BitrixCatalogMobileControllerDocumentDetailsRealizationDocumentDetails
  • Вызов: RealizationDocumentDetails::setShipped
private function setShipped(int $id, string $shipped): ?array
{
	if (!Loader::requireModule('crm'))
	{
		$this->addError(new Error('Module crm is not installed'));

		return null;
	}

	$this->forward(
		CrmControllerRealizationDocument::class,
		'setShipped',
		[
			'id' => $id,
			'value' => $shipped
		]
	);

	if (!empty($this->getErrors()))
	{
		$this->extractErrors();

		return null;
	}

	$shipment = ShipmentRepository::getInstance()->getById($id);
	if (!$shipment)
	{
		return null;
	}

	$fields = $shipment->getFields()->getValues();
	$fields['DOC_TYPE'] = StoreDocumentTable::TYPE_SALES_ORDERS;
	PullManager::getInstance()->sendDocumentsUpdatedEvent([
		[
			'id' => $shipment->getId(),
			'data' => [
				'fields' => $fields,
			],
		],
	]);

	return [
		'load' => $this->createLoadResponse(),
	];
}