Страница 1 из 2

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 09:36
So8etnik
Приветствую всех знатоков и экспертов.
Кто в теме поясните пожалуйста эту проблему.

Категорически не получается настроить вид для папки среднего уровня.
Фильтр ParentName почему то работает точно так же как фильтр FolderName.

Вместо того чтобы отображать все вложенные задачи, вниз от Родителя имя которого мы указываем с этим фильтром, он просто отображает содержимое указанной папки - без вложений (то есть не показывает задачи из подпапок которые в ней находятся) ... в итоге получается что фильтр ParentName работает точно так же как фильтр FolderName.

Пример:

--> (папка) Магазин
----> (папка) Инструменты
----------> (папка) Маленькие
----------------> (задача) Купить молоток
----------------> (задача) Купить гвозди
----------> (папка) Большие
----------------> (задача) Купить дрель
----------------> (задача) Купить стремянку
----> (папка) Материалы
----------> (папка) Твердые
----------------> (задача) Купить бруски
----------------> (задача) Купить метал
----------> (папка) Жидкие
----------------> (задача) Купить краску
----------------> (задача) Купить лак

Ни фильтр FolderName ни фильтр ParentName не позволяют настроить вид отображающий все вложенные задачи из папки Инструменты или папки Материалы. И тот и другой фильтр легко выводят задачи например из папок Маленькие или Большие, но как только появляются вложения то ни один из фильтров не показывает задачи из под папок.

С фильтром FolderName все понятно, по логике он так и должен работать - выводить задачи только из указанной папки.
Но фильтр ParentName по логике должен выводить все вложенные задачи из папки родителя.

Поясните пожалуйста это ошибка в алгоритме работе фильтра или я чего то не понимаю?

И еще хотелось пояснить, что я не только ищу способ решения это проблемы, но хочу указать разработчикам на ошибку если она есть, писал в тех поддержку и они меня почему то отправили писать сюда.

Резюмирую вопрос:
- есть ли ошибка в работе фильтра? если нет то в чем отличие фильтров ParentName и FolderName?
- как можно решить задачу вышеописанную задачу? (сейчас решил через указание контекста папке и выводу активных по контексту, но констекстов уже и так хватает, хотелось бы просто фильтром)

Благодарю за внимание прочитавших и за ответы тех кто ответит.

P/S "Любые фильтры Top... тоже не позволяют вывести задачи, потому что в моем примере папка Инструменты не является папкой верхнего уровня"

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 11:50
MrCricket
Вот тут похожий вопрос: viewtopic.php?p=991#p991

Его можно решить с помощью костыля из проектов или контекстов.

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 11:55
lobaty
Может и можно, но стоит ли усложнять?So8etnik, прав. Нелогичное поведение программы. Думаю, что проще создать вкладку с необходимым фокусом?

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 12:04
MrCricket
lobaty - да, про решение с фокусом не подумал)

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 13:23
andrey
Очень хороший и непростой вопрос. Но решить его можно. Ошибки нет, все работает как предполагалось.
Проведу краткий экскурс в теорию фильтрации в MLO :)

So8etnik писал(а):Источник цитаты С фильтром FolderName все понятно, по логике он так и должен работать - выводить задачи только из указанной папки.
Но фильтр ParentName по логике должен выводить все вложенные задачи из папки родителя.

FolderName - выводит все задачи и подзадачи из папки с заданным именем
ParentName - выводит задачи у которых непосредственный родитель имеет заданное имя


Тут очень важно понимать следующую тонкость работы фильтрации в связи с иерархией.

1) Главный фильтр (устанавливаемый в Фильтр/Дополнительно) выбирает какие задачи подходят.

2) После этого, отобранные задачи нужно отобразить. И сделать это можно в двух режимах:
а) простой список
б) иерархия
С простым списком все понятно. Все отобранные задачи показываются вне иерархии (без родителей и детей)
При отображении иерархии можно выбрать показывать ли родителей отобранных задач (по умолчанию да) и показывать ли их детей (по умолчанию нет).

3) Итак ВАЖНО: главный фильтр не распространяется на родителей и детей выбранных задач, если было решено их тоже отображать в иерархии. Задачи сначала отбираются главным фильтром, а потом отображаются с родителями/детьми или без них уже без учета главного фильтра.
Как отображать родителей и детей, отобранных главным фильтром задач, устанавливаем в Фильтр/Общее/Иерархия Настроить. При этом родители показываются все до самого верха с учетом текущего фокуса, который может их ограничить.

4) Но это еще не все! Можно задать свои отдельные фильтры для родителей и детей. Т.е. задачам, отобранным главным фильтром, при показе в иерархии можно добавить не всех родителей и детей, а только некоторых. Для родителей и детей можно задать свои отдельные фильтры в Фильтр/Общее/Иерархия Настроить.

Например, можно показать все задачи, помеченные контекстом "Срочно", вместе с подзадачами, но только теми подзадачами, которые помечены красным флагом, вместе с родителями, но только вверх до родителя, который помечен звездочкой. Все это задается тремя разными фильтрами: главным, фильтр для детей, фильтр для родителей.

Полезный совет
Заметка: Для того, чтобы понять, почему задача попала в иерархию (из за главного фильтра или потому что она родитель/ребенок отфильтрованной задачи) можно поставить опцию "Выделить отфильтрованные" (Фильтр/Общее/Иерархия Настроить.) Жирные задачи в списке попали туда из-за главного(!) фильтра.



