Формулировка проблемы: в результате реализации задач #7065 и #9625 сортировка по параметру «Дата регистрации» осуществляется исключительно по значению дополнительного счетчика. В случае, когда после регистрации изменяли дату регистрации, сортировка документов не изменяется (т.к. значение дополнительного счетчика присвается однажды и не меняется), что не является очевидным для пользователей.
Решение. теперь сортировка по полю
Дата регистрации
по убыванию для журналов должна
осуществляться по следующему алгоритму:
сначала отображаются документы без номера, отсортированные по дате создания по убыванию;
затем - документы с номером, отсортированные по следующим двум критериям:
сначала по непосредственно по значениям даты регистрации
(timestamp
) по убыванию;
если в результате сортировки по первому критерию имеется несколько документов с одинаковым номером по порядку сортировки, то второй критерий сортировки - по дополнительному счетчику по убыванию.
Сортировка по полю Дата регистрации
по
возрастанию должна осуществляться:
сначала отображаются документы без номера, отсортированные по дате создания по возрастанию;
затем - документы с номером, отсортированные по следующим двум критериям:
сначала по непосредственно по значениям даты регистрации
(timestamp
) по возрастанию;
если в результате сортировки по первому критерию имеется несколько документов с одинаковым номером по порядку сортировки, то второй критерий сортировки - по дополнительному счетчику по возрастанию.
Пример ожидаемого поведения
Для примера текущей датой пусть будет 31.12.2015. В Журнале1 имеются следующие документы (условимся, что дата регистрации в карточке совпадает с фактической датой регистрации):
незарегистрированный Документ0 с датой создания 01.02.2015 зарегистрированный Документ1 с датой регистрации 01.10.2015 зарегистрированный Документ2 с датой регистрации 01.01.2015 зарегистрированный Документ3 с датой регистрации 01.07.2015 зарегистрированный Документ4 с датой регистрации 01.11.2015 зарегистрированный Документ5 с датой регистрации 01.03.2015 зарегистрированный Документ6 с датой регистрации 01.09.2015 зарегистрированный Документ7 с датой регистрации 01.01.2015 зарегистрированный Документ8 с датой регистрации 01.05.2015 незарегистрированный Документ9 с датой создания 01.04.2015
В примере Документ2 и Документ7 были зарегистрированы в один день. Пусть раньше был зарегистрирован Документ2 (его значение доп.счетчика меньше, чем у Документа7).
Пользователь сортирует список документов данного журнала по полю «Дата регистрации» по возрастанию:
Документ0 с датой создания 01.02.2015 Документ9 с датой создания 01.04.2015 Документ2 с датой регистрации 01.01.2015 Документ7 с датой регистрации 01.01.2015 Документ5 с датой регистрации 01.03.2015 Документ8 с датой регистрации 01.05.2015 Документ3 с датой регистрации 01.07.2015 Документ6 с датой регистрации 01.09.2015 Документ1 с датой регистрации 01.10.2015 Документ4 с датой регистрации 01.11.2015
Пользователь сортирует список документов данного журнала по полю «Дата регистрации» по убыванию:
Документ9 с датой создания 01.04.2015 Документ0 с датой создания 01.02.2015 Документ4 с датой регистрации 01.11.2015 Документ1 с датой регистрации 01.10.2015 Документ6 с датой регистрации 01.09.2015 Документ3 с датой регистрации 01.07.2015 Документ8 с датой регистрации 01.05.2015 Документ5 с датой регистрации 01.03.2015 Документ7 с датой регистрации 01.01.2015 Документ2 с датой регистрации 01.01.2015
Пользователь редактирует Документ7: изменяет ему дату регистрации на значение 01.12.2015. Сортировка обновится:
Документ9 с датой создания 01.04.2015 Документ0 с датой создания 01.02.2015 Документ7 с датой регистрации 01.12.2015 Документ4 с датой регистрации 01.11.2015 Документ1 с датой регистрации 01.10.2015 Документ6 с датой регистрации 01.09.2015 Документ3 с датой регистрации 01.07.2015 Документ8 с датой регистрации 01.05.2015 Документ5 с датой регистрации 01.03.2015 Документ2 с датой регистрации 01.01.2015
Пользователь регистрирует новый Документ10 задним числом: с датой регистрации 01.10.2015. Сортировка обновится:
Документ9 с датой создания 01.04.2015 Документ0 с датой создания 01.02.2015 Документ7 с датой регистрации 01.12.2015 Документ4 с датой регистрации 01.11.2015 Документ10 с датой регистрации 01.10.2015 Документ1 с датой регистрации 01.10.2015 Документ6 с датой регистрации 01.09.2015 Документ3 с датой регистрации 01.07.2015 Документ8 с датой регистрации 01.05.2015 Документ5 с датой регистрации 01.03.2015 Документ2 с датой регистрации 01.01.2015