Сначала написал это в другом разделе, но подумал, что здесь это уместнее...
У меня есть задача, которая начинается в 23:30 и заканчивается в 00:30. Программа наотрез отказывается создавать такую задачу. Как же все таки ее создать?
PS: дату в таком виде не дает ввести. В первом окошке дает, а во втором не дает
Т.е. ввожу во втором и он в первом обнуляет до 00:00.
Вот оно! То о чем так долго спорили!
Даже меня убедили. Частично.
И вот в чем: дата начала и дата окончания нужны. Но не совсем так, как это представляется.
Задача не имеет длительности. Длительность имеет событие. Событие - это процесс работы над задачей. Процесс работы над задачей можно планировать с утра и до обеда. Саму задачу нельзя запланировать на такой же протяженный отрезок.
Поскольку разработчики сами в явной форме нигде не выразили, чем же они руководствовались, когда убрали дату начала и дату окончания и оставили просто срок, вероятно, они и сами до конца не смогли для себя это сформулировать.
Но вот этот пример все ставит на свои места.
Задача - это что-то вроде поручения подчиненному: сделать к такому-то числу. Нормальный руководитель не лезет глубже. Что сделать и к какому сроку. Все. Когда начать, когда сделать перерыв...
А вот подчиненный, чтобы выполнить эту задачу, превращает ее в
событие. Или ряд событий, разделив ее на части. Опять-таки, важен уровень абстракции: то, что является задачей для начальника, для подчиненного - целый проект. Но так глубоко копать не будем. Допустим, задача не превращается в проект. Задача - это просто задача. Но для начальника это один пункт в списке, а для подчиненного - это листы исписанной бумаги.
Думаю, такая метафора наилучшим образом передает суть:
для начальника вид сверху дает буровые установки в виде точек. И оценивает он эти точки только по тому, дают ли они нефть. А для подчиненного важна глубина скважины и другие параметры, чтобы определить, достанут ли они до нефтеносного слоя. То есть, оба видят одно и то же, но в разных проекциях. То, что имеет протяженность в вертикальной плоскости, в горизонтальной выглядит просто точкой. Вот. Родил.
А теперь внимание! Легкая шизофрения: мы начальник и мы подчиненный попеременно!
Итак, мы - начальник. Со стороны начальника: нужны ли дата начала или дата окончания задачи? Нужна ли длительность? Отвечаю: длительность нужна, чтобы определять общую загрузку подчиненных и распределять задачи между ними равномерно. Или видеть, насколько больше нагружены "рабочие лошадки", чем будущие генералы. А вот
расписание работы начальника мало интересует.
Поэтому на стадии постановки задачи нет нужды в том, чтобы определять начало, окончание и проч.
А теперь власть над нашей личностью переходит к подчиненному, которому надлежит выполнять поставленную задачу. То есть, мы - подчиненный. И перечисленных выше параметров становится явно недостаточно. Нам нужно спланировать задачу в другой плоскости. Для этого нужна кнопка "распланировать работу над задачей" (или "создать событие" или еще что-нибудь). После этого открывается новая вкладка, где есть время начала, время окончания и другие параметры. Или галочка в чек-боксе делает активными дополнительные поля. Больше того, по-видимому, необходимо предоставить пользователю возможность назначать сколько угодно отрезков начало-окончание, разделив слона на кусочки.
И вот на основании таких кусочков уже автоматически будут генерироваться "события" - календарные отрезки. Представляется, что до того у пользователя должна быть возможность выбирать, отображать ли задачу в календаре. Тоже через чек-бокс. Поставили галочку - отображается в календаре, не поставили - не отображается. А вот события уже нужны именно в календаре. У них нет другого смысла. Они не нужны в списке задач. Там они лишние. Тут как бы все решается само, выбор пункта "распланировать работу над задачей" означает, что мы хотим "размазать" задачу по календарю.
Вопрос только в наглядности планирования задачи таким образом. Мне представляется, что для этого хорошо подходит только Гантт. Так мы можем видеть, сколько отрезков приходится на определенный день и перераспределять отрезки задачи по дням. В календаре хорошо просматривать только получившийся результат - чем мы будем заниматься в определенный день. Там уже можно и часы с минутами конкретизировать.
То есть, для календарного планирования, события, созданные из задач, но такие события не нужны для управления задачами. Проставление галочки в чек-боксе также будет создавать событие, не имеющее длительности. "Висящее" над днем событие, не привязанное ко времени дня.
Резюме: Задача и событие, созданное на основании этой задачи, - это две ипостаси одной сущности. Иными словами, это вид одной сущности в разных проекциях. Но для целей ЛТ, думаю, их следует рассматривать как отдельные сущности, сохраняющие между собой связь. Задача - это точка, местоположение которой определяется точкой. Событие - это отрезок в календаре. Задачу можно считать выполненной. Событие - оно или случилось, или нет. Его нельзя выполнить. Можно только прекратить напоминание о нем. События отображаются в одном списке, задачи - в другом. Связь задачи с породившим их событием должна сохраняться, чтобы иметь возможность переходить от одного к другому и обратно. Могут быть задачи, не связанные с событиями, и события, не имеющие родительской задачи. Они, скорее, будут просто привязаны к проекту. Хотя, насчет списков, может я и не прав. Список сущностей может быть один, просто по революционной логике выборку можно делать по разным признакам. И если будет выбрано отображение по проектам, то получится, что задача является родительской сущностью по отношению к порожденным ею событиям. А можно эти события и отфильтровать.
Главным считаю разделить видение задачи со стороны начальника (постановщика задачи, вид сверху, точка) и со стороны подчиненного (исполнителя, вид в профиль, глубина). Психологически неправильно размещать параметры, задаваемые начальником и подчиненным рядом, на одной вкладке. Как минимум необходимо создать чек-бокс "распланировать работу над задачей" (типа "отображать в календаре"), после проставления галочки в котором появится возможность задавать все дополнительные параметры. Это как сетевая версия, и отношения начальник-подчиненный.
Интересно, заявит ли кто-то, что при постановке задачи в сетевой версии также крайне необходимы параметры типа "дата начала/дата окончания"? Если нет, то изложенная логика является правильной, а те, кто настаивает на заполнении соответствующих свойств задачи, не разделяют эти два способа видения задачи.
P.S. Разработчики проявили некоторую непоследовательность в версии 6.7.х, указав в поле "срок" только одну дату, но разрешив указывать время начала и время окончания. Если быть последовательными, то срок - это точка, а не отрезок. А при текущем способе назначения срока получается, что это все-таки отрезок - но куцый. Всегда не выходящий за пределы этих суток. А это мне кажется рудиментом. Вопрос, поставленный masterlex мне кажется, вполне правильным, а вот ответ - иррациональным. Как я указал в начале поста, разработчики сами плоха представляют, что значит срок. Может, то, что я написал поможет нам всем продвинуться к революции?
Вывод - в версии 6.7.х поле указания часов нужно привести в соответствие с логикой вкладки, оставив только одно окошко для указания часов, минут и секунд. Однако зачем такая точность? (я про секунды)