public function prepareFields()
{
$fields = [
'ID' => $this->createField('ID', [
'default' => false,
'type' => 'number',
]),
'TITLE' => $this->createField('TITLE', [
'default' => true,
]),
'DATE_MODIFY' => $this->createField('DATE_MODIFY', [
'default' => true,
'type' => 'date',
'data' => [
'exclude' => [
MainUIFilterDateType::TOMORROW,
MainUIFilterDateType::NEXT_DAYS,
MainUIFilterDateType::NEXT_WEEK,
MainUIFilterDateType::NEXT_MONTH,
],
],
]),
'DATE_CREATE' => $this->createField('DATE_CREATE', [
'default' => true,
'type' => 'date',
'data' => [
'exclude' => [
MainUIFilterDateType::TOMORROW,
MainUIFilterDateType::NEXT_DAYS,
MainUIFilterDateType::NEXT_WEEK,
MainUIFilterDateType::NEXT_MONTH,
],
],
]),
'MODIFIED_BY' => $this->createField('MODIFIED_BY', [
'default' => true,
'type' => 'entity_selector',
'partial' => true,
]),
'CREATED_BY' => $this->createField('CREATED_BY', [
'default' => true,
'type' => 'entity_selector',
'partial' => true,
]),
];
if (MainLoader::includeModule('crm'))
{
$fields['PRODUCTS'] = $this->createField('PRODUCTS', [
'partial' => true,
'type' => 'entity_selector',
]);
$fields['SECTIONS'] = $this->createField('SECTIONS', [
'partial' => true,
'type' => 'entity_selector',
]);
}
if ($this->contractorsProvider)
{
$contractorsFields = $this->contractorsProvider::getDocumentsGridFilterFields();
foreach ($contractorsFields as $contractorsField)
{
$fields[$contractorsField['CODE']] = $this->createField(
$contractorsField['CODE'],
$contractorsField['PARAMS']
);
}
}
else
{
$fields['CONTRACTOR_ID'] = $this->createField('CONTRACTOR_ID', [
'partial' => true,
'type' => 'entity_selector',
'default' => true,
]);
}
return $fields;
}