static function getMap()
{
return [
new MainEntityIntegerField('ID', [
'primary' => true,
'autocomplete' => true,
]),
new MainEntityBooleanField('ACTIVE', [
'values' => array('N', 'Y'),
'default_value' => 'Y',
]),
new MainEntityStringField('NAME', [
'required' => true,
'validation' => function() {
return [
new MainORMFieldsValidatorsLengthValidator(1, 100),
];
}
]),
new MainEntityStringField('CODE'),
new MainEntityStringField('REGION'),
new MainEntityIntegerField('SORT', [
'default_value' => 500,
]),
new MainEntityDatetimeField('CREATE_TIME', [
'required' => true,
'default_value' => function(){return new MainTypeDateTime();},
]),
new MainEntityDatetimeField('UPDATE_TIME', [
'default_value' => function(){return new MainTypeDateTime();},
]),
new MainEntityIntegerField('CREATED_BY', [
'default_value' => function()
{
return Driver::getInstance()->getUserId();
}
]),
new MainEntityIntegerField('UPDATED_BY'),
new MainEntityStringField('MODULE_ID', [
'required' => true,
]),
new MainEntityIntegerField('FILE_ID', [
'required' => true,
]),
new MainEntityStringField('BODY_TYPE', [
'required' => true,
'validation' => function()
{
return [
function($value)
{
if(is_a($value, Body::class, true))
{
return true;
}
else
{
return Loc::getMessage('DOCUMENTGENERATOR_MODEL_TEMPLATE_CLASS_VALIDATION', ['#CLASSNAME#' => $value, '#PARENT#' => Body::class]);
}
},
];
},
]),
new MainEntityReferenceField(
'PROVIDER',
'BitrixDocumentGeneratorModelTemplateProvider',
['=this.ID' => 'ref.TEMPLATE_ID']
),
new MainEntityReferenceField(
'USER',
'BitrixDocumentGeneratorModelTemplateUser',
['=this.ID' => 'ref.TEMPLATE_ID']
),
new MainEntityIntegerField('NUMERATOR_ID'),
new MainEntityBooleanField('WITH_STAMPS', [
'values' => ['N', 'Y'],
'default_value' => 'N',
]),
new MainEntityEnumField('PRODUCTS_TABLE_VARIANT', [
'values' => self::getProductsTableVariantList(),
'default_value' => self::PRODUCTS_TABLE_VARIANT_ALL,
]),
new MainEntityBooleanField('IS_DELETED', [
'values' => ['N', 'Y'],
'default_value' => 'N',
]),
];
}