Сортировка метаданных с учетом префиксов

Программирование - Практика программирования

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

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

Потом пришла следующая идея:

  1. Итак, пусть в конфигурации есть типовые объекты и наши с префиксом, например «АА_».
  2. Воспользуемся групповой заменой и установим, что будем замену производить только в свойствах. Сделаем замену «АА_» на «яяАА_», чтобы наши элементы перенестлись в конец.
  3. Отсортируем типовым способом во всех ветках метаданных.
  4. Снова сделаем обратную групповую замену «яяАА_» на «АА_».
  5. Все, получили что хотели.

См. также

Комментарии
1. Александр Капустин (kapustinag) 18.09.12 23:01 Сейчас в теме
Идея вроде на поверхности, но как-то в голову не пришла, когда было нужно...
2. Александр Думов (Akteur33) 05.05.14 14:23 Сейчас в теме
Спасибо за простую и отличную идею!
3. Михаил Кузнецов (hotey) 36 14.08.14 05:39 Сейчас в теме
Спасибо за хинт!
Интересно, у Снегопата какого-нибудь или его аналогов есть возможность сделать это в 1-2 клика?..
Например, задаешь где-то в настройках свой префикc[ы] объекта и при вызове команды он твои объекты выкидывает в конец, упорядочивая их по имени.
4. Krot B4 (KRaSH13) 19.10.15 09:26 Сейчас в теме
Идея хороша, если бы не одно большое НО: при групповой разработке заниматься переименованием всех "своих" объектов означает обязательное освобождение их от захвата в хранилище другими разработчиками.
Оставьте свое сообщение