Формулировка проблемы: в разделе «Документы» модуля «Хранилище», а именно в узле «Журналы» и его подузлах реализована сортировка документов по дате регистрации. Однако в одну и ту же дату может быть зарегистрировано множество документов, что создаёт проблемы при поиске нужного. Альтернативой (и предыдущей реализацией сортировки) этому была сортировка по номеру документа, однако она производилась лексикографически и не удовлетворяла пожеланиям клиентов.
Решение: для «Журналов» необходимо реализовать следующую функциональность — дополнительный счётчик:
счётчик определяется для каждого созданного в системе журнала;
значение счётчика сопоставляется каждому документу, попавшему в журнал, начинается с единицы и увеличивается на единицу при каждом добавлении нового документа в этот журнал;
значение счётчика никогда не сбрасывается;
к значению счётчика не должно быть доступа у пользователей;
Значение этого дополнительного счётчика должно использоваться при сортировке списка документов (обратная сортировка — первыми документами в журнале будут те, у которых значение этого счётчика наибольшее, и так далее).
Для уже имеющихся в системе на момент реализации данной задачи зарегистрированных документов необходимо проставить значения дополнительного счётчика в порядке их текущей сортировки.
Если в списке документов в журнале имеются документы без номера, то сортировка производится следующим образом: сначала отображаются документы без номера, отсортированные по дате создания (в обратном порядке), а затем — документы с номером, отсортированные по значению дополнительного счётчика (в обратном порядке).