Расширение функционала базовой фильтрации

Здравствуйте!

Столкнулись с задачей, когда необходимо переделать базовую фильтрацию "FixedFilters" для расписания. Идея в том, чтобы вместо кнопок "Сегодня" и "Текущая неделя" сделать 4 кнопки, которые будут показывать определенные недели в году (например кнопка "1" будет показывать неделю, по которой была зарегистрирована 1ая запись для данного объекта). Подскажите, пожалуйста, как лучше всего будет организовать подобное?

Нравится

2 комментария

Никита, добрый день!

К сожалению, в базовой версии продукта, пользовательскими средствами настроить фиксированный фильтр в разделе нет возможности.
Данный запрос можно реализовать в рамках проектной доработки. В данном варианте, я могу связать Вас с коммерческим департаментом.

Как пример, можете посмотреть реализованный функционал (фиксированный фильтр по ответственному и фиксированный фильтр по периоду) в базовой версии и сделать по на подобии:

this.fixedFilterConfig = {
entitySchema: Activity,
filters: [
{
	  name: 'PeriodFilter',
	  caption: resources.localizableStrings.PeriodFilterCaption,
	  dataValueType: Terrasoft.DataValueType.DATE,
	  startDate: {
			   columnName: 'StartDate',
			   defValue: Terrasoft.startOfWeek(new Date())
	  },
	  dueDate: {
			   columnName: 'DueDate',
			   defValue: Terrasoft.endOfWeek(new Date())
	  }
},
{
	  name: 'Owner',
	  caption: resources.localizableStrings.OwnerFilterCaption,
	  columnName: 'Owner',
	  defValue: Terrasoft.SysValue.CURRENT_USER_CONTACT,
	  dataValueType: Terrasoft.DataValueType.LOOKUP,
	  filter: BaseFiltersGenerateModule.OwnerFilter,
	  appendFilter: function(filterInfo) {
			   var filter;
			   if (filterInfo.value && filterInfo.value.length > 0) {
						 filter = Terrasoft.createColumnInFilterWithParameters(
								  '[ActivityParticipant:Activity].Participant',
								  filterInfo.value);
			   }
			   return filter;
	  }
}
]
};

Дмитрий, спасибо за совет! Попробуем на основе этого что-то придумать.

Показать все комментарии