• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/agentproducttable.php
  • Класс: BitrixCatalogAgentProductTable
  • Вызов: AgentProductTable::getMap
static function getMap(): array
{
	return [
		'ID' => new IntegerField(
			'ID',
			[
				'primary' => true,
				'autocomplete' => true,
				'title' => Loc::getMessage('CATALOG_AGENT_PRODUCT_ENTITY_ID_FIELD'),
			]
		),
		'CONTRACT_ID' => new IntegerField(
			'CONTRACT_ID',
			[
				'required' => true,
				'title' => Loc::getMessage('CATALOG_AGENT_PRODUCT_ENTITY_CONTRACT_ID_FIELD'),
			]
		),
		'CONTRACT' => new Reference(
			'CONTRACT',
			AgentContractTable::class,
			Join::on('this.CONTRACT_ID', 'ref.ID')
		),
		'PRODUCT_ID' => new IntegerField(
			'PRODUCT_ID',
			[
				'required' => true,
				'title' => Loc::getMessage('CATALOG_AGENT_PRODUCT_ENTITY_PRODUCT_ID_FIELD'),
			]
		),
		'PRODUCT_TYPE' => new EnumField(
			'PRODUCT_TYPE',
			[
				'required' => true,
				'values' => [self::PRODUCT_TYPE_PRODUCT, self::PRODUCT_TYPE_SECTION],
				'validation' => function()
				{
					return[
						new LengthValidator(null, 8),
					];
				},
				'title' => Loc::getMessage('AGENT_PRODUCT_ENTITY_PRODUCT_TYPE_FIELD'),
			]
		),
	];
}