• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/product/systemfield/markingcodegroup.php
  • Класс: BitrixCatalogProductSystemFieldMarkingCodeGroup
  • Вызов: MarkingCodeGroup::getGridActionConfig
static function getGridActionConfig(ProductGroupAction $panel): ?array
{
	$catalog = $panel->getCatalogConfig();
	if (empty($catalog))
	{
		return null;
	}
	$allowForOffers =
		$catalog['CATALOG_TYPE'] === CCatalogSku::TYPE_OFFERS
		&& self::isUsedMarkingOffer()
	;
	if (
		$catalog['CATALOG_TYPE'] !== CCatalogSku::TYPE_CATALOG
		&& $catalog['CATALOG_TYPE'] !== CCatalogSku::TYPE_FULL
		&& $catalog['CATALOG_TYPE'] !== CCatalogSku::TYPE_PRODUCT
		&& !$allowForOffers
	)
	{
		return null;
	}

	$field = static::load();
	if (empty($field))
	{
		return null;
	}

	$config = [
		'USER_FIELD' => $field,
		'VISUAL' => [
			'LIST' => [
				'ID' => $panel->getFormRowFieldId($field['FIELD_NAME']),
				'NAME' => $panel->getFormRowFieldName($field['FIELD_NAME']),
			],
		],
	];

	if ($allowForOffers)
	{
		$config['ADDITIONAL_ITEMS'] = [
			'LIST' => [
				[
					'VALUE' => self::USE_PARENT_PRODUCT_VALUE,
					'NAME' => Loc::getMessage('MARKING_CODE_GROUP_MESS_USE_PARENT_PRODUCT_VALUE'),
				],
			]
		];
	}

	return $config;
}