• Модуль: crm
  • Путь к файлу: ~/bitrix/modules/crm/lib/automation/connectors/product.php
  • Класс: Bitrix\Crm\Automation\Connectors\Product
  • Вызов: Product::getFieldsMap
static function getFieldsMap(): array
{
	static $fieldsMap = null;

	if (is_array($fieldsMap))
	{
		return $fieldsMap;
	}
	if (!Loader::includeModule('catalog'))
	{
		return [];
	}

	$fieldsMap = [
		'ID' => [
			'Name' => Loc::getMessage('CRM_AUTOMATION_CONNECTORS_PRODUCT_FIELD_ID'),
			'Type' => FieldType::INT,
		],
		'OWNER_ID' => [
			'Name' => \CCrmProductRow::GetFieldCaption('OWNER_ID'),
			'Type' => FieldType::INT,
			'Required' => true,
		],
		'OWNER_TYPE' => [
			'Name' => \CCrmProductRow::GetFieldCaption('OWNER_TYPE'),
			'Type' => FieldType::STRING,
			'Required' => true,
		],
		'PRODUCT_ID' => [
			'Name' => Loc::getMessage('CRM_AUTOMATION_CONNECTORS_PRODUCT_FIELD_PRODUCT_ID'),
			'Type' => FieldType::INT,
			'Default' => 0,
		],
		'PRODUCT_NAME' => [
			'Name' => \CCrmProductRow::GetFieldCaption('PRODUCT_NAME'),
			'Type' => FieldType::STRING,
			'Default' => '',
		],
		'PRICE_ACCOUNT' => [
			'Name' => \CCrmProductRow::GetFieldCaption('PRICE'),
			'Type' => FieldType::DOUBLE,
			'Required' => true,
			'Default' => 0.0,
		],
		'PRICE_EXCLUSIVE' => [
			'Name' => \CCrmProductRow::GetFieldCaption('PRICE_EXCLUSIVE'),
			'Type' => FieldType::DOUBLE,
			'Default' => 0.0,
		],
		'PRICE_NETTO' => [
			'Name' => Loc::getMessage('CRM_AUTOMATION_CONNECTORS_PRODUCT_FIELD_PRICE_NETTO'),
			'Type' => FieldType::DOUBLE,
			'Default' => 0.0,
		],
		'PRICE_BRUTTO' => [
			'Name' => Loc::getMessage('CRM_AUTOMATION_CONNECTORS_PRODUCT_FIELD_PRICE_BRUTTO'),
			'Type' => FieldType::DOUBLE,
			'Default' => 0.0,
		],
		'QUANTITY' => [
			'Name' => \CCrmProductRow::GetFieldCaption('QUANTITY'),
			'Type' => FieldType::DOUBLE,
			'Required' => true,
			'Default' => 1.0,
		],
		'SUM_ACCOUNT' => [
			'Name' => Loc::getMessage('CRM_AUTOMATION_CONNECTORS_PRODUCT_FIELD_SUM_ACCOUNT'),
			'Type' => FieldType::DOUBLE,
		],
		'DISCOUNT_TYPE_ID' => [
			'Name' => \CCrmProductRow::GetFieldCaption('DISCOUNT_TYPE_ID'),
			'Type' => FieldType::SELECT,
			'Options' => [
				Discount::UNDEFINED => '',
				Discount::MONETARY => '',
				Discount::PERCENTAGE => '',
			],
			'Default' => Discount::UNDEFINED,
		],
		'DISCOUNT_RATE' => [
			'Name' => \CCrmProductRow::GetFieldCaption('DISCOUNT_RATE'),
			'Type' => FieldType::DOUBLE,
			'Default' => 0.0,
		],
		'DISCOUNT_SUM' => [
			'Name' => \CCrmProductRow::GetFieldCaption('DISCOUNT_SUM'),
			'Type' => FieldType::DOUBLE,
			'Default' => 0.0,
		],
		'TAX_RATE' => [
			'Name' => \CCrmProductRow::GetFieldCaption('TAX_RATE'),
			'Type' => FieldType::DOUBLE,
		],
		'TAX_INCLUDED' => [
			'Name' => \CCrmProductRow::GetFieldCaption('TAX_INCLUDED'),
			'Type' => FieldType::BOOL,
			'Default' => false,
		],
		'MEASURE_CODE' => [
			'Name' => \CCrmProductRow::GetFieldCaption('MEASURE_CODE'),
			'Type' => FieldType::INT,
			'Default' => 0,
		],
		'MEASURE_NAME' => [
			'Name' => \CCrmProductRow::GetFieldCaption('MEASURE_NAME'),
			'Type' => FieldType::STRING,
			'Default' => '',
		],
		'SORT' => [
			'Name' => \CCrmProductRow::GetFieldCaption('SORT'),
			'Type' => FieldType::INT,
			'Default' => 0,
		],
		'XML_ID' => [
			'Name' => 'XML ID',
			'Type' => FieldType::STRING,
			'Default' => '',
		],
 		];

	$productTypeField = static::getProductTypeField();
	if (isset($productTypeField))
	{
		$fieldsMap['TYPE'] = $productTypeField;
	}

	return $fieldsMap;
}