Создание пользовательского фильтра Задача: Для раздела [Контрагенты] создать пользовательский фильтр вида «Контрагенты, для которых на закладке Знаменательные события запись с типом День рождения попадает в пределы заданного пользователем промежутка времени» Выполнение: 1. В [Администраторе] Terrasoft открыть запрос на выборку [X15 \ Workspaces \ Accounts \ General \ Main Grid \ sq_Account] . 2. В группе Where cоздать фильтр типа [Exists] с именем [AccountAnniversary]. Для этого установить курсор на группе Where и правой кнопкой мыши выбрать “Фильтр типа Exists”. 3. Отключить фильтр по умолчанию (снять галочку с фильтра). 4. На группе [Select] созданного фильтра добавить поле [tbl_AccountAnniversary1].[ID]. 5. Для подзапроса созданного фильтра указать сервис таблицы [tbl_AccountAnniversary] и псевдоним таблицы tbl_AccountAnniversary1. 6. В подзапросе фильтра создать пользовательский фильтр типа «Дата» ([DataTime User Filter]). 7. Ввести для созданного фильтра имя [AnniversaryDate], заголовок «Знаменательное событие», группу «Пользовательские фильтры», в которой появится фильтр и тип подзапроса [Test Subquery]. 8. На группе [Select] фильтра [AnniversaryDate] добавить [Колонку с текстом SQL]. Для данной колонки указать следующее выражение: DateAdd(year, DatePart(year, GetDate()) DatePart(year, [tbl_AccountAnniversary2].[AnniversaryDate]), [tbl_AccountAnniversary2].[AnniversaryDate] ) 9. Для подзапроса созданного фильтра указать сервис таблицы [tbl_AccountAnniversary] и псевдоним таблицы tbl_AccountAnniversary2. 10. Для подзапроса фильтра [AnniversaryDate] создать фильтр сравнения вида [tbl_AccountAnniversary1].[ID] = [tbl_AccountAnniversary1].[ID]. 11. Для фильтра [AccountAnniversary] создать фильтр сравнения вида [tbl_Account].[ID] = [tbl_AccountAnniversary1].[AccountID]. 12. Для фильтра [AccountAnniversary] создать фильтр пользователя для справочника, указать заголовок «Тип события», группу «Пользовательские фильтры», в которой появится фильтр, источник данных для справочника ds_AnniversaryType и подзапрос tbl_AccountAnniversary1.TypeID Рис.1. Созданный пользовательский фильтр AccountAnniversary в Terrasoft CRM Администраторе 13. Сохранить запрос на выборку. 14. Запустить Terrasoft CRM 3.x, зайти в раздел [Контрагенты], построить фильтр вида (см. рис. 2) и убедится в работоспособности фильтра. Рис.2. Построение пользовательского фильтра в Terrasoft CRM 3.x.