• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/grid/column/productprovider.php
  • Класс: BitrixCatalogGridColumnProductProvider
  • Вызов: ProductProvider::getQuantityColumnsDescription
protected function getQuantityColumnsDescription(): array
{
	$useSkuSelector = $this->isSkuSelectorEnabled();
	$allowProductEdit = $this->allowProductEdit();
	$useInventoryManagment = CatalogConfigState::isUsedInventoryManagement();

	$result = [];

	if (static::allowedShowQuantityColumns())
	{
		$result['QUANTITY'] = [
			'type' => GridColumnType::FLOAT,
			'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT_QUANTITY'),
			'necessary' => false,
			'editable' => $allowProductEdit && !$useInventoryManagment,
			'multiple' => false,
			'sort' => $useSkuSelector || static::needSummaryStoreAmountByPermissions() ? null : 'QUANTITY',
			'align' => 'right',
		];

		$result['QUANTITY_RESERVED'] = [
			'type' => GridColumnType::FLOAT,
			'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_PRODUCT_QUANTITY_RESERVED'),
			'necessary' => false,
			'editable' => $allowProductEdit && !$useInventoryManagment,
			'multiple' => false,
			'sort' => null,
			'align' => 'right',
		];
	}

	$result['MEASURE'] = [
		'type' => GridColumnType::DROPDOWN,
		'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_MEASURE'),
		'title' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_MEASURE'),
		'necessary' => false,
		'editable' => $allowProductEdit ? $this->getMeasureEditable() : false,
		'multiple' => false,
		'sort' => $useSkuSelector ? null : 'MEASURE',
		'align' => 'right',
	];

	$result['QUANTITY_TRACE'] = [
		'type' => GridColumnType::CHECKBOX,
		'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_QUANTITY_TRACE'),
		'title' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_QUANTITY_TRACE'),
		'necessary' => false,
		'editable' => $allowProductEdit,
		'multiple' => false,
		'sort' => null,
		'align' => 'right',
	];

	$result['CAN_BUY_ZERO'] = [
		'type' => GridColumnType::CHECKBOX,
		'name' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_CAN_BUY_ZERO'),
		'title' => Loc::getMessage('PRODUCT_COLUMN_PROVIDER_FIELD_TITLE_CAN_BUY_ZERO'),
		'necessary' => false,
		'editable' => $allowProductEdit,
		'multiple' => false,
		'sort' => null,
		'align' => 'right',
	];

	return $result;
}