• Модуль: catalog
  • Путь к файлу: ~/bitrix/modules/catalog/lib/v2/BaseIblockElementEntity.php
  • Класс: BitrixCatalogv2BaseIblockElementEntity
  • Вызов: BaseIblockElementEntity::getFieldsMap
protected function getFieldsMap(): array
{
	return [
		'ID' => MapTypeCaster::NULLABLE_INT,
		'IBLOCK_ID' => MapTypeCaster::INT,
		'NAME' => MapTypeCaster::NULLABLE_STRING,
		'CODE' => MapTypeCaster::NULLABLE_STRING,
		'XML_ID' => MapTypeCaster::NULLABLE_STRING,
		'TIMESTAMP_X' => MapTypeCaster::DATETIME,
		'MODIFIED_BY' => MapTypeCaster::NULLABLE_INT,
		'DATE_CREATE' => MapTypeCaster::DATETIME,
		'CREATED_BY' => MapTypeCaster::NULLABLE_INT,
		'IBLOCK_SECTION_ID' => MapTypeCaster::NULLABLE_INT,
		'ACTIVE' => MapTypeCaster::Y_OR_N,
		'ACTIVE_FROM' => MapTypeCaster::DATETIME,
		'ACTIVE_TO' => MapTypeCaster::DATETIME,
		'SORT' => MapTypeCaster::NULLABLE_INT,
		'PREVIEW_TEXT' => MapTypeCaster::NULLABLE_STRING,
		'PREVIEW_TEXT_TYPE' => MapTypeCaster::NULLABLE_STRING,
		'DETAIL_TEXT' => MapTypeCaster::NULLABLE_STRING,
		'DETAIL_TEXT_TYPE' => MapTypeCaster::NULLABLE_STRING,

		'PREVIEW_PICTURE' => static function ($value) {
			return is_numeric($value) ? (int)$value : $value;
		},
		'DETAIL_PICTURE' => static function ($value) {
			return is_numeric($value) ? (int)$value : $value;
		},

		// ToDo make immutable
		'DETAIL_PAGE_URL' => MapTypeCaster::NOTHING,

		'QUANTITY' => MapTypeCaster::NULLABLE_FLOAT,
		'WEIGHT' => MapTypeCaster::NULLABLE_FLOAT,
		'VAT_ID' => MapTypeCaster::NULLABLE_INT,
		'VAT_INCLUDED' => MapTypeCaster::Y_OR_N,
		'PURCHASING_PRICE' => MapTypeCaster::NULLABLE_FLOAT,
		'PURCHASING_CURRENCY' => MapTypeCaster::NULLABLE_STRING,
		'BARCODE_MULTI' => MapTypeCaster::Y_OR_N,
		'QUANTITY_RESERVED' => MapTypeCaster::NULLABLE_FLOAT,
		'WIDTH' => MapTypeCaster::NULLABLE_FLOAT,
		'LENGTH' => MapTypeCaster::NULLABLE_FLOAT,
		'HEIGHT' => MapTypeCaster::NULLABLE_FLOAT,
		'MEASURE' => MapTypeCaster::NULLABLE_INT,
		'TYPE' => MapTypeCaster::NULLABLE_INT,
		'AVAILABLE' => MapTypeCaster::Y_OR_N,
		'BUNDLE' => MapTypeCaster::Y_OR_N,

		'QUANTITY_TRACE' => MapTypeCaster::Y_OR_N_OR_D,
		'CAN_BUY_ZERO' => MapTypeCaster::Y_OR_N_OR_D,
		'SUBSCRIBE' => MapTypeCaster::Y_OR_N_OR_D,

		// TODO: change this horror
		'UF_PRODUCT_GROUP' => MapTypeCaster::NULLABLE_INT,
		'UF_PRODUCT_MAPPING' => MapTypeCaster::NULLABLE_MULTI_INT,
	];
}