• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/document/action/barcode/addstorebarcodeaction.php
  • Класс: BitrixCatalogDocumentActionBarcodeAddStoreBarcodeAction
  • Вызов: AddStoreBarcodeAction::execute
public function execute(): Result
{
	$result = new Result();

	$row = $this->getBarcodeRow();
	if ($row)
	{
		if ($this->storeId === (int)$row['STORE_ID'])
		{
			// no changes - no action
			return $result;
		}

		$id = CCatalogStoreBarCode::Update($row['ID'], [
			'STORE_ID' => $this->storeId,
			'MODIFIED_BY' => $this->userId,
		]);
	}
	else
	{
		$id = CCatalogStoreBarCode::add([
			'PRODUCT_ID' => $this->productId,
			'STORE_ID' => $this->storeId,
			'BARCODE' => $this->barcode,
			'MODIFIED_BY' => $this->userId,
			'CREATED_BY' => $this->userId,
		]);
	}

	if (!$id)
	{
		$result->addError(new Error('Can't save barcode'));
	}

	return $result;
}