Итак исходя из теории, описанной выше, задачу So8etnik, можно решить двумя способами.

Способ 1
1) Главный фильтр оставляем пустым, чтобы показывались все задачи в иерархии.
2) Для родителей устанавливаем фильтр, чтобы показывались только задачи, содержащие "Инструменты" (Caption contains "Инструменты") в Фильтр/Общее/Иерархия Настроить.
Результат: Показаны все задачи "Инструменты" со всеми подзадачами из любого уровня.

Способ 2
Он распадается на два варианта
2.1) - Выдаст такой же результат как Способ 1, но будет сделан по-другому.
2.2) - Выдаст только подзадачи задач "Инструменты", но сами "Инструменты" не покажет.

Вот вам задачка - как реализовать (2.1) и (2.2) с учетом того, что вы только что узнали о иерархической фильтрации в MLO? При этом не учитывать команду "Фокус".


Кто догадался? Ждем ответа :)

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 15:17
MrCricket
andrey писал(а):Источник цитаты ParentName - выводит задачи у которых непосредственный родитель имеет заданное имя

andrey писал(а):Источник цитаты Жирные задачи в списке попали туда из-за главного фильтра.

andrey писал(а):Источник цитаты Способ 1
1) Главный фильтр оставляем пустым, чтобы показывались все задачи в иерархии.
2) Для родителей устанавливаем фильтр, чтобы показывались только содержащие "Инструменты" в Фильтр/Общее/Иерархия Настроить.
Результат: Показаны все задачи "Инструменты" со всеми подзадачами из любого уровня.


Вот тут мне непонятно.

Создал дерево:

2016-08-29 18_08_24-MyLifeOrganized _.png
2016-08-29 18_08_24-MyLifeOrganized _.png (27.53 КБ) 5565 просмотров


Создал вид с родительским фильтром: ParentName contains "Инстр":

2016-08-29 18_11_40-Setup filter for parent items.png
2016-08-29 18_11_40-Setup filter for parent items.png (27.63 КБ) 5565 просмотров


Подсветил жирным:

2016-08-29 18_11_51-TEST.ml - MyLifeOrganized _.png
2016-08-29 18_11_51-TEST.ml - MyLifeOrganized _.png (29.52 КБ) 5565 просмотров




Почему подсвечены задачи Купить* а не Маленькие/Большие? Ведь это именно у них непосредственный родитель это "Инструменты"?

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 17:18
andrey
MrCricket писал(а):Источник цитаты Почему подсвечены задачи Купить* а не Маленькие/Большие?

Потому что подсвечиваются задачи, удовлетворяющие главному фильтру, а у вас стоит фильтр на родителя. Главного фильтра нет - удовлетворяют все задачи. Но те, что попадают из за фильтра по родителю не подсвечиваются.

Проблема с работой фильтра ParentName!

Добавлено: 29 авг 2016, 17:23
MrCricket
Ох, точно, протупил..

А вот насчет этого можно прояснить?

andrey писал(а):Источник цитаты 2.2) - Выдаст только подзадачи задач "Инструменты", но сами "Инструменты" не покажет.


это ведь и было вами решено в

andrey писал(а):Источник цитаты Способ 1
1) Главный фильтр оставляем пустым, чтобы показывались все задачи в иерархии.
2) Для родителей устанавливаем фильтр, чтобы показывались только содержащие "Инструменты" в Фильтр/Общее/Иерархия Настроить.
Результат: Показаны все задачи "Инструменты" со всеми подзадачами из любого уровня.


Изображение

Проблема с работой фильтра ParentName!

Добавлено: 30 авг 2016, 05:37
So8etnik
andrey писал(а):Источник цитаты Очень хороший и непростой вопрос. Но решить его можно. Ошибки нет, все работает как предполагалось.
Проведу краткий экскурс в теорию фильтрации в MLO :)
Кто догадался? Ждем ответа :)

Андрей благодарю за такой подробный, развернутый ответ. Только после него я заметил что кнопка фильтрации есть еще и в иерархии.
Но я еще не разобрался с предложенными вами загадками, потому что успел найти для себя другие :))

Например когда я включаю иерархию и ставлю фильтр родительских задач ParentName contains "Имя папки", то этот вариант как бы не совсем решает поставленную задачу. Потому что если в подпапках находятся проекты, то показываются не только активные задачи и следующие действия, но еще и сами проекты, которые надо разворачивать чтобы посмотреть следующее активное действие.

При использовании моего старого решения, а именно если просто присвоить папке контекст а потом вывести все активные по контексту, то будут показаны именно следующие, активные действия на всю глубину и нечего другого. Можно ли добиться такого же эффекта при использовании фильтров в настройках иерархии?

Проблема с работой фильтра ParentName!

Добавлено: 30 авг 2016, 09:46
andrey
So8etnik, тогда уточните задачу ещё раз. Я опирался на это размытое описание:

So8etnik писал(а):Источник цитаты Вместо того чтобы отображать все вложенные задачи, вниз от Родителя имя которого мы указываем с этим фильтром, он просто отображает содержимое указанной папки - без вложений (то есть не показывает задачи из подпапок которые в ней находятся)