static function getMap()
{
return array(
'ID' => new MainEntityIntegerField('ID', array(
'primary' => true,
'autocomplete' => true,
'title' => Loc::getMessage('PRICE_ENTITY_ID_FIELD')
)),
'PRODUCT_ID' => new MainEntityIntegerField('PRODUCT_ID', array(
'required' => true,
'title' => Loc::getMessage('PRICE_ENTITY_PRODUCT_ID_FIELD')
)),
'EXTRA_ID' => new MainEntityIntegerField('EXTRA_ID', array(
'title' => Loc::getMessage('PRICE_ENTITY_EXTRA_ID_FIELD')
)),
'CATALOG_GROUP_ID' => new MainEntityIntegerField('CATALOG_GROUP_ID', array(
'required' => true,
'title' => Loc::getMessage('PRICE_ENTITY_CATALOG_GROUP_ID_FIELD')
)),
'PRICE' => new MainEntityFloatField('PRICE', array(
'required' => true,
'title' => Loc::getMessage('PRICE_ENTITY_PRICE_FIELD')
)),
'CURRENCY' => new MainEntityStringField('CURRENCY', array(
'required' => true,
'validation' => array(__CLASS__, 'validateCurrency'),
'title' => Loc::getMessage('PRICE_ENTITY_CURRENCY_FIELD')
)),
'TIMESTAMP_X' => new MainEntityDatetimeField('TIMESTAMP_X', array(
'default_value' => function(){ return new MainTypeDateTime(); },
'title' => Loc::getMessage('PRICE_ENTITY_TIMESTAMP_X_FIELD')
)),
'QUANTITY_FROM' => new MainEntityIntegerField('QUANTITY_FROM', array(
'title' => Loc::getMessage('PRICE_ENTITY_QUANTITY_FROM_FIELD')
)),
'QUANTITY_TO' => new MainEntityIntegerField('QUANTITY_TO', array(
'title' => Loc::getMessage('PRICE_ENTITY_QUANTITY_TO_FIELD')
)),
'TMP_ID' => new MainEntityStringField('TMP_ID', array(
'validation' => array(__CLASS__, 'validateTmpId'),
'title' => Loc::getMessage('PRICE_ENTITY_TMP_ID_FIELD')
)),
'PRICE_SCALE' => new MainEntityFloatField('PRICE_SCALE', array(
'required' => true,
'title' => Loc::getMessage('PRICE_ENTITY_PRICE_SCALE_FIELD')
)),
'CATALOG_GROUP' => new MainEntityReferenceField(
'CATALOG_GROUP',
'BitrixCatalogGroup',
array('=this.CATALOG_GROUP_ID' => 'ref.ID')
),
'ELEMENT' => new MainEntityReferenceField(
'ELEMENT',
'BitrixIblockElement',
array('=this.PRODUCT_ID' => 'ref.ID'),
array('join_type' => 'LEFT')
),
'PRODUCT' => new MainEntityReferenceField(
'PRODUCT',
'BitrixCatalogProduct',
array('=this.PRODUCT_ID' => 'ref.ID'),
array('join_type' => 'LEFT')
),
);
}