Блок фильтрации в автоматическом запуске процессов

Добрый день.
Необходимо для определенных задач запускать бизнес-процесс. Для получение нужных задач в sq_Task был написан ряд дополнительных пользовательских фильтров, которые отображаются в разделе [Задачи] в блоке фильтрации, однако их почему-то нет в фильтрах, когда я пытаюсь настроить автоматический запуск процесса. Подскажите, в чем дело?

Нравится

11 комментариев

Олег, какую версию используете?
Проверила в 3.4.0 (3.4.0.111) - набор фильтров в окне настройки автоматического запуска процесса соответствует набору фильтров в разделе (отображаются все пользовательские фильтры select query).

бинарники 3.4.0.117, база 3.4.0.101. Вот, попробуйте найти 7 последних фильтров в окне автоматического запуска БП

Олег, Вы можете вложить сервис запросы для тестирования?

Я вложил доработанный sq_Task в своем 2ом сообщении.

Архив поврежден, поэтому не смогла загрузить сервис и протестировать. Вложите, пожалуйста, повторно.

Вот, добавлены фильтры:
1. Документ:
1.1. Тип (TaskDocumentTypeSet)
1.2. Состояние (TaskDocumentStateSet)
1.3. Группа (TaskDocumentGroupSet)
2. Договор:
2.1. Тип (TaskContractTypeSet)
2.2. Состояние (TaskContractStatusSet)
2.3. Группа (TaskContractGroupSet)

Олег, посмотрела сервис. Вы создали пользовательские фильтры без привязки к ExistsFilter.
Согласно реализации создание пользовательского фильтра предполагает привязку к ExistsFilter (рис во вложении), в таком случае мы гарантируем корректную работу.
В обратном случае могут возникать различные нюансы, подобные отсутствию фильтров в окне настройки процесса.

Действительно, изменение фильтров на Exists исправило ситуацию, пользовательские фильтры стали одинаково отображаться и в разделе [Задачи], и в окне автоматического запуска БП. Спасибо за помощь.

Но вообще хочется отметить, что это какой-то "костыль", например в моем случае использование Exists излишне.

P.S. в базовой версии сервиса sq_Task есть минимум один пользовательский фильтр не в Exists - TaskDepartmentSet.

Олег, спасибо за комментарий. Передам вопрос на рассмотрение в департамент разработки.

Олег, есть еще один вариант решения вопроса, без использования пользовательских фильтров.
Например, нужно добавить фильтр по типу документа в задаче (у Вас TaskDocumentTypeSet).

1) Добавляем в запрос sq_Task колонки для типа документа в задаче (join к таблице tbl_Document, tbl_Document.DocumentTypeID, tbl_DocumentType.Name).
2) Добавляем в датасет ds_Task поле справочника, которое называем «Тип документа». В свойстве «Группа» («Group») этого поля указываем «Документ».
3) Перезапускаем систему. После перезапуска в менеджере фильтрации видим фильтр «Документ»->«Тип документа», который работает абсолютно так же, как и фильтр, созданный пользователем. При этом он не является пользовательским фильтром и будет отображаться в автоматическом запуске процесса.

